diff --git a/_bower.json b/_bower.json new file mode 100644 index 0000000..eeb0eec --- /dev/null +++ b/_bower.json @@ -0,0 +1,38 @@ +{ + "name": "altair_admin_landing_page", + "authors": [ + "tzd" + ], + "description": "Landing Page for Material Design Premium Admin Template", + "main": [ + "index.html" + ], + "keywords": [ + "admin", + "panel", + "material", + "design", + "landing page" + ], + "license": "http://themeforest.net/licenses", + "homepage": "http://altair.tzdthemes.com", + "private": true, + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], + "dependencies": { + "jquery": "~3.4.1", + "jquery-bez": "~1.0.11", + "marked": "~0.8.0", + "matchMedia": "~0.3.2", + "uikit": "#v2/dist", + "waypoints": "^4.0.1" + }, + "resolutions": { + "jquery": "~3.4.1" + } +} diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 0000000..6bc2b79 --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,5996 @@ +/* +* Altair Admin Landing Page +* author: tzd +* +* Content: +* 1. variables/mixins +* 2. UIkit custom styles +* 3. custom components +* 4. material design styles +* 5. partials (header,sidebars,top bar) +* 6. altair landing page styles +* +*/ +/* 1. altair variables/mixins ======================== */ +/* 2. UIkit custom styles ============================ */ +/* animations */ +[class*="uk-animation-"] { + -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-animation-duration: 560ms; + animation-duration: 560ms; +} +/* alerts */ +.uk-alert { + border: none; + background: #1976d2; + color: #fff; + text-shadow: none; + padding-right: 32px; + position: relative; + display: block; +} +.uk-alert-success { + background: #8bc34a !important; +} +.uk-alert-danger { + background: #e53935 !important; +} +.uk-alert-warning { + background: #ffa000 !important; +} +.uk-alert-info { + background: #0097a7 !important; +} +.uk-alert-large { + padding: 24px 32px 24px 24px; +} +.uk-alert-close { + position: absolute; + top: 10px; + right: 8px; + float: none !important; + margin: 0 !important; +} +.uk-alert-close:after { + color: #fff !important; +} +/* badges */ +.uk-badge { + background: #0097a7; + padding: 2px 6px; + border: none; + border-radius: 2px; + text-shadow: none; + font-size: 11px; + line-height: 15px; + font-weight: 400; +} +.uk-badge-primary { + background: #2196f3; +} +.uk-badge-danger { + background: #e53935; +} +.uk-badge-warning { + background: #ffa000; +} +.uk-badge-success { + background: #7cb342; +} +.uk-badge-muted { + background: #bdbdbd; +} +.uk-badge-notification { + border-radius: 20px; +} +.uk-badge.inline-label { + vertical-align: 1px; + margin-left: 4px; +} +.uk-badge-outline { + border: 1px solid rgba(0, 0, 0, 0.12); + background: #fff; + color: #212121; + padding-bottom: 0; + line-height: 16px; +} +/* buttons */ +.uk-button { + font-weight: 400; + border-radius: 2px; + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); +} +/* comments */ +.uk-comment-list > li + li { + border-top: 1px dashed rgba(0, 0, 0, 0.12); + margin-top: 16px !important; +} +.uk-comment-list .uk-comment + ul { + margin: 8px 0 0 0; +} +@media only screen and (min-width: 768px) { + .uk-comment-list .uk-comment + ul { + padding-left: 48px; + } +} +.uk-comment-header { + padding: 16px 8px 8px; + border: none; + background: none; + margin-bottom: 0; +} +.uk-comment-title { + margin: 0; + font-size: 14px; + line-height: 20px; +} +/* dialog modals */ +.uk-modal { + z-index: 1304; + background: rgba(0, 0, 0, 0.5); + transition: opacity 250ms ease-out; + overflow: auto !important; +} +.uk-modal.uk-modal-no-backdrop { + background: transparent; +} +.uk-modal-dialog { + border-radius: 2px; + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + padding: 24px; + display: block !important; + -webkit-animation: none !important; + animation: none !important; + transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 280ms ease-in; + transform: scale(0); +} +.uk-open .uk-modal-dialog { + transform: scale(1); +} +.uk-modal-dialog .uk-modal-header { + background: none; + border-bottom: none; + margin: 0 -24px 24px; + padding: 0 32px 0 24px; + overflow: hidden; +} +.uk-modal-dialog .uk-modal-header .uk-modal-title { + margin: 0; + font: 500 18px / 28px "Roboto", sans-serif; +} +.uk-modal-dialog .uk-modal-header .uk-modal-title span { + font-size: 16px; + display: block; + color: #727272; +} +.uk-modal-dialog .uk-modal-header .material-icons { + font-size: 24px; + vertical-align: -4px; + cursor: default; +} +.uk-modal-dialog .uk-modal-footer { + margin: 16px -16px -16px; + padding: 16px; + background: #fff; + border-top: none; +} +.uk-modal-dialog .uk-modal-footer:before, +.uk-modal-dialog .uk-modal-footer:after { + content: " "; + display: table; +} +.uk-modal-dialog .uk-modal-footer:after { + clear: both; +} +.uk-modal-dialog .uk-modal-footer .md-icon-btn { + margin-top: 2px; +} +.uk-modal-dialog .uk-modal-caption { + bottom: 16px; + margin: 0 32px; +} +.uk-modal-dialog > .uk-close:first-child { + top: 8px; + right: 8px; + position: absolute; + float: none; + margin: 0; +} +.uk-modal-dialog-lightbox { + padding: 0; +} +.uk-modal-dialog-lightbox > .uk-close:first-child { + top: -11px; + right: -11px; + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + border: none; +} +.uk-modal-dialog .uk-overflow-container { + margin: 16px 0; +} +.uk-modal .uk-margin.uk-modal-content { + margin-bottom: 0; +} +.uk-modal.uk-modal-dialog-replace .uk-modal-content { + font-size: 18px; +} +.uk-modal-spinner { + -webkit-animation: uk-rotate 2s infinite linear; + animation: uk-rotate 2s infinite linear; + margin-left: -12px; + margin-top: -17px; + left: 50%; + right: auto; +} +/* dropdowns */ +.uk-dropdown { + transform: scale(0.25, 0); + opacity: 0; + transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1); + -webkit-animation: none !important; + animation: none !important; + transform-origin: 50% 0 !important; + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + border: none; + border-radius: 2px; +} +.uk-dropdown.uk-dropdown-xlarge { + width: 360px; +} +@media only screen and (max-width: 479px) { + .uk-dropdown.uk-dropdown-xlarge { + width: 260px; + } +} +.uk-dropdown.uk-dropdown-large { + width: 260px; +} +.uk-dropdown.uk-dropdown-small { + width: 160px; +} +.uk-dropdown > ul > li > a { + font-size: 14px; + color: #212121; +} +.uk-dropdown > ul > li > a:hover { + background: rgba(0, 0, 0, 0.085); +} +.uk-dropdown > ul > li.uk-active > a { + background: rgba(0, 0, 0, 0.085); +} +.uk-dropdown > ul > li.padding_sm { + padding: 2px 4px; +} +.uk-dropdown > ul > li.padding_md { + padding: 4px 8px; +} +.uk-dropdown.dropdown-modal { + z-index: 1310; +} +.uk-dropdown.dropdown-fs { + z-index: 9999; +} +.uk-dropdown.uk-dropdown-scrollable { + -webkit-overflow-scrolling: touch; +} +[data-uk-dropdown*="top-"] .uk-dropdown { + transform-origin: 50% 100% !important; +} +[data-uk-dropdown*="left-"] .uk-dropdown { + transform-origin: 100% 50% !important; +} +[data-uk-dropdown*="right-"] .uk-dropdown { + transform-origin: 0 50% !important; +} +[data-uk-dropdown*='justify'] { + position: static !important; +} +[data-uk-dropdown*='justify'] [class*="uk-dropdown-width"] { + left: 0 !important; + width: 100% !important; + min-width: inherit !important; + margin-left: 0 !important; +} +.uk-dropdown-active { + display: block !important; +} +.uk-dropdown-shown { + transform: scale(1, 1); + opacity: 1; +} +.uk-nav-dropdown > li > a:focus, +.uk-nav-dropdown > li > a:hover { + text-shadow: none; + box-shadow: none; + color: #212121; + background: rgba(153, 153, 153, 0.2); +} +/* forms */ +.uk-form input:not([type]), +.uk-form input[type=color], +.uk-form input[type=date], +.uk-form input[type=datetime-local], +.uk-form input[type=email], +.uk-form input[type=month], +.uk-form input[type=number], +.uk-form input[type=password], +.uk-form input[type=search], +.uk-form input[type=tel], +.uk-form input[type=text], +.uk-form input[type=time], +.uk-form input[type=url], +.uk-form input[type=week], +.uk-form select, +.uk-form textarea { + box-sizing: border-box; + padding: 8px; + border: 1px solid rgba(0, 0, 0, 0.12); + transition: border 200ms ease-in; + resize: none; +} +.uk-form input:not([type]):focus, +.uk-form input[type=color]:focus, +.uk-form input[type=date]:focus, +.uk-form input[type=datetime-local]:focus, +.uk-form input[type=email]:focus, +.uk-form input[type=month]:focus, +.uk-form input[type=number]:focus, +.uk-form input[type=password]:focus, +.uk-form input[type=search]:focus, +.uk-form input[type=tel]:focus, +.uk-form input[type=text]:focus, +.uk-form input[type=time]:focus, +.uk-form input[type=url]:focus, +.uk-form input[type=week]:focus, +.uk-form select:focus, +.uk-form textarea:focus { + background: none; + border-color: #2196f3; +} +.uk-form textarea { + transition: border-color 200ms ease-in, height 280ms ease-in; +} +.uk-form-row { + transition: all 200ms ease-out; +} +.uk-form-row + .uk-form-row { + margin-top: 24px; +} +.uk-form-stacked .uk-form-label { + font-weight: 500; + font-size: 13px; + display: block; + padding-bottom: 8px; +} +.uk-form-stacked .uk-form-label + p { + margin-top: 0; +} +.uk-form-help-block { + display: block; + font-size: 12px; + color: #727272; + padding: 4px 0 0 0; + font-style: italic; +} +.uk-form-width-large, +.uk-form-width-medium, +.uk-form-width-small, +.uk-form-width-mini { + max-width: 100%; +} +/* grid */ +.uk-grid + .uk-grid, +.uk-grid-margin, +.uk-grid > * > .uk-panel + .uk-panel { + margin-top: 48px; +} +.uk-grid.uk-grid-small + .uk-grid-small, +.uk-grid.uk-grid-small > * > .uk-panel + .uk-panel, +.uk-grid.uk-grid-small > .uk-grid-margin { + margin-top: 10px; +} +/* icons */ +[class*="uk-icon-"] { + color: #727272; +} +/* navbar */ +.uk-navbar { + border-radius: 0; + border: none; + box-sizing: border-box; +} +.uk-navbar-brand { + line-height: 64px; + display: inline-block; + margin: 0; + text-shadow: none; + color: #fff; +} +.uk-navbar-nav > li > a { + height: 64px; + text-shadow: none; + font-size: 16px; + border-radius: 0 !important; + line-height: 68px; + border: none !important; + margin: 0; +} +.uk-navbar-nav > li > a:hover, +.uk-navbar-nav > li > a:active { + background: none; +} +.uk-navbar-nav > li > a.uk-navbar-nav-subtitle { + line-height: 50px; + margin: 0; +} +.uk-navbar-nav > li > a.uk-navbar-nav-subtitle > div { + margin-top: -12px; + font-size: 11px; +} +/* panels */ +.uk-panel-box { + border-radius: 2px; + background: #fff; + border-color: rgba(0, 0, 0, 0.12); +} +.uk-panel-box .uk-panel-teaser { + border-radius: 2px 2px 0 0; +} +/* tables */ +.uk-table td { + border-bottom-color: rgba(0, 0, 0, 0.12); +} +.uk-table th { + border-bottom: 1px #444; +} +.uk-table-nowrap td, +.uk-table-nowrap th { + white-space: nowrap; +} +.uk-table-align-vertical td, +.uk-table-align-vertical th { + vertical-align: middle; +} +.uk-table-no-border td { + border-bottom-color: transparent; +} +/* sticky */ +.uk-sticky-placeholder .uk-active { + z-index: 1094; +} +/* subnav */ +.uk-subnav-pill > * > * { + color: #212121; +} +.uk-subnav-pill > .uk-active > * { + background: #7cb342; +} +/* tables */ +.uk-table thead th { + border-bottom: 2px solid rgba(0, 0, 0, 0.12); +} +.uk-table thead th, +.uk-table tfoot td, +.uk-table tfoot th { + font-style: normal; + font-weight: 400; + color: #727272; + font-size: 14px; +} +.uk-table td { + border-bottom-color: #e0e0e0; +} +.uk-table tfoot td, +.uk-table tfoot th { + border-top: 2px solid rgba(0, 0, 0, 0.12); + border-bottom: none; +} +.uk-table-striped tbody tr:nth-of-type(odd) { + background: rgba(0, 0, 0, 0.085); +} +.uk-table-hover tbody tr:hover { + background: rgba(0, 0, 0, 0.085); +} +/* thumbnails */ +.uk-thumbnail { + border-radius: 0; + border-color: rgba(0, 0, 0, 0.12); +} +.uk-thumbnail-caption { + padding: 4px 4px 0; + line-height: 20px; + color: #727272; + font-size: 12px; +} +/* utilities */ +.uk-text-small { + font-size: 12px; +} +.uk-text-muted { + color: #757575 !important; +} +.uk-text-primary { + color: #2196f3 !important; +} +.uk-text-danger { + color: #e53935 !important; +} +.uk-text-success { + color: #7cb342 !important; +} +.uk-text-warning { + color: #ffa000 !important; +} +.uk-margin-bottom { + margin-bottom: 16px !important; +} +.uk-margin-small-bottom { + margin-bottom: 8px !important; +} +.uk-margin-medium-bottom { + margin-bottom: 32px !important; +} +.uk-margin-large-bottom { + margin-bottom: 48px !important; +} +.uk-margin-medium-top { + margin-top: 32px !important; +} +.uk-margin-large-top { + margin-top: 48px !important; +} +.uk-margin-right { + margin-right: 16px !important; +} +.uk-margin-medium-right { + margin-right: 32px !important; +} +.uk-close { + font-size: 18px; + opacity: 1; +} +.uk-close:hover, +.uk-close:focus { + opacity: 1; +} +.uk-close:after { + opacity: 1 !important; + color: #727272; + content: '\e5cd'; + font-family: "Material Icons"; +} +/* ------------ Components ------------ */ +/* accordion */ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Accordion + ========================================================================== */ +/* Sub-object: `uk-accordion-title` + ========================================================================== */ +.uk-accordion-title { + margin-top: 0; + margin-bottom: 15px; + padding: 5px 15px; + background: #f5f5f5; + font-size: 18px; + line-height: 24px; + cursor: pointer; + border: 1px solid #ddd; + border-radius: 4px; +} +/* Sub-object: `uk-accordion-content` + ========================================================================== */ +.uk-accordion-content { + padding: 0 15px 15px 15px; +} +/* + * Micro clearfix to make panels more robust + */ +.uk-accordion-content:before, +.uk-accordion-content:after { + content: ""; + display: table; +} +.uk-accordion-content:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-accordion-content > :last-child { + margin-bottom: 0; +} +.uk-accordion-title { + background: rgba(153, 153, 153, 0.2); + border-radius: 0; + border: none; + margin: 0 0 4px; + font-size: 15px; + font-weight: 400; + padding: 8px 24px 8px 16px; + position: relative; +} +.uk-accordion-title:after { + content: '\e313'; + font-family: "Material Icons"; + font-size: 18px; + position: absolute; + top: 8px; + right: 8px; + display: block; + color: #727272; + transition: transform 280ms; +} +.uk-accordion-title.uk-active:after { + transform: rotate(-180deg); +} +.uk-accordion-title-primary { + background: #2196f3; + color: #fff; +} +.uk-accordion-title-primary:after { + color: #fff; +} +.uk-accordion-title-danger { + background: #e53935; + color: #fff; +} +.uk-accordion-title-danger:after { + color: #fff; +} +.uk-accordion-title-success { + background: #7cb342; + color: #fff; +} +.uk-accordion-title-success:after { + color: #fff; +} +.uk-accordion-title-warning { + background: #ffa000; + color: #fff; +} +.uk-accordion-title-warning:after { + color: #fff; +} +.uk-accordion-content { + padding: 16px; +} +.uk-accordion-alt .uk-accordion-title { + background: #fff; + margin: 0; + padding: 16px 24px 16px 48px; + border-top: 1px solid rgba(0, 0, 0, 0.12); +} +.uk-accordion-alt .uk-accordion-title:first-child { + border-top: none; +} +.uk-accordion-alt .uk-accordion-title:after { + color: #2196f3; + content: '\e145'; + right: auto; + left: 16px; + top: 16px; +} +.uk-accordion-alt .uk-accordion-title.uk-active:after { + transform: rotate(-180deg); + content: '\e15b'; +} +.uk-accordion-alt .uk-accordion-content { + padding: 24px; +} +/* dotnav */ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Dotnav + ========================================================================== */ +/* + * 1. Gutter + * 2. Remove default list style + */ +.uk-dotnav { + display: flex; + flex-wrap: wrap; + /* 1 */ + margin-left: -15px; + margin-top: -15px; + /* 2 */ + padding: 0; + list-style: none; +} +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + */ +.uk-dotnav > * { + /* 1 */ + flex: none; + /* 2 */ + padding-left: 15px; + margin-top: 15px; +} +/* + * DEPRECATED IE9 Support + */ +.uk-dotnav:before, +.uk-dotnav:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-dotnav:after { + clear: both; +} +.uk-dotnav > * { + float: left; +} +/* Items + ========================================================================== */ +/* + * Items + * 1. Hide text if present + */ +.uk-dotnav > * > * { + display: block; + box-sizing: content-box; + width: 20px; + height: 20px; + border-radius: 50%; + background: rgba(50, 50, 50, 0.1); + /* 1 */ + text-indent: 100%; + overflow: hidden; + white-space: nowrap; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-dotnav > * > :hover, +.uk-dotnav > * > :focus { + background: rgba(50, 50, 50, 0.4); + /* 2 */ + outline: none; +} +/* OnClick */ +.uk-dotnav > * > :active { + background: rgba(50, 50, 50, 0.6); +} +/* Active */ +.uk-dotnav > .uk-active > * { + background: rgba(50, 50, 50, 0.4); +} +/* Modifier: `uk-dotnav-contrast` + ========================================================================== */ +.uk-dotnav-contrast > * > * { + background: rgba(255, 255, 255, 0.4); +} +/* + * Hover + * 1. Apply hover style also to focus state + */ +.uk-dotnav-contrast > * > :hover, +.uk-dotnav-contrast > * > :focus { + background: rgba(255, 255, 255, 0.7); +} +/* OnClick */ +.uk-dotnav-contrast > * > :active { + background: rgba(255, 255, 255, 0.9); +} +/* Active */ +.uk-dotnav-contrast > .uk-active > * { + background: rgba(255, 255, 255, 0.9); +} +/* Modifier: 'uk-dotnav-vertical' + ========================================================================== */ +/* + * DEPRECATED + */ +.uk-dotnav-vertical { + flex-direction: column; +} +/* + * DEPRECATED IE9 Support + */ +.uk-dotnav-vertical > * { + float: none; +} +/* autocomplete, timepicker */ +.uk-autocomplete .uk-dropdown { + display: block; + max-height: 0; + padding: 0; + overflow-x: hidden; + overflow-y: auto; + border-radius: 0; + border: none; + transform: scale(0.25, 0); + opacity: 0; + transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1); + -webkit-animation: none !important; + animation: none !important; + transform-origin: 0 0; +} +.uk-autocomplete.uk-open .uk-dropdown { + transform: scale(1); + opacity: 1; + max-height: 210px; +} +[data-uk-autocomplete] .uk-dropdown { + width: 100%; + box-sizing: border-box; +} +[data-uk-autocomplete] .uk-dropdown .uk-nav { + margin: 0; +} +/* slideshow */ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Slideshow + ========================================================================== */ +/* + * 1. Create position context + * 2. Create stacking context to prevent z-index issues with other components + * 3. Set width because child elements are positioned absolute. Height is set via JS + * 4. Reset list style + * 5. Clip child elements + * 6. Deactivate browser history navigation in IE11 + */ +.uk-slideshow { + /* 1 */ + position: relative; + /* 2 */ + z-index: 0; + /* 3 */ + width: 100%; + /* 4 */ + margin: 0; + padding: 0; + list-style: none; + /* 5 */ + overflow: hidden; + /* 6 */ + touch-action: pan-y; +} +/* + * Sub-object item + * 1. Position items above each other + * 2. Expand to parent container width + * 3. Hide by default + */ +.uk-slideshow > li { + /* 1 */ + position: absolute; + top: 0; + left: 0; + /* 2 */ + width: 100%; + /* 3 */ + opacity: 0; +} +/* + * Active + * 1. Stack at first + * 2. Show slide + */ +.uk-slideshow > .uk-active { + /* 1 */ + z-index: 10; + /* 2 */ + opacity: 1; +} +/* + * Hide default images which is only relevant to keep existing proportions + */ +.uk-slideshow > li > img { + visibility: hidden; +} +/* + * Pointer for controls + */ +[data-uk-slideshow-slide] { + cursor: pointer; +} +/* Modifier: `uk-slideshow-fullscreen` + ========================================================================== */ +.uk-slideshow-fullscreen, +.uk-slideshow-fullscreen > li { + height: 100vh; +} +/* Animations + ========================================================================== */ +/* + * Fade + */ +.uk-slideshow-fade-in { + -webkit-animation: uk-fade 0.5s linear; + animation: uk-fade 0.5s linear; +} +.uk-slideshow-fade-out { + -webkit-animation: uk-fade 0.5s linear reverse; + animation: uk-fade 0.5s linear reverse; +} +/* + * Scroll + */ +.uk-slideshow-scroll-forward-in { + -webkit-animation: uk-slide-right 0.5s ease-in-out; + animation: uk-slide-right 0.5s ease-in-out; +} +.uk-slideshow-scroll-forward-out { + -webkit-animation: uk-slide-left 0.5s ease-in-out reverse; + animation: uk-slide-left 0.5s ease-in-out reverse; +} +.uk-slideshow-scroll-backward-in { + -webkit-animation: uk-slide-left 0.5s ease-in-out; + animation: uk-slide-left 0.5s ease-in-out; +} +.uk-slideshow-scroll-backward-out { + -webkit-animation: uk-slide-right 0.5s ease-in-out reverse; + animation: uk-slide-right 0.5s ease-in-out reverse; +} +/* + * Scale + */ +.uk-slideshow-scale-out { + -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse; + animation: uk-fade-scale-15 0.5s ease-in-out reverse; +} +/* + * Swipe + */ +.uk-slideshow-swipe-forward-in { + -webkit-animation: uk-slide-left-33 0.5s ease-in-out; + animation: uk-slide-left-33 0.5s ease-in-out; +} +.uk-slideshow-swipe-forward-out { + -webkit-animation: uk-slide-left 0.5s ease-in-out reverse; + animation: uk-slide-left 0.5s ease-in-out reverse; +} +.uk-slideshow-swipe-backward-in { + -webkit-animation: uk-slide-right-33 0.5s ease-in-out; + animation: uk-slide-right-33 0.5s ease-in-out; +} +.uk-slideshow-swipe-backward-out { + -webkit-animation: uk-slide-right 0.5s ease-in-out reverse; + animation: uk-slide-right 0.5s ease-in-out reverse; +} +.uk-slideshow-swipe-forward-in:before, +.uk-slideshow-swipe-backward-in:before { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 1; + background: rgba(0, 0, 0, 0.6); + -webkit-animation: uk-fade 0.5s ease-in-out reverse; + animation: uk-fade 0.5s ease-in-out reverse; +} +/* slider */ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Slider + ========================================================================== */ +/* + * RTL Compatibility + */ +[data-uk-slider] { + direction: ltr; +} +html[dir="rtl"] .uk-slider > * { + direction: rtl; +} +/* + * 1. Create position context + * 2. Create stacking context to prevent z-index issues with other components + * 3. Deactivate browser history navigation in IE11 + */ +.uk-slider { + /* 1 */ + position: relative; + /* 2 */ + z-index: 0; + /* 3 */ + touch-action: pan-y; +} +/* + * 1. Reset list style without interfering with grid + */ +.uk-slider:not(.uk-grid) { + /* 1 */ + margin: 0; + padding: 0; + list-style: none; +} +/* + * Sub-object item + * 1. Position items above each other + */ +.uk-slider > * { + /* 1 */ + position: absolute; + top: 0; + left: 0; +} +/* + * Clip child elements + */ +.uk-slider-container { + overflow: hidden; +} +/* + * Dragged + */ +.uk-slider:not(.uk-drag) { + transition: transform 200ms linear; +} +/* + * 1. Makes text unselectable + */ +.uk-slider.uk-drag { + cursor: col-resize; + /* 1 */ + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* + * 1. Prevents images and links from being dragged (default browser behavior) + * 2. Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ +.uk-slider a, +.uk-slider img { + /* 1 */ + -webkit-user-drag: none; + user-drag: none; + /* 2 */ + -webkit-touch-callout: none; +} +/* + * 1. Prevents images and links from being dragged in Firefox + */ +.uk-slider img { + pointer-events: none; +} +/* Modifier: `uk-slider-fullscreen` + ========================================================================== */ +.uk-slider-fullscreen, +.uk-slider-fullscreen > li { + height: 100vh; +} +.uk-slider-container { + padding: 8px 0; +} +/* slidenav */ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Slidenav + ========================================================================== */ +/* + * 1. Required for `a` elements + * 2. Dimension + * 3. Style + */ +.uk-slidenav { + /* 1 */ + display: inline-block; + /* 2 */ + box-sizing: border-box; + width: 60px; + height: 60px; + /* 3 */ + line-height: 60px; + color: rgba(50, 50, 50, 0.4); + font-size: 60px; + text-align: center; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + * 4. Style + */ +.uk-slidenav:hover, +.uk-slidenav:focus { + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + /* 4 */ + color: rgba(50, 50, 50, 0.7); + cursor: pointer; +} +/* Active */ +.uk-slidenav:active { + color: rgba(50, 50, 50, 0.9); +} +/* + * Icons + */ +.uk-slidenav-previous:before { + content: "\f104"; + font-family: FontAwesome; +} +.uk-slidenav-next:before { + content: "\f105"; + font-family: FontAwesome; +} +/* Sub-object: `uk-slidenav-position` + ========================================================================== */ +/* + * Create position context + */ +.uk-slidenav-position { + position: relative; +} +/* + * Center vertically + */ +.uk-slidenav-position .uk-slidenav { + display: none; + position: absolute; + top: 50%; + z-index: 1; + margin-top: -30px; +} +.uk-slidenav-position:hover .uk-slidenav { + display: block; +} +.uk-slidenav-position .uk-slidenav-previous { + left: 20px; +} +.uk-slidenav-position .uk-slidenav-next { + right: 20px; +} +/* Modifier: `uk-slidenav-contrast` + ========================================================================== */ +.uk-slidenav-contrast { + color: rgba(255, 255, 255, 0.5); +} +/* + * Hover + * 1. Apply hover style also to focus state + */ +.uk-slidenav-contrast:hover, +.uk-slidenav-contrast:focus { + color: rgba(255, 255, 255, 0.7); +} +/* Active */ +.uk-slidenav-contrast:active { + color: rgba(255, 255, 255, 0.9); +} +/* tooltips */ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Tooltip + ========================================================================== */ +/* + * 1. Hide by default + * 2. Set fixed position + * 3. Set dimensions + * 4. Set style + */ +.uk-tooltip { + /* 1 */ + display: none; + /* 2 */ + position: absolute; + z-index: 1030; + /* 3 */ + box-sizing: border-box; + max-width: 200px; + padding: 5px 8px; + /* 4 */ + background: #333; + color: rgba(255, 255, 255, 0.7); + font-size: 12px; + line-height: 18px; + border-radius: 3px; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); +} +/* Triangle + ========================================================================== */ +/* + * 1. Dashed is less antialised than solid + */ +.uk-tooltip:after { + content: ""; + display: block; + position: absolute; + width: 0; + height: 0; + /* 1 */ + border: 5px dashed #333; +} +/* Direction modifiers + ========================================================================== */ +/* + * Top + */ +.uk-tooltip-top:after, +.uk-tooltip-top-left:after, +.uk-tooltip-top-right:after { + bottom: -5px; + border-top-style: solid; + border-bottom: none; + border-left-color: transparent; + border-right-color: transparent; + border-top-color: #333; +} +/* + * Bottom + */ +.uk-tooltip-bottom:after, +.uk-tooltip-bottom-left:after, +.uk-tooltip-bottom-right:after { + top: -5px; + border-bottom-style: solid; + border-top: none; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-color: #333; +} +/* + * Top/Bottom center + */ +.uk-tooltip-top:after, +.uk-tooltip-bottom:after { + left: 50%; + margin-left: -5px; +} +/* + * Top/Bottom left + */ +.uk-tooltip-top-left:after, +.uk-tooltip-bottom-left:after { + left: 10px; +} +/* + * Top/Bottom right + */ +.uk-tooltip-top-right:after, +.uk-tooltip-bottom-right:after { + right: 10px; +} +/* + * Left + */ +.uk-tooltip-left:after { + right: -5px; + top: 50%; + margin-top: -5px; + border-left-style: solid; + border-right: none; + border-top-color: transparent; + border-bottom-color: transparent; + border-left-color: #333; +} +/* + * Right + */ +.uk-tooltip-right:after { + left: -5px; + top: 50%; + margin-top: -5px; + border-right-style: solid; + border-left: none; + border-top-color: transparent; + border-bottom-color: transparent; + border-right-color: #333; +} +.uk-tooltip { + background: #424242; + color: #fff; + font-size: 13px; + padding: 3px 16px; + line-height: 22px; + text-shadow: none; + min-width: 80px; + text-align: center; + z-index: 1304; + opacity: 0; +} +.uk-tooltip .uk-tooltip-inner { + text-overflow: ellipsis; + display: inline-block; + vertical-align: top; + white-space: nowrap; + overflow: hidden; + width: 100%; +} +.uk-tooltip:after { + display: none !important; +} +.uk-tooltip.long-text { + text-align: left; +} +.uk-tooltip.long-text .uk-tooltip-inner { + white-space: normal; + overflow: visible; + line-height: 18px; + padding: 4px 0; +} +.uk-tooltip-small { + transform: scale(0.85); +} +/* tabs */ +.uk-tab { + border-bottom-color: rgba(0, 0, 0, 0.12); +} +.uk-sticky-placeholder .uk-tab { + background: #fff; + padding-top: 8px; +} +.uk-tab > li { + margin-bottom: 0; + margin-top: 0 ; + z-index: 1; +} +.uk-tab > li > a { + font-size: 13px; + text-transform: uppercase; + color: #212121; + border: none; + border-bottom: 2px solid transparent; + border-radius: 0 !important; + font-weight: 500; + min-width: 100px; + max-width: 100%; + text-align: center; + transition: all 220ms cubic-bezier(0.4, 0, 0.2, 1); + padding: 8px !important; + margin: 0 !important; + box-sizing: border-box; + position: relative; + top: 1px; + text-shadow: none; +} +.uk-tab > li > a:hover, +.uk-tab > li > a:focus { + background: none; + color: #212121; + border-bottom-color: #b2dbfb; +} +.uk-tab > li.uk-active > a { + background: transparent !important; + border-bottom-color: #2196f3; +} +.uk-tab > li.uk-disabled > a, +.uk-tab > li.uk-disabled > a:hover, +.uk-tab > li.uk-disabled > a:focus { + color: #aaa; +} +.uk-tab-bottom li { + margin-top: 0; +} +.uk-tab-bottom li > a { + border-top: 2px solid transparent; + border-bottom: none; + top: auto; + bottom: 1px; +} +.uk-tab-bottom li > a:hover, +.uk-tab-bottom li > a:focus { + border-top-color: #b2dbfb; +} +.uk-tab-bottom li.uk-active > a { + border-top-color: #2196f3; +} +.uk-tab-left { + border-bottom: none; +} +.uk-tab-left li > a { + border-right: 2px solid transparent; + border-bottom: none; + text-align: right; + top: auto; + bottom: auto; +} +.uk-tab-left li > a:hover, +.uk-tab-left li > a:focus { + border-right-color: #b2dbfb; +} +.uk-tab-left li.uk-active > a { + border-right-color: #2196f3; +} +.uk-tab-right { + border-bottom: none; +} +.uk-tab-right li > a { + border-left: 2px solid transparent; + border-bottom: none; + text-align: left; + top: auto; + bottom: auto; +} +.uk-tab-right li > a:hover, +.uk-tab-right li > a:focus { + border-left-color: #b2dbfb; +} +.uk-tab-right li.uk-active > a { + border-left-color: #2196f3; +} +.uk-tab-responsive li a { + border: none !important; +} +.uk-tab-responsive > a:before { + content: '\e5d2'; + font-family: "Material Icons"; + color: #727272; + margin-right: 8px; + vertical-align: -4px; + font-size: 18px; +} +.uk-tab-icons > li > a { + min-width: 64px; +} +.uk-tab-icons > li > a > .material-icons { + font-size: 24px; +} +.uk-tab-double-header { + margin: 10px 24px 0 !important; +} +.uk-tab-double-header > li > a { + color: #fff; + border-bottom: 4px solid transparent; +} +.uk-tab-double-header > li > a:hover, +.uk-tab-double-header > li > a:focus { + color: #fff; + border-bottom-color: #39a1f4; +} +.uk-tab-double-header > li.uk-active > a { + color: #fff; + border-bottom-color: #7cb342; +} +.uk-tab-double-header > li.uk-tab-responsive > a { + border-bottom: none; + padding-bottom: 5px !important; +} +.uk-tab-double-header > li.uk-tab-responsive > a:before { + color: #fff; +} +.uk-tab-large > li { + margin-bottom: 0; + margin-top: 0 ; + z-index: 1; +} +.uk-tab-large > li > a { + font-size: 16px; + padding: 12px 24px !important; +} +/* text truncate */ +.uk-text-truncate { + display: block; +} +.uk-switcher { + overflow: hidden; +} +.uk-switcher > li { + padding: 8px 4px; +} +/* +* add extra Uikit grid sizes +* +* usage: +* set custom breakpoint (1480px) and name ("xlarge-x") +* @media (min-width: 1480px) { +* .add-grid-sizes(xlarge-x); +* } +*/ +@media (min-width: 1480px) { + /* Whole */ + .uk-width-xLarge-1-1, + .uk-grid-width-xLarge-1-1 > * { + width: 100%; + } + /* Halves */ + .uk-width-xLarge-1-2, + .uk-width-xLarge-2-4, + .uk-width-xLarge-3-6, + .uk-width-xLarge-5-10, + .uk-grid-width-xLarge-1-2 > *, + .uk-grid-width-xLarge-2-4 > *, + .uk-grid-width-xLarge-3-6 > *, + .uk-grid-width-xLarge-5-10 > * { + width: 50%; + } + /* Thirds */ + .uk-width-xLarge-1-3, + .uk-width-xLarge-2-6, + .uk-grid-width-xLarge-1-3 > *, + .uk-grid-width-xLarge-2-6 > * { + width: 33.333%; + } + .uk-width-xLarge-2-3, + .uk-width-xLarge-4-6, + .uk-grid-width-xLarge-2-3 > *, + .uk-grid-width-xLarge-4-6 > * { + width: 66.666%; + } + /* Quarters */ + .uk-width-xLarge-1-4, + .uk-grid-width-xLarge-1-4 > * { + width: 25%; + } + .uk-width-xLarge-3-4, + .uk-grid-width-xLarge-3-4 > * { + width: 75%; + } + /* Fifths */ + .uk-width-xLarge-1-5, + .uk-width-xLarge-2-10, + .uk-grid-width-xLarge-1-5 > *, + .uk-grid-width-xLarge-2-10 > * { + width: 20%; + } + .uk-width-xLarge-2-5, + .uk-width-xLarge-4-10, + .uk-grid-width-xLarge-2-5 > *, + .uk-grid-width-xLarge-4-10 > * { + width: 40%; + } + .uk-width-xLarge-3-5, + .uk-width-xLarge-6-10, + .uk-grid-width-xLarge-3-5 > *, + .uk-grid-width-xLarge-6-10 > * { + width: 60%; + } + .uk-width-xLarge-4-5, + .uk-width-xLarge-8-10, + .uk-grid-width-xLarge-4-5 > *, + .uk-grid-width-xLarge-8-10 > * { + width: 80%; + } + /* Sixths */ + .uk-width-xLarge-1-6, + .uk-grid-width-xLarge-1-6 > * { + width: 16.666%; + } + .uk-width-xLarge-5-6, + .uk-grid-width-xLarge-5-6 > * { + width: 83.333%; + } + /* Tenths */ + .uk-width-xLarge-1-10, + .uk-grid-width-xLarge-1-10 > * { + width: 10%; + } + .uk-width-xLarge-3-10, + .uk-grid-width-xLarge-3-10 > * { + width: 30%; + } + .uk-width-xLarge-7-10, + .uk-grid-width-xLarge-7-10 > * { + width: 70%; + } + .uk-width-xLarge-9-10, + .uk-grid-width-xLarge-9-10 > * { + width: 90%; + } +} +/* ie9 fixes */ +.lte-ie9 *[class*="uk-animation-"] { + opacity: 1 !important; +} +/* 3. custom components ============================== */ +/* pricing tables */ +.pricing_table.pricing_table_a { + text-align: center; +} +.pricing_table.pricing_table_a .pricing_table_plan { + font-size: 18px; + font-weight: 400; + padding: 16px 0; + margin-bottom: 16px; +} +.pricing_table.pricing_table_a .pricing_table_price { + padding: 8px 0 0; + font-size: 48px; + margin-bottom: 24px; +} +.pricing_table.pricing_table_a .pricing_table_price .currency { + vertical-align: top; + font-size: 24px; + padding: 0 4px; +} +.pricing_table.pricing_table_a .pricing_table_price .period { + font-size: 14px; + padding: 4px; + color: #aaa; + display: block; +} +.pricing_table.pricing_table_a .pricing_table_features { + margin: 0; + padding: 0; + list-style: none; +} +.pricing_table.pricing_table_a .pricing_table_features > li { + padding: 0; + margin: 0; + list-style: none; +} +.pricing_table.pricing_table_a .pricing_table_features li { + font-size: 16px; + padding: 8px 0; +} +.pricing_table.pricing_table_a .pricing_table_select { + padding: 32px 0; +} +.pricing_table.pricing_table_b { + text-align: center; +} +.pricing_table.pricing_table_b .pricing_table_plan { + font-size: 16px; + font-weight: 400; + padding: 16px 0; + margin-bottom: 16px; + text-transform: uppercase; +} +.pricing_table.pricing_table_b .pricing_table_price { + padding: 8px 0 0; + font-size: 48px; + margin-bottom: 24px; +} +.pricing_table.pricing_table_b .pricing_table_price .currency { + vertical-align: top; + font-size: 24px; + padding: 0 4px; +} +.pricing_table.pricing_table_b .pricing_table_price .period { + font-size: 14px; + padding: 4px; + color: #aaa; + display: block; +} +.pricing_table.pricing_table_b .pricing_table_features { + margin: 0; + padding: 0; + list-style: none; +} +.pricing_table.pricing_table_b .pricing_table_features > li { + padding: 0; + margin: 0; + list-style: none; +} +.pricing_table.pricing_table_b .pricing_table_features li { + font-size: 16px; + padding: 8px 0; +} +.pricing_table.pricing_table_b .pricing_table_select { + padding: 32px 0; +} +.pricing_table.pricing_table_c { + text-align: center; +} +.pricing_table.pricing_table_c .pricing_table_plan { + font-size: 16px; + font-weight: 400; + padding: 16px 0; + margin-bottom: 8px; +} +.pricing_table.pricing_table_c .pricing_table_price { + padding: 8px 0 0; + font-size: 48px; + margin-bottom: 24px; +} +.pricing_table.pricing_table_c .pricing_table_price .currency { + vertical-align: top; + font-size: 24px; + padding: 0 4px; +} +.pricing_table.pricing_table_c .pricing_table_price .period { + font-size: 14px; + color: #aaa; + vertical-align: 0; + padding-left: 4px; +} +.pricing_table.pricing_table_c .pricing_table_features { + margin: 0; + padding: 0; + list-style: none; +} +.pricing_table.pricing_table_c .pricing_table_features > li { + padding: 0; + margin: 0; + list-style: none; +} +.pricing_table.pricing_table_c .pricing_table_features li { + font-size: 16px; + padding: 8px 0; +} +.pricing_table.pricing_table_c .pricing_table_select { + padding: 32px 0; +} +.al_timeline { + position: relative; + padding: 24px 0 32px; +} +.al_timeline:after { + position: absolute; + top: 0; + bottom: 0; + margin-left: -2px; + left: 50%; + content: ''; + width: 4px; + background: rgba(255, 255, 255, 0.5); + display: block; +} +.al_timeline_block:before, +.al_timeline_block:after { + content: " "; + display: table; +} +.al_timeline_block:after { + clear: both; +} +.al_timeline_block + * { + margin-top: 48px; +} +.al_timeline_block:nth-child(even) .al_timeline_content { + float: right; +} +.al_timeline_block:nth-child(even) .al_timeline_content:after { + border-left-color: transparent; + border-right-color: #fff; + right: auto; + left: -20px; +} +.al_timeline_content { + box-sizing: border-box; + background: #fff; + width: 44%; + padding: 16px; + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + position: relative; + border-radius: 4px; +} +.al_timeline_content:after { + position: absolute; + top: 24px; + right: -20px; + content: ''; + display: block; + border: 10px solid transparent; + border-left-color: #fff; +} +.al_timeline_image { + position: absolute; + left: 50%; + width: 64px; + height: 64px; + margin-left: -32px; + background: #fff; + border-radius: 50%; + text-align: center; + z-index: 10; + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); +} +.al_timeline_image > i { + font-size: 32px; + line-height: 64px; +} +@media only screen and (max-width: 959px) { + .al_timeline:after { + margin-left: 0; + left: 30px; + } + .al_timeline_block { + padding-left: 96px; + } + .al_timeline_content { + width: 100%; + } + .al_timeline_content:after { + border-left-color: transparent; + border-right-color: #fff; + right: auto; + left: -20px; + } + .al_timeline_image { + left: 0; + margin-left: 0; + } +} +@media only screen and (max-width: 767px) { + .al_timeline:after { + margin-left: 0; + left: 22px; + } + .al_timeline_block { + padding-left: 72px; + } + .al_timeline_content { + width: 100%; + } + .al_timeline_content:after { + border-left-color: transparent; + border-right-color: #fff; + right: auto; + left: -20px; + top: 14px; + } + .al_timeline_image { + width: 48px; + height: 48px; + left: 0; + margin-left: 0; + } + .al_timeline_image > i { + line-height: 48px; + font-size: 24px; + } +} +/* 4. material designv styles ========================= */ +/* bg colors */ +.md-bg-cyan { + background-color: #00acc1 !important; + color: #fff; +} +.md-bg-light-green { + background-color: #7cb342 !important; + color: #fff; +} +.md-bg-grey { + background-color: #616161 !important; + color: #fff; +} +.md-bg-red { + background-color: #d32f2f !important; + color: #fff; +} +.md-bg-light-blue { + background-color: #0288d1 !important; + color: #fff; +} +.md-bg-teal { + background-color: #00897b !important; + color: #fff; +} +.md-bg-purple { + background-color: #8e24aa !important; + color: #fff; +} +/* buttons */ +.md-btn { + background: #fff; + border: none; + border-radius: 2px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-height: 31px; + min-width: 70px; + padding: 2px 16px; + text-align: center; + text-shadow: none; + text-transform: uppercase; + transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1); + color: #212121; + box-sizing: border-box; + cursor: pointer; + -webkit-appearance: none; + display: inline-block; + vertical-align: middle; + font: 500 14px / 31px "Roboto", sans-serif !important; +} +.md-btn:hover, +.md-btn:focus, +.md-btn:active, +.uk-button-dropdown.uk-open > .md-btn { + background: #fff; + outline: none; + text-decoration: none; + color: #212121; + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); +} +.md-btn:active, +.uk-button-dropdown.uk-open > .md-btn { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} +.md-btn-flat { + box-shadow: none !important; + background: none; +} +.md-btn-flat:hover, +.md-btn-flat:focus { + background: rgba(153, 153, 153, 0.2); +} +.md-btn-flat:active { + background: rgba(153, 153, 153, 0.4); +} +.md-btn-flat-danger, +.md-btn-flat-danger:hover, +.md-btn-flat-danger:focus, +.md-btn-flat-danger:active { + color: #e53935; +} +.md-btn-flat-danger:hover, +.md-btn-flat-danger:focus, +.md-btn-flat-danger:active { + background: #fceaea; +} +.md-btn-flat-primary, +.md-btn-flat-primary:hover, +.md-btn-flat-primary:focus, +.md-btn-flat-primary:active { + color: #1976d2; +} +.md-btn-flat-primary:hover, +.md-btn-flat-primary:focus, +.md-btn-flat-primary:active { + background: #e3f2fd; +} +.md-btn-flat-success, +.md-btn-flat-success:hover, +.md-btn-flat-success:focus, +.md-btn-flat-success:active { + color: #7cb342; +} +.md-btn-flat-success:hover, +.md-btn-flat-success:focus, +.md-btn-flat-success:active { + background: #e1efd2; +} +.md-btn-flat-warning, +.md-btn-flat-warning:hover, +.md-btn-flat-warning:focus, +.md-btn-flat-warning:active { + color: #ffa000; +} +.md-btn-flat-warning:hover, +.md-btn-flat-warning:focus, +.md-btn-flat-warning:active { + background: #ffeccc; +} +.md-btn-flat.disabled { + background: none !important; +} +.md-btn-danger, +.md-btn-danger:hover, +.md-btn-danger:focus, +.md-btn-danger:active { + background: #e53935; +} +.md-btn-primary, +.md-btn-primary:hover, +.md-btn-primary:focus, +.md-btn-primary:active { + background: #2196f3; +} +.md-btn-success, +.md-btn-success:hover, +.md-btn-success:focus, +.md-btn-success:active { + background: #7cb342; +} +.md-btn-warning, +.md-btn-warning:hover, +.md-btn-warning:focus, +.md-btn-warning:active { + background: #ffa000; +} +.md-btn-danger, +.md-btn-primary, +.md-btn-success, +.md-btn-warning, +.md-btn-danger:hover, +.md-btn-primary:hover, +.md-btn-success:hover, +.md-btn-warning:hover, +.md-btn-danger:focus, +.md-btn-primary:focus, +.md-btn-success:focus, +.md-btn-warning:focus, +.md-btn-danger:active, +.md-btn-primary:active, +.md-btn-success:active, +.md-btn-warning:active, +.md-btn-danger > i, +.md-btn-primary > i, +.md-btn-success > i, +.md-btn-warning > i { + color: #fff; +} +.md-btn.disabled, +.md-btn.disabled:hover, +.md-btn.disabled:focus, +.md-btn.disabled:active { + color: #a8a8a8; + background: #eaeaea; + box-shadow: none !important; + cursor: default; + pointer-events: none; +} +.md-btn > i.material-icons { + margin-top: 5px; + font-size: 18px; +} +.md-btn-mini { + line-height: 21px !important; + min-width: 12px; + font-size: 10px !important; + min-height: 24px; +} +.md-btn-small { + line-height: 27px !important; + min-width: 14px; + font-size: 11px !important; +} +.md-btn-large { + line-height: 42px !important; + font-size: 16px !important; +} +.md-btn::-moz-focus-inner { + border: 0; + padding: 0; +} +.md-btn + .md-btn { + margin-left: 8px; +} +.md-btn-block { + width: 100%; +} +.md-btn-block + .md-btn-block { + margin-left: 0; + margin-top: 12px; +} +.md-btn + .md-btn-group { + margin-left: 16px; +} +.md-btn-facebook { + background: #3b5998 !important; +} +.md-btn-twitter { + background: #00aced !important; +} +.md-btn-gplus { + background: #dd4b39 !important; +} +.md-btn-facebook, +.md-btn-twitter, +.md-btn-gplus, +.md-btn-facebook > i, +.md-btn-twitter > i, +.md-btn-gplus > i { + color: #fff !important; +} +.md-btn-icon > i.no_margin { + margin-right: 0 !important; + margin-left: 0 !important; +} +.md-btn-icon-large, +.md-btn-icon.md-btn-large { + min-width: 72px; +} +.md-btn-icon-large > i, +.md-btn-icon.md-btn-large > i { + font-size: 24px; + margin-right: 12px; + vertical-align: -3px; +} +.md-btn-icon-default, +.md-btn-icon { + min-width: 64px; +} +.md-btn-icon-default > i, +.md-btn-icon > i { + font-size: 18px; + margin-right: 8px; + vertical-align: -2px; +} +.md-btn-icon-small, +.md-btn-icon.md-btn-small { + min-width: 48px; +} +.md-btn-icon-small > i, +.md-btn-icon.md-btn-small > i { + font-size: 16px; + margin-right: 6px; + vertical-align: -2px; +} +.md-btn-icon-mini, +.md-btn-icon.md-btn-mini { + min-width: 36px; +} +.md-btn-icon-mini > i, +.md-btn-icon.md-btn-mini > i { + font-size: 16px; + margin-right: 4px; + vertical-align: -2px; +} +.md-fab { + box-sizing: border-box; + width: 64px; + height: 64px; + border-radius: 50%; + background: #fff; + color: #727272; + display: block; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); + border: none; + position: relative; + text-align: center; + cursor: pointer; +} +.md-fab:hover, +.md-fab:focus, +.md-fab:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} +.md-fab > i { + font-size: 36px; + line-height: 64px; + height: inherit; + width: inherit; + position: absolute; + left: 0; + top: 0; + color: #727272; +} +.md-fab.md-fab-accent { + background: #7cb342; +} +.md-fab.md-fab-accent > i { + color: #fff; +} +.md-fab.md-fab-success { + background: #7cb342; +} +.md-fab.md-fab-success > i { + color: #fff; +} +.md-fab.md-fab-danger { + background: #e53935; +} +.md-fab.md-fab-danger > i { + color: #fff; +} +.md-fab.md-fab-primary { + background: #2196f3; +} +.md-fab.md-fab-primary > i { + color: #fff; +} +.md-fab.md-fab-warning { + background: #ffa000; +} +.md-fab.md-fab-warning > i { + color: #fff; +} +.md-fab.md-fab-small { + width: 48px; + height: 48px; + border-radius: 50%; +} +.md-fab.md-fab-small > i { + line-height: 48px; + height: inherit; + width: inherit; + font-size: 24px; +} +.md-fab-speed-dial .md-fab-action-close { + display: none; +} +.md-fab-wrapper { + position: fixed; + bottom: 24px; + right: 24px; + z-index: 1004; + transition: margin 280ms cubic-bezier(0.4, 0, 0.2, 1); +} +@media only screen and (max-width: 767px) { + .md-fab-wrapper { + bottom: 20px; + right: 20px; + } +} +.md-fab-wrapper > .md-fab + .md-fab { + margin-top: 16px; +} +.md-fab-wrapper.md-fab-in-card { + position: absolute; +} +.md-fab-speed-dial .md-fab-wrapper-small { + position: absolute; + bottom: 80px; + right: 8px; + min-height: 48px; + width: 48px; + z-index: -1; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small { + transform: scale(0); + opacity: 0; + position: absolute; + right: 0; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(1) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 50ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 50ms; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(2) { + bottom: 64px; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(2) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(3) { + bottom: 128px; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(3) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 150ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 150ms; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(4) { + bottom: 192px; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(4) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 200ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 200ms; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(5) { + bottom: 256px; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(5) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 250ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 250ms; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(6) { + bottom: 320px; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(6) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 300ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 300ms; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(7) { + bottom: 384px; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(7) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 350ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 350ms; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(8) { + bottom: 448px; +} +.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(8) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 400ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 400ms; +} +.md-fab-speed-dial.md-fab-active .md-fab-small { + transform: scale(1); + opacity: 1; + z-index: 10; +} +.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(1) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 50ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 50ms; +} +.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(2) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 100ms; +} +.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(3) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 150ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 150ms; +} +.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(4) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 200ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 200ms; +} +.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(5) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 250ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 250ms; +} +.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(6) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 300ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 300ms; +} +.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(7) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 350ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 350ms; +} +.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(8) { + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 400ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 400ms; +} +.md-fab-toolbar { + transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1); + cursor: default; +} +.md-fab-toolbar > i { + cursor: pointer; +} +.md-fab-toolbar-actions { + visibility: hidden; + white-space: nowrap; + padding: 0 16px; + overflow: hidden; + box-sizing: border-box; +} +.md-fab-toolbar-actions > a, +.md-fab-toolbar-actions > button { + display: block; + float: left; + opacity: 0; + margin: 0 0 0 16px; + height: 64px; + width: 48px; + box-sizing: border-box; + transition: opacity 280ms cubic-bezier(0.4, 0, 0.2, 1); + background: none; + border: none; + outline: none; + cursor: pointer; +} +.md-fab-toolbar-actions > a:first-child, +.md-fab-toolbar-actions > button:first-child { + margin-left: 0; +} +.md-fab-toolbar-actions .material-icons { + font-size: 36px; + line-height: 64px; +} +.md-fab-toolbar.md-fab-animated { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + border-radius: 4px; +} +.md-fab-toolbar.md-fab-animated > i { + display: none; +} +.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions { + visibility: visible; +} +.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions > a, +.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions > button { + opacity: 1; +} +.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions > a, +.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions > button { + height: 48px; + width: 36px; + padding: 0; + margin: 0 0 0 8px; +} +.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions > a:first-child, +.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions > button:first-child { + margin-left: 0; +} +.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions .material-icons { + font-size: 24px; + line-height: 48px; + height: inherit; +} +.md-fab-sheet { + transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1); + cursor: default; +} +.md-fab-sheet > i { + cursor: pointer; +} +.md-fab-sheet-actions { + visibility: hidden; + white-space: nowrap; + overflow: hidden; + box-sizing: border-box; + padding: 4px 0; +} +.md-fab-sheet-actions > a { + display: block; + opacity: 0; + padding: 4px 16px; + box-sizing: border-box; + font: 400 16px / 32px "Roboto", sans-serif; + text-align: left; +} +.md-fab-sheet-actions > a, +.md-fab-sheet-actions > a:hover { + color: #212121; +} +.md-fab-sheet-actions .material-icons { + font-size: 24px; + margin-right: 8px; + vertical-align: -6px; +} +.md-fab-sheet.md-fab-animated { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + border-radius: 4px; +} +.md-fab-sheet.md-fab-animated > i { + display: none; +} +.md-fab-sheet.md-fab-active .md-fab-sheet-actions { + visibility: visible; +} +.md-fab-sheet.md-fab-active .md-fab-sheet-actions > a { + opacity: 1; +} +.sidebar_secondary_active .md-fab-wrapper { + margin-right: 264px; +} +@media only screen and (max-width: 767px) { + .sidebar_secondary_active .md-fab-wrapper { + margin-right: 280px; + } +} +.md-toggle-group .md-toggle-button { + border-width: 0 0 2px; + border-style: solid; + border-color: transparent; + background: none; + line-height: 30px; + min-width: 42px; + text-align: center; + padding: 0 8px; + vertical-align: middle; + cursor: pointer; +} +.md-toggle-group .md-toggle-button.md-toggle-active { + border-bottom-color: #212121; +} +.md-toggle-group.md-toggle-group-small .md-toggle-button { + font-size: 11px; + line-height: 24px; + min-width: 16px; + padding: 0 6px; +} +.md-btn-group { + display: inline-block; + vertical-align: top; + position: relative; + font-size: 0; + white-space: nowrap; +} +.md-btn-group .md-btn { + vertical-align: top; + margin-left: 0 !important; +} +.md-btn-group .md-btn:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.md-btn-group .md-btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.md-btn-group .md-btn:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.md-color-red-50 { + color: #ffebee !important; +} +.md-bg-red-50 { + background-color: #ffebee !important; +} +.md-color-red-100 { + color: #ffcdd2 !important; +} +.md-bg-red-100 { + background-color: #ffcdd2 !important; +} +.md-color-red-200 { + color: #ef9a9a !important; +} +.md-bg-red-200 { + background-color: #ef9a9a !important; +} +.md-color-red-300 { + color: #e57373 !important; +} +.md-bg-red-300 { + background-color: #e57373 !important; +} +.md-color-red-400 { + color: #ef5350 !important; +} +.md-bg-red-400 { + background-color: #ef5350 !important; +} +.md-color-red-500 { + color: #f44336 !important; +} +.md-bg-red-500 { + background-color: #f44336 !important; +} +.md-color-red-600 { + color: #e53935 !important; +} +.md-bg-red-600 { + background-color: #e53935 !important; +} +.md-color-red-700 { + color: #d32f2f !important; +} +.md-bg-red-700 { + background-color: #d32f2f !important; +} +.md-color-red-800 { + color: #c62828 !important; +} +.md-bg-red-800 { + background-color: #c62828 !important; +} +.md-color-red-900 { + color: #b71c1c !important; +} +.md-bg-red-900 { + background-color: #b71c1c !important; +} +.md-color-red-A100 { + color: #ff8a80 !important; +} +.md-bg-red-A100 { + background-color: #ff8a80 !important; +} +.md-color-red-A200 { + color: #ff5252 !important; +} +.md-bg-red-A200 { + background-color: #ff5252 !important; +} +.md-color-red-A400 { + color: #ff1744 !important; +} +.md-bg-red-A400 { + background-color: #ff1744 !important; +} +.md-color-red-A700 { + color: #d50000 !important; +} +.md-bg-red-A700 { + background-color: #d50000 !important; +} +.md-color-pink-50 { + color: #fce4ec !important; +} +.md-bg-pink-50 { + background-color: #fce4ec !important; +} +.md-color-pink-100 { + color: #f8bbd0 !important; +} +.md-bg-pink-100 { + background-color: #f8bbd0 !important; +} +.md-color-pink-200 { + color: #f48fb1 !important; +} +.md-bg-pink-200 { + background-color: #f48fb1 !important; +} +.md-color-pink-300 { + color: #f06292 !important; +} +.md-bg-pink-300 { + background-color: #f06292 !important; +} +.md-color-pink-400 { + color: #ec407a !important; +} +.md-bg-pink-400 { + background-color: #ec407a !important; +} +.md-color-pink-500 { + color: #e91e63 !important; +} +.md-bg-pink-500 { + background-color: #e91e63 !important; +} +.md-color-pink-600 { + color: #d81b60 !important; +} +.md-bg-pink-600 { + background-color: #d81b60 !important; +} +.md-color-pink-700 { + color: #c2185b !important; +} +.md-bg-pink-700 { + background-color: #c2185b !important; +} +.md-color-pink-800 { + color: #ad1457 !important; +} +.md-bg-pink-800 { + background-color: #ad1457 !important; +} +.md-color-pink-900 { + color: #880e4f !important; +} +.md-bg-pink-900 { + background-color: #880e4f !important; +} +.md-color-pink-A100 { + color: #ff80ab !important; +} +.md-bg-pink-A100 { + background-color: #ff80ab !important; +} +.md-color-pink-A200 { + color: #ff4081 !important; +} +.md-bg-pink-A200 { + background-color: #ff4081 !important; +} +.md-color-pink-A400 { + color: #f50057 !important; +} +.md-bg-pink-A400 { + background-color: #f50057 !important; +} +.md-color-pink-A700 { + color: #c51162 !important; +} +.md-bg-pink-A700 { + background-color: #c51162 !important; +} +.md-color-purple-50 { + color: #f3e5f5 !important; +} +.md-bg-purple-50 { + background-color: #f3e5f5 !important; +} +.md-color-purple-100 { + color: #e1bee7 !important; +} +.md-bg-purple-100 { + background-color: #e1bee7 !important; +} +.md-color-purple-200 { + color: #ce93d8 !important; +} +.md-bg-purple-200 { + background-color: #ce93d8 !important; +} +.md-color-purple-300 { + color: #ba68c8 !important; +} +.md-bg-purple-300 { + background-color: #ba68c8 !important; +} +.md-color-purple-400 { + color: #ab47bc !important; +} +.md-bg-purple-400 { + background-color: #ab47bc !important; +} +.md-color-purple-500 { + color: #9c27b0 !important; +} +.md-bg-purple-500 { + background-color: #9c27b0 !important; +} +.md-color-purple-600 { + color: #8e24aa !important; +} +.md-bg-purple-600 { + background-color: #8e24aa !important; +} +.md-color-purple-700 { + color: #7b1fa2 !important; +} +.md-bg-purple-700 { + background-color: #7b1fa2 !important; +} +.md-color-purple-800 { + color: #6a1b9a !important; +} +.md-bg-purple-800 { + background-color: #6a1b9a !important; +} +.md-color-purple-900 { + color: #4a148c !important; +} +.md-bg-purple-900 { + background-color: #4a148c !important; +} +.md-color-purple-A100 { + color: #ea80fc !important; +} +.md-bg-purple-A100 { + background-color: #ea80fc !important; +} +.md-color-purple-A200 { + color: #e040fb !important; +} +.md-bg-purple-A200 { + background-color: #e040fb !important; +} +.md-color-purple-A400 { + color: #d500f9 !important; +} +.md-bg-purple-A400 { + background-color: #d500f9 !important; +} +.md-color-purple-A700 { + color: #aa00ff !important; +} +.md-bg-purple-A700 { + background-color: #aa00ff !important; +} +.md-color-deep-purple-50 { + color: #ede7f6 !important; +} +.md-bg-deep-purple-50 { + background-color: #ede7f6 !important; +} +.md-color-deep-purple-100 { + color: #d1c4e9 !important; +} +.md-bg-deep-purple-100 { + background-color: #d1c4e9 !important; +} +.md-color-deep-purple-200 { + color: #b39ddb !important; +} +.md-bg-deep-purple-200 { + background-color: #b39ddb !important; +} +.md-color-deep-purple-300 { + color: #9575cd !important; +} +.md-bg-deep-purple-300 { + background-color: #9575cd !important; +} +.md-color-deep-purple-400 { + color: #7e57c2 !important; +} +.md-bg-deep-purple-400 { + background-color: #7e57c2 !important; +} +.md-color-deep-purple-500 { + color: #673ab7 !important; +} +.md-bg-deep-purple-500 { + background-color: #673ab7 !important; +} +.md-color-deep-purple-600 { + color: #5e35b1 !important; +} +.md-bg-deep-purple-600 { + background-color: #5e35b1 !important; +} +.md-color-deep-purple-700 { + color: #512da8 !important; +} +.md-bg-deep-purple-700 { + background-color: #512da8 !important; +} +.md-color-deep-purple-800 { + color: #4527a0 !important; +} +.md-bg-deep-purple-800 { + background-color: #4527a0 !important; +} +.md-color-deep-purple-900 { + color: #311b92 !important; +} +.md-bg-deep-purple-900 { + background-color: #311b92 !important; +} +.md-color-deep-purple-A100 { + color: #b388ff !important; +} +.md-bg-deep-purple-A100 { + background-color: #b388ff !important; +} +.md-color-deep-purple-A200 { + color: #7c4dff !important; +} +.md-bg-deep-purple-A200 { + background-color: #7c4dff !important; +} +.md-color-deep-purple-A400 { + color: #651fff !important; +} +.md-bg-deep-purple-A400 { + background-color: #651fff !important; +} +.md-color-deep-purple-A700 { + color: #6200ea !important; +} +.md-bg-deep-purple-A700 { + background-color: #6200ea !important; +} +.md-color-indigo-50 { + color: #e8eaf6 !important; +} +.md-bg-indigo-50 { + background-color: #e8eaf6 !important; +} +.md-color-indigo-100 { + color: #c5cae9 !important; +} +.md-bg-indigo-100 { + background-color: #c5cae9 !important; +} +.md-color-indigo-200 { + color: #9fa8da !important; +} +.md-bg-indigo-200 { + background-color: #9fa8da !important; +} +.md-color-indigo-300 { + color: #7986cb !important; +} +.md-bg-indigo-300 { + background-color: #7986cb !important; +} +.md-color-indigo-400 { + color: #5c6bc0 !important; +} +.md-bg-indigo-400 { + background-color: #5c6bc0 !important; +} +.md-color-indigo-500 { + color: #3f51b5 !important; +} +.md-bg-indigo-500 { + background-color: #3f51b5 !important; +} +.md-color-indigo-600 { + color: #3949ab !important; +} +.md-bg-indigo-600 { + background-color: #3949ab !important; +} +.md-color-indigo-700 { + color: #303f9f !important; +} +.md-bg-indigo-700 { + background-color: #303f9f !important; +} +.md-color-indigo-800 { + color: #283593 !important; +} +.md-bg-indigo-800 { + background-color: #283593 !important; +} +.md-color-indigo-900 { + color: #1a237e !important; +} +.md-bg-indigo-900 { + background-color: #1a237e !important; +} +.md-color-indigo-A100 { + color: #8c9eff !important; +} +.md-bg-indigo-A100 { + background-color: #8c9eff !important; +} +.md-color-indigo-A200 { + color: #536dfe !important; +} +.md-bg-indigo-A200 { + background-color: #536dfe !important; +} +.md-color-indigo-A400 { + color: #3d5afe !important; +} +.md-bg-indigo-A400 { + background-color: #3d5afe !important; +} +.md-color-indigo-A700 { + color: #304ffe !important; +} +.md-bg-indigo-A700 { + background-color: #304ffe !important; +} +.md-color-blue-50 { + color: #e3f2fd !important; +} +.md-bg-blue-50 { + background-color: #e3f2fd !important; +} +.md-color-blue-100 { + color: #bbdefb !important; +} +.md-bg-blue-100 { + background-color: #bbdefb !important; +} +.md-color-blue-200 { + color: #90caf9 !important; +} +.md-bg-blue-200 { + background-color: #90caf9 !important; +} +.md-color-blue-300 { + color: #64b5f6 !important; +} +.md-bg-blue-300 { + background-color: #64b5f6 !important; +} +.md-color-blue-400 { + color: #42a5f5 !important; +} +.md-bg-blue-400 { + background-color: #42a5f5 !important; +} +.md-color-blue-500 { + color: #2196f3 !important; +} +.md-bg-blue-500 { + background-color: #2196f3 !important; +} +.md-color-blue-600 { + color: #1e88e5 !important; +} +.md-bg-blue-600 { + background-color: #1e88e5 !important; +} +.md-color-blue-700 { + color: #1976d2 !important; +} +.md-bg-blue-700 { + background-color: #1976d2 !important; +} +.md-color-blue-800 { + color: #1565c0 !important; +} +.md-bg-blue-800 { + background-color: #1565c0 !important; +} +.md-color-blue-900 { + color: #0d47a1 !important; +} +.md-bg-blue-900 { + background-color: #0d47a1 !important; +} +.md-color-blue-A100 { + color: #82b1ff !important; +} +.md-bg-blue-A100 { + background-color: #82b1ff !important; +} +.md-color-blue-A200 { + color: #448aff !important; +} +.md-bg-blue-A200 { + background-color: #448aff !important; +} +.md-color-blue-A400 { + color: #2979ff !important; +} +.md-bg-blue-A400 { + background-color: #2979ff !important; +} +.md-color-blue-A700 { + color: #2962ff !important; +} +.md-bg-blue-A700 { + background-color: #2962ff !important; +} +.md-color-light-blue-50 { + color: #e1f5fe !important; +} +.md-bg-light-blue-50 { + background-color: #e1f5fe !important; +} +.md-color-light-blue-100 { + color: #b3e5fc !important; +} +.md-bg-light-blue-100 { + background-color: #b3e5fc !important; +} +.md-color-light-blue-200 { + color: #81d4fa !important; +} +.md-bg-light-blue-200 { + background-color: #81d4fa !important; +} +.md-color-light-blue-300 { + color: #4fc3f7 !important; +} +.md-bg-light-blue-300 { + background-color: #4fc3f7 !important; +} +.md-color-light-blue-400 { + color: #29b6f6 !important; +} +.md-bg-light-blue-400 { + background-color: #29b6f6 !important; +} +.md-color-light-blue-500 { + color: #03a9f4 !important; +} +.md-bg-light-blue-500 { + background-color: #03a9f4 !important; +} +.md-color-light-blue-600 { + color: #039be5 !important; +} +.md-bg-light-blue-600 { + background-color: #039be5 !important; +} +.md-color-light-blue-700 { + color: #0288d1 !important; +} +.md-bg-light-blue-700 { + background-color: #0288d1 !important; +} +.md-color-light-blue-800 { + color: #0277bd !important; +} +.md-bg-light-blue-800 { + background-color: #0277bd !important; +} +.md-color-light-blue-900 { + color: #01579b !important; +} +.md-bg-light-blue-900 { + background-color: #01579b !important; +} +.md-color-light-blue-A100 { + color: #80d8ff !important; +} +.md-bg-light-blue-A100 { + background-color: #80d8ff !important; +} +.md-color-light-blue-A200 { + color: #40c4ff !important; +} +.md-bg-light-blue-A200 { + background-color: #40c4ff !important; +} +.md-color-light-blue-A400 { + color: #00b0ff !important; +} +.md-bg-light-blue-A400 { + background-color: #00b0ff !important; +} +.md-color-light-blue-A700 { + color: #0091ea !important; +} +.md-bg-light-blue-A700 { + background-color: #0091ea !important; +} +.md-color-cyan-50 { + color: #e0f7fa !important; +} +.md-bg-cyan-50 { + background-color: #e0f7fa !important; +} +.md-color-cyan-100 { + color: #b2ebf2 !important; +} +.md-bg-cyan-100 { + background-color: #b2ebf2 !important; +} +.md-color-cyan-200 { + color: #80deea !important; +} +.md-bg-cyan-200 { + background-color: #80deea !important; +} +.md-color-cyan-300 { + color: #4dd0e1 !important; +} +.md-bg-cyan-300 { + background-color: #4dd0e1 !important; +} +.md-color-cyan-400 { + color: #26c6da !important; +} +.md-bg-cyan-400 { + background-color: #26c6da !important; +} +.md-color-cyan-500 { + color: #00bcd4 !important; +} +.md-bg-cyan-500 { + background-color: #00bcd4 !important; +} +.md-color-cyan-600 { + color: #00acc1 !important; +} +.md-bg-cyan-600 { + background-color: #00acc1 !important; +} +.md-color-cyan-700 { + color: #0097a7 !important; +} +.md-bg-cyan-700 { + background-color: #0097a7 !important; +} +.md-color-cyan-800 { + color: #00838f !important; +} +.md-bg-cyan-800 { + background-color: #00838f !important; +} +.md-color-cyan-900 { + color: #006064 !important; +} +.md-bg-cyan-900 { + background-color: #006064 !important; +} +.md-color-cyan-A100 { + color: #84ffff !important; +} +.md-bg-cyan-A100 { + background-color: #84ffff !important; +} +.md-color-cyan-A200 { + color: #18ffff !important; +} +.md-bg-cyan-A200 { + background-color: #18ffff !important; +} +.md-color-cyan-A400 { + color: #00e5ff !important; +} +.md-bg-cyan-A400 { + background-color: #00e5ff !important; +} +.md-color-cyan-A700 { + color: #00b8d4 !important; +} +.md-bg-cyan-A700 { + background-color: #00b8d4 !important; +} +.md-color-teal-50 { + color: #e0f2f1 !important; +} +.md-bg-teal-50 { + background-color: #e0f2f1 !important; +} +.md-color-teal-100 { + color: #b2dfdb !important; +} +.md-bg-teal-100 { + background-color: #b2dfdb !important; +} +.md-color-teal-200 { + color: #80cbc4 !important; +} +.md-bg-teal-200 { + background-color: #80cbc4 !important; +} +.md-color-teal-300 { + color: #4db6ac !important; +} +.md-bg-teal-300 { + background-color: #4db6ac !important; +} +.md-color-teal-400 { + color: #26a69a !important; +} +.md-bg-teal-400 { + background-color: #26a69a !important; +} +.md-color-teal-500 { + color: #009688 !important; +} +.md-bg-teal-500 { + background-color: #009688 !important; +} +.md-color-teal-600 { + color: #00897b !important; +} +.md-bg-teal-600 { + background-color: #00897b !important; +} +.md-color-teal-700 { + color: #00796b !important; +} +.md-bg-teal-700 { + background-color: #00796b !important; +} +.md-color-teal-800 { + color: #00695c !important; +} +.md-bg-teal-800 { + background-color: #00695c !important; +} +.md-color-teal-900 { + color: #004d40 !important; +} +.md-bg-teal-900 { + background-color: #004d40 !important; +} +.md-color-teal-A100 { + color: #a7ffeb !important; +} +.md-bg-teal-A100 { + background-color: #a7ffeb !important; +} +.md-color-teal-A200 { + color: #64ffda !important; +} +.md-bg-teal-A200 { + background-color: #64ffda !important; +} +.md-color-teal-A400 { + color: #1de9b6 !important; +} +.md-bg-teal-A400 { + background-color: #1de9b6 !important; +} +.md-color-teal-A700 { + color: #00bfa5 !important; +} +.md-bg-teal-A700 { + background-color: #00bfa5 !important; +} +.md-color-green-50 { + color: #e8f5e9 !important; +} +.md-bg-green-50 { + background-color: #e8f5e9 !important; +} +.md-color-green-100 { + color: #c8e6c9 !important; +} +.md-bg-green-100 { + background-color: #c8e6c9 !important; +} +.md-color-green-200 { + color: #a5d6a7 !important; +} +.md-bg-green-200 { + background-color: #a5d6a7 !important; +} +.md-color-green-300 { + color: #81c784 !important; +} +.md-bg-green-300 { + background-color: #81c784 !important; +} +.md-color-green-400 { + color: #66bb6a !important; +} +.md-bg-green-400 { + background-color: #66bb6a !important; +} +.md-color-green-500 { + color: #4caf50 !important; +} +.md-bg-green-500 { + background-color: #4caf50 !important; +} +.md-color-green-600 { + color: #43a047 !important; +} +.md-bg-green-600 { + background-color: #43a047 !important; +} +.md-color-green-700 { + color: #388e3c !important; +} +.md-bg-green-700 { + background-color: #388e3c !important; +} +.md-color-green-800 { + color: #2e7d32 !important; +} +.md-bg-green-800 { + background-color: #2e7d32 !important; +} +.md-color-green-900 { + color: #1b5e20 !important; +} +.md-bg-green-900 { + background-color: #1b5e20 !important; +} +.md-color-green-A100 { + color: #b9f6ca !important; +} +.md-bg-green-A100 { + background-color: #b9f6ca !important; +} +.md-color-green-A200 { + color: #69f0ae !important; +} +.md-bg-green-A200 { + background-color: #69f0ae !important; +} +.md-color-green-A400 { + color: #00e676 !important; +} +.md-bg-green-A400 { + background-color: #00e676 !important; +} +.md-color-green-A700 { + color: #00c853 !important; +} +.md-bg-green-A700 { + background-color: #00c853 !important; +} +.md-color-light-green-50 { + color: #f1f8e9 !important; +} +.md-bg-light-green-50 { + background-color: #f1f8e9 !important; +} +.md-color-light-green-100 { + color: #dcedc8 !important; +} +.md-bg-light-green-100 { + background-color: #dcedc8 !important; +} +.md-color-light-green-200 { + color: #c5e1a5 !important; +} +.md-bg-light-green-200 { + background-color: #c5e1a5 !important; +} +.md-color-light-green-300 { + color: #aed581 !important; +} +.md-bg-light-green-300 { + background-color: #aed581 !important; +} +.md-color-light-green-400 { + color: #9ccc65 !important; +} +.md-bg-light-green-400 { + background-color: #9ccc65 !important; +} +.md-color-light-green-500 { + color: #8bc34a !important; +} +.md-bg-light-green-500 { + background-color: #8bc34a !important; +} +.md-color-light-green-600 { + color: #7cb342 !important; +} +.md-bg-light-green-600 { + background-color: #7cb342 !important; +} +.md-color-light-green-700 { + color: #689f38 !important; +} +.md-bg-light-green-700 { + background-color: #689f38 !important; +} +.md-color-light-green-800 { + color: #558b2f !important; +} +.md-bg-light-green-800 { + background-color: #558b2f !important; +} +.md-color-light-green-900 { + color: #33691e !important; +} +.md-bg-light-green-900 { + background-color: #33691e !important; +} +.md-color-light-green-A100 { + color: #ccff90 !important; +} +.md-bg-light-green-A100 { + background-color: #ccff90 !important; +} +.md-color-light-green-A200 { + color: #b2ff59 !important; +} +.md-bg-light-green-A200 { + background-color: #b2ff59 !important; +} +.md-color-light-green-A400 { + color: #76ff03 !important; +} +.md-bg-light-green-A400 { + background-color: #76ff03 !important; +} +.md-color-light-green-A700 { + color: #64dd17 !important; +} +.md-bg-light-green-A700 { + background-color: #64dd17 !important; +} +.md-color-lime-50 { + color: #f9fbe7 !important; +} +.md-bg-lime-50 { + background-color: #f9fbe7 !important; +} +.md-color-lime-100 { + color: #f0f4c3 !important; +} +.md-bg-lime-100 { + background-color: #f0f4c3 !important; +} +.md-color-lime-200 { + color: #e6ee9c !important; +} +.md-bg-lime-200 { + background-color: #e6ee9c !important; +} +.md-color-lime-300 { + color: #dce775 !important; +} +.md-bg-lime-300 { + background-color: #dce775 !important; +} +.md-color-lime-400 { + color: #d4e157 !important; +} +.md-bg-lime-400 { + background-color: #d4e157 !important; +} +.md-color-lime-500 { + color: #cddc39 !important; +} +.md-bg-lime-500 { + background-color: #cddc39 !important; +} +.md-color-lime-600 { + color: #c0ca33 !important; +} +.md-bg-lime-600 { + background-color: #c0ca33 !important; +} +.md-color-lime-700 { + color: #afb42b !important; +} +.md-bg-lime-700 { + background-color: #afb42b !important; +} +.md-color-lime-800 { + color: #9e9d24 !important; +} +.md-bg-lime-800 { + background-color: #9e9d24 !important; +} +.md-color-lime-900 { + color: #827717 !important; +} +.md-bg-lime-900 { + background-color: #827717 !important; +} +.md-color-lime-A100 { + color: #f4ff81 !important; +} +.md-bg-lime-A100 { + background-color: #f4ff81 !important; +} +.md-color-lime-A200 { + color: #eeff41 !important; +} +.md-bg-lime-A200 { + background-color: #eeff41 !important; +} +.md-color-lime-A400 { + color: #c6ff00 !important; +} +.md-bg-lime-A400 { + background-color: #c6ff00 !important; +} +.md-color-lime-A700 { + color: #aeea00 !important; +} +.md-bg-lime-A700 { + background-color: #aeea00 !important; +} +.md-color-yellow-50 { + color: #fffde7 !important; +} +.md-bg-yellow-50 { + background-color: #fffde7 !important; +} +.md-color-yellow-100 { + color: #fff9c4 !important; +} +.md-bg-yellow-100 { + background-color: #fff9c4 !important; +} +.md-color-yellow-200 { + color: #fff59d !important; +} +.md-bg-yellow-200 { + background-color: #fff59d !important; +} +.md-color-yellow-300 { + color: #fff176 !important; +} +.md-bg-yellow-300 { + background-color: #fff176 !important; +} +.md-color-yellow-400 { + color: #ffee58 !important; +} +.md-bg-yellow-400 { + background-color: #ffee58 !important; +} +.md-color-yellow-500 { + color: #ffeb3b !important; +} +.md-bg-yellow-500 { + background-color: #ffeb3b !important; +} +.md-color-yellow-600 { + color: #fdd835 !important; +} +.md-bg-yellow-600 { + background-color: #fdd835 !important; +} +.md-color-yellow-700 { + color: #fbc02d !important; +} +.md-bg-yellow-700 { + background-color: #fbc02d !important; +} +.md-color-yellow-800 { + color: #f9a825 !important; +} +.md-bg-yellow-800 { + background-color: #f9a825 !important; +} +.md-color-yellow-900 { + color: #f57f17 !important; +} +.md-bg-yellow-900 { + background-color: #f57f17 !important; +} +.md-color-yellow-A100 { + color: #ffff8d !important; +} +.md-bg-yellow-A100 { + background-color: #ffff8d !important; +} +.md-color-yellow-A200 { + color: #ffff00 !important; +} +.md-bg-yellow-A200 { + background-color: #ffff00 !important; +} +.md-color-yellow-A400 { + color: #ffea00 !important; +} +.md-bg-yellow-A400 { + background-color: #ffea00 !important; +} +.md-color-yellow-A700 { + color: #ffd600 !important; +} +.md-bg-yellow-A700 { + background-color: #ffd600 !important; +} +.md-color-amber-50 { + color: #fff8e1 !important; +} +.md-bg-amber-50 { + background-color: #fff8e1 !important; +} +.md-color-amber-100 { + color: #ffecb3 !important; +} +.md-bg-amber-100 { + background-color: #ffecb3 !important; +} +.md-color-amber-200 { + color: #ffe082 !important; +} +.md-bg-amber-200 { + background-color: #ffe082 !important; +} +.md-color-amber-300 { + color: #ffd54f !important; +} +.md-bg-amber-300 { + background-color: #ffd54f !important; +} +.md-color-amber-400 { + color: #ffca28 !important; +} +.md-bg-amber-400 { + background-color: #ffca28 !important; +} +.md-color-amber-500 { + color: #ffc107 !important; +} +.md-bg-amber-500 { + background-color: #ffc107 !important; +} +.md-color-amber-600 { + color: #ffb300 !important; +} +.md-bg-amber-600 { + background-color: #ffb300 !important; +} +.md-color-amber-700 { + color: #ffa000 !important; +} +.md-bg-amber-700 { + background-color: #ffa000 !important; +} +.md-color-amber-800 { + color: #ff8f00 !important; +} +.md-bg-amber-800 { + background-color: #ff8f00 !important; +} +.md-color-amber-900 { + color: #ff6f00 !important; +} +.md-bg-amber-900 { + background-color: #ff6f00 !important; +} +.md-color-amber-A100 { + color: #ffe57f !important; +} +.md-bg-amber-A100 { + background-color: #ffe57f !important; +} +.md-color-amber-A200 { + color: #ffd740 !important; +} +.md-bg-amber-A200 { + background-color: #ffd740 !important; +} +.md-color-amber-A400 { + color: #ffc400 !important; +} +.md-bg-amber-A400 { + background-color: #ffc400 !important; +} +.md-color-amber-A700 { + color: #ffab00 !important; +} +.md-bg-amber-A700 { + background-color: #ffab00 !important; +} +.md-color-orange-50 { + color: #fff3e0 !important; +} +.md-bg-orange-50 { + background-color: #fff3e0 !important; +} +.md-color-orange-100 { + color: #ffe0b2 !important; +} +.md-bg-orange-100 { + background-color: #ffe0b2 !important; +} +.md-color-orange-200 { + color: #ffcc80 !important; +} +.md-bg-orange-200 { + background-color: #ffcc80 !important; +} +.md-color-orange-300 { + color: #ffb74d !important; +} +.md-bg-orange-300 { + background-color: #ffb74d !important; +} +.md-color-orange-400 { + color: #ffa726 !important; +} +.md-bg-orange-400 { + background-color: #ffa726 !important; +} +.md-color-orange-500 { + color: #ff9800 !important; +} +.md-bg-orange-500 { + background-color: #ff9800 !important; +} +.md-color-orange-600 { + color: #fb8c00 !important; +} +.md-bg-orange-600 { + background-color: #fb8c00 !important; +} +.md-color-orange-700 { + color: #f57c00 !important; +} +.md-bg-orange-700 { + background-color: #f57c00 !important; +} +.md-color-orange-800 { + color: #ef6c00 !important; +} +.md-bg-orange-800 { + background-color: #ef6c00 !important; +} +.md-color-orange-900 { + color: #e65100 !important; +} +.md-bg-orange-900 { + background-color: #e65100 !important; +} +.md-color-orange-A100 { + color: #ffd180 !important; +} +.md-bg-orange-A100 { + background-color: #ffd180 !important; +} +.md-color-orange-A200 { + color: #ffab40 !important; +} +.md-bg-orange-A200 { + background-color: #ffab40 !important; +} +.md-color-orange-A400 { + color: #ff9100 !important; +} +.md-bg-orange-A400 { + background-color: #ff9100 !important; +} +.md-color-orange-A700 { + color: #ff6d00 !important; +} +.md-bg-orange-A700 { + background-color: #ff6d00 !important; +} +.md-color-deep-orange-50 { + color: #fbe9e7 !important; +} +.md-bg-deep-orange-50 { + background-color: #fbe9e7 !important; +} +.md-color-deep-orange-100 { + color: #ffccbc !important; +} +.md-bg-deep-orange-100 { + background-color: #ffccbc !important; +} +.md-color-deep-orange-200 { + color: #ffab91 !important; +} +.md-bg-deep-orange-200 { + background-color: #ffab91 !important; +} +.md-color-deep-orange-300 { + color: #ff8a65 !important; +} +.md-bg-deep-orange-300 { + background-color: #ff8a65 !important; +} +.md-color-deep-orange-400 { + color: #ff7043 !important; +} +.md-bg-deep-orange-400 { + background-color: #ff7043 !important; +} +.md-color-deep-orange-500 { + color: #ff5722 !important; +} +.md-bg-deep-orange-500 { + background-color: #ff5722 !important; +} +.md-color-deep-orange-600 { + color: #f4511e !important; +} +.md-bg-deep-orange-600 { + background-color: #f4511e !important; +} +.md-color-deep-orange-700 { + color: #e64a19 !important; +} +.md-bg-deep-orange-700 { + background-color: #e64a19 !important; +} +.md-color-deep-orange-800 { + color: #d84315 !important; +} +.md-bg-deep-orange-800 { + background-color: #d84315 !important; +} +.md-color-deep-orange-900 { + color: #bf360c !important; +} +.md-bg-deep-orange-900 { + background-color: #bf360c !important; +} +.md-color-deep-orange-A100 { + color: #ff9e80 !important; +} +.md-bg-deep-orange-A100 { + background-color: #ff9e80 !important; +} +.md-color-deep-orange-A200 { + color: #ff6e40 !important; +} +.md-bg-deep-orange-A200 { + background-color: #ff6e40 !important; +} +.md-color-deep-orange-A400 { + color: #ff3d00 !important; +} +.md-bg-deep-orange-A400 { + background-color: #ff3d00 !important; +} +.md-color-deep-orange-A700 { + color: #dd2c00 !important; +} +.md-bg-deep-orange-A700 { + background-color: #dd2c00 !important; +} +.md-color-brown-50 { + color: #efebe9 !important; +} +.md-bg-brown-50 { + background-color: #efebe9 !important; +} +.md-color-brown-100 { + color: #d7ccc8 !important; +} +.md-bg-brown-100 { + background-color: #d7ccc8 !important; +} +.md-color-brown-200 { + color: #bcaaa4 !important; +} +.md-bg-brown-200 { + background-color: #bcaaa4 !important; +} +.md-color-brown-300 { + color: #a1887f !important; +} +.md-bg-brown-300 { + background-color: #a1887f !important; +} +.md-color-brown-400 { + color: #8d6e63 !important; +} +.md-bg-brown-400 { + background-color: #8d6e63 !important; +} +.md-color-brown-500 { + color: #795548 !important; +} +.md-bg-brown-500 { + background-color: #795548 !important; +} +.md-color-brown-600 { + color: #6d4c41 !important; +} +.md-bg-brown-600 { + background-color: #6d4c41 !important; +} +.md-color-brown-700 { + color: #5d4037 !important; +} +.md-bg-brown-700 { + background-color: #5d4037 !important; +} +.md-color-brown-800 { + color: #4e342e !important; +} +.md-bg-brown-800 { + background-color: #4e342e !important; +} +.md-color-brown-900 { + color: #3e2723 !important; +} +.md-bg-brown-900 { + background-color: #3e2723 !important; +} +.md-color-grey-50 { + color: #fafafa !important; +} +.md-bg-grey-50 { + background-color: #fafafa !important; +} +.md-color-grey-100 { + color: #f5f5f5 !important; +} +.md-bg-grey-100 { + background-color: #f5f5f5 !important; +} +.md-color-grey-200 { + color: #eeeeee !important; +} +.md-bg-grey-200 { + background-color: #eeeeee !important; +} +.md-color-grey-300 { + color: #e0e0e0 !important; +} +.md-bg-grey-300 { + background-color: #e0e0e0 !important; +} +.md-color-grey-400 { + color: #bdbdbd !important; +} +.md-bg-grey-400 { + background-color: #bdbdbd !important; +} +.md-color-grey-500 { + color: #9e9e9e !important; +} +.md-bg-grey-500 { + background-color: #9e9e9e !important; +} +.md-color-grey-600 { + color: #757575 !important; +} +.md-bg-grey-600 { + background-color: #757575 !important; +} +.md-color-grey-700 { + color: #616161 !important; +} +.md-bg-grey-700 { + background-color: #616161 !important; +} +.md-color-grey-800 { + color: #424242 !important; +} +.md-bg-grey-800 { + background-color: #424242 !important; +} +.md-color-grey-900 { + color: #212121 !important; +} +.md-bg-grey-900 { + background-color: #212121 !important; +} +.md-color-blue-grey-50 { + color: #eceff1 !important; +} +.md-bg-blue-grey-50 { + background-color: #eceff1 !important; +} +.md-color-blue-grey-100 { + color: #cfd8dc !important; +} +.md-bg-blue-grey-100 { + background-color: #cfd8dc !important; +} +.md-color-blue-grey-200 { + color: #b0bec5 !important; +} +.md-bg-blue-grey-200 { + background-color: #b0bec5 !important; +} +.md-color-blue-grey-300 { + color: #90a4ae !important; +} +.md-bg-blue-grey-300 { + background-color: #90a4ae !important; +} +.md-color-blue-grey-400 { + color: #78909c !important; +} +.md-bg-blue-grey-400 { + background-color: #78909c !important; +} +.md-color-blue-grey-500 { + color: #607d8b !important; +} +.md-bg-blue-grey-500 { + background-color: #607d8b !important; +} +.md-color-blue-grey-600 { + color: #546e7a !important; +} +.md-bg-blue-grey-600 { + background-color: #546e7a !important; +} +.md-color-blue-grey-700 { + color: #455a64 !important; +} +.md-bg-blue-grey-700 { + background-color: #455a64 !important; +} +.md-color-blue-grey-800 { + color: #37474f !important; +} +.md-bg-blue-grey-800 { + background-color: #37474f !important; +} +.md-color-blue-grey-900 { + color: #263238 !important; +} +.md-bg-blue-grey-900 { + background-color: #263238 !important; +} +.md-color-white { + color: #fff !important; +} +/* cards */ +.md-card { + background: #fff; + position: relative; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + border: none; +} +.md-card + .md-card, +.md-card + .uk-grid, +.uk-grid + .md-card { + margin-top: 25px; +} +.md-card .full_width_in_card { + padding: 16px 24px; + background: rgba(0, 0, 0, 0.085); +} +.md-card .md-card-toolbar { + height: 64px; + padding: 0 16px; + border-bottom: 1px solid rgba(0, 0, 0, 0.12); + background: #fff; +} +.md-card .md-card-toolbar:before, +.md-card .md-card-toolbar:after { + content: " "; + display: table; +} +.md-card .md-card-toolbar:after { + clear: both; +} +.md-card .md-card-toolbar-heading-text { + font: 500 14px / 50px "Roboto", sans-serif; + color: #212121; + margin: 0; + float: left; + overflow: hidden; + height: 48px; +} +.md-card .md-card-toolbar-heading-text.large { + font-size: 18px; + font-weight: 400; +} +.md-card .md-card-toolbar .md-toggle-group { + float: left; + margin: 8px 0 0 16px; +} +.md-card .md-card-toolbar .md-toggle-group.md-toggle-group-small { + margin-top: 10px; +} +.md-card .md-card-toolbar .md-card-toolbar-actions { + float: right; + padding-top: 10px; +} +.md-card .md-card-toolbar .md-card-toolbar-actions .uk-open .md-card-toolbar-icon { + background: rgba(0, 0, 0, 0.085); + color: #212121; +} +.md-card .md-card-toolbar .md-card-toolbar-actions .md-card-dropdown { + display: inline-block; + position: relative; +} +.md-card .md-card-toolbar .md-card-toolbar-actions .selectize-control { + min-width: 220px; + margin-top: -3px; +} +.md-card .md-card-toolbar .md-card-toolbar-actions .selectize-control .selectize-input { + min-height: 30px; + padding: 4px 8px; +} +.md-card .md-card-toolbar .md-card-toolbar-actions .selectize-control .selectize-dropdown { + margin-top: -34px; +} +.md-card .md-card-toolbar .md-icon + .md-card-dropdown { + margin-left: 4px; +} +.md-card .md-card-toolbar .md-card-fullscreen-deactivate { + margin: 9px 8px 0 0; +} +.md-card .md-card-toolbar-input { + border: none; + font: 400 18px / 24px "Roboto", sans-serif; + height: auto; + background: none !important; + padding: 12px 0; + width: 50%; + box-sizing: border-box; +} +.md-card .md-card-toolbar .uk-tab { + margin-top: -2px; + border-bottom: none; +} +.md-card .md-card-toolbar .uk-tab li > a { + padding: 10px 8px !important; +} +.md-card .md-card-head { + height: 160px; + position: relative; + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} +.md-card .md-card-head-menu { + position: absolute; + right: 8px; + top: 8px; +} +.md-card .md-card-head-avatar { + width: 82px; + height: 82px; + border-radius: 50%; + margin-top: 16px; + border: 2px solid #fff; + display: inline-block; +} +.md-card .md-card-head-text { + padding: 8px 16px 16px; + font: 500 16px / 22px "Roboto", sans-serif; + color: #212121; + margin: 0; +} +.md-card .md-card-head-text span { + display: block; + font: 400 12px / 18px "Roboto", sans-serif; + margin-top: -2px; +} +.md-card .md-card-head-text.text_dark { + color: #212121 !important; +} +.md-card .md-card-head-text-over { + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%); +} +.md-card .md-card-head-subtext { + position: absolute; + bottom: 10px; + left: 0; + right: 0; + padding: 0 16px; + text-align: right; + color: #fff; +} +.md-card .md-card-head-subtext span { + font-size: 26px; +} +.md-card .md-card-head-icon { + font-size: 48px; + color: #fff; + vertical-align: middle; +} +.md-card .md-card-head.head_background { + background-repeat: no-repeat; + background-position: center center; + background-size: cover; + border-bottom-color: transparent; +} +.md-card .md-card-head.head_background .md-card-head-text { + color: #fff; +} +.md-card .md-card-head.head_background_top { + background-repeat: no-repeat; + background-position: center top; +} +.md-card .md-card-head.head_background_bottom { + background-repeat: no-repeat; + background-position: center bottom; +} +.md-card .md-card-head .head_chart { + height: 100px; + width: 100%; + position: absolute !important; + left: 0; + top: 40px; +} +.md-card .md-card-head .fitVid_player { + width: 100%; + height: 160px; + overflow: hidden; +} +.md-card .md-card-head-img { + height: 100%; + width: auto; +} +.md-card .md-card-head iframe { + height: 160px; +} +.md-card .md-card-content { + padding: 16px; +} +.md-card .md-card-content.padding-reset { + padding: 0; +} +.md-card .md-card-content.large-padding { + padding: 24px 35px; +} +.md-card .md-card-content.small-padding { + padding: 8px; +} +.md-card .md-card-footer { + padding: 16px; + font-size: 14px; + line-height: 18px; +} +.md-card .md-card-footer .md-card-footer-head { + font: 500 16px / 20px "Roboto", sans-serif; + margin: 0 0 4px; +} +.md-card.md-card-fullscreen { + position: fixed; + z-index: 9998; + overflow-x: hidden; +} +.md-card.md-card-fullscreen .md-card-fullscreen-activate { + display: none; +} +.md-card .md-card-fullscreen-content { + display: none; + padding: 16px 0; +} +.md-card-fullscreen-content-hidden .md-card .md-card-fullscreen-content { + display: block; + visibility: hidden; + padding: 0; +} +.md-card.mdToolbar_fixed { + overflow-y: hidden; +} +.md-card.mdToolbar_fixed > .md-card-toolbar { + position: fixed; + left: 0; + right: 0; + top: 0; + z-index: 9999; + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); +} +.md-card.mdToolbar_fixed > .md-card-content { + overflow-y: scroll; + box-sizing: border-box; + position: absolute; + width: 100%; + top: 64px; + bottom: 0; +} +.md-card.md-card-overlay { + overflow: hidden; + padding-bottom: 54px; +} +.md-card.md-card-overlay .md-card-content { + height: 142px; + overflow: hidden; + box-sizing: border-box; +} +.md-card.md-card-overlay .md-card-content.no_truncate { + position: relative; +} +.md-card.md-card-overlay .md-card-content.no_truncate:after { + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 8px; + background-image: linear-gradient(to top, #ffffff 50%, rgba(255, 255, 255, 0) 100%); + display: block; + content: ''; + z-index: 10; +} +.md-card.md-card-overlay .md-card-content > pre { + margin-top: 0; + max-height: 110px; +} +.md-card.md-card-overlay .md-card-content > pre > code { + overflow: hidden; +} +.md-card.md-card-overlay .md-card-overlay-content { + position: absolute; + top: 100%; + left: 0; + right: 0; + padding: 0 16px; + margin-top: -54px; + border-top: 1px solid rgba(0, 0, 0, 0.12); + text-align: left; + bottom: 0; + background: #fff; + z-index: 10; + transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1); +} +.md-card.md-card-overlay .md-card-overlay-content p { + margin: 0; +} +.md-card.md-card-overlay .md-card-overlay-content p + * { + margin-top: 16px; +} +.md-card.md-card-overlay .md-card-overlay-content p + p { + margin-top: 4px; +} +.md-card.md-card-overlay .md-card-overlay-header { + padding: 12px 0; +} +.md-card.md-card-overlay .md-card-overlay-header:before, +.md-card.md-card-overlay .md-card-overlay-header:after { + content: " "; + display: table; +} +.md-card.md-card-overlay .md-card-overlay-header:after { + clear: both; +} +.md-card.md-card-overlay .md-card-overlay-header h3, +.md-card.md-card-overlay .md-card-overlay-header h4 { + margin: 0; + text-overflow: ellipsis; + display: inline-block; + vertical-align: top; + white-space: nowrap; + overflow: hidden; + width: 100%; + padding-right: 32px; + box-sizing: border-box; +} +.md-card.md-card-overlay .md-card-overlay-header h3 { + font: 400 16px / 30px "Roboto", sans-serif; +} +.md-card.md-card-overlay .md-card-overlay-header h4 { + font: 500 14px / 30px "Roboto", sans-serif; +} +.md-card.md-card-overlay .md-card-overlay-header .md-icon { + position: absolute; + right: 12px; + top: 11px; +} +.md-card.md-card-overlay-active .md-card-overlay-content { + top: -1px; + margin-top: 0; +} +.md-card.md-card-hover { + transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1); + will-change: box-shadow; +} +.md-card.md-card-hover:hover { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} +.uk-sortable-dragged .md-card { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} +.uk-sortable-dragged .md-card canvas { + margin: 0 auto; + display: block; +} +.md-card .heading_list { + padding: 0; +} +.md-card-primary, +.md-card-success, +.md-card-danger, +.md-card-warning { + border-left: 4px solid transparent; +} +.md-card-primary { + border-left-color: #2196f3; +} +.md-card-success { + border-left-color: #7cb342; +} +.md-card-danger { + border-left-color: #e53935; +} +.md-card-warning { + border-left-color: #ffa000; +} +.md-expand, +.md-expand-group > * { + opacity: 0; +} +.md-card-placeholder { + min-width: 100%; +} +.md-card-list-wrapper, +.md-card-list-wrapper:before, +.md-card-list-wrapper:after, +.md-card-list-wrapper *, +.md-card-list-wrapper *:before, +.md-card-list-wrapper *:after { + box-sizing: border-box; +} +.md-card-list-wrapper .md-card-list-header { + position: absolute; + top: -24px; + left: 0; +} +.md-card-list-wrapper .md-card-list { + margin: 48px 0 0 0; + position: relative; +} +.md-card-list-wrapper .md-card-list:first-child { + margin-top: 24px; +} +.md-card-list-wrapper .md-card-list > ul { + margin: 0; + padding: 0; + list-style: none; +} +.md-card-list-wrapper .md-card-list > ul > li { + padding: 0; + margin: 0; + list-style: none; +} +.md-card-list-wrapper .md-card-list > ul > li { + min-height: 34px; + padding: 8px 16px; + font-size: 13px; + transition: background 150ms,padding 200ms; + background: #fff; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); +} +.md-card-list-wrapper .md-card-list > ul > li:before, +.md-card-list-wrapper .md-card-list > ul > li:after { + content: " "; + display: table; +} +.md-card-list-wrapper .md-card-list > ul > li:after { + clear: both; +} +.md-card-list-wrapper .md-card-list > ul > li.item-shown { + background: #fff; + padding: 8px 36px; +} +@media only screen and (max-width: 767px) { + .md-card-list-wrapper .md-card-list > ul > li.item-shown .md-card-list-item-subject { + clear: both; + float: none; + padding-top: 16px; + } + .md-card-list-wrapper .md-card-list > ul > li.item-shown .md-card-list-item-subject > span { + white-space: normal; + } +} +.md-card-list-wrapper .md-card-list > ul > li.item-shown .md-card-list-item-sender { + width: auto; + overflow: hidden; +} +.md-card-list-wrapper .md-card-list > ul > li.item-shown.md-card-list-item-selected { + position: relative; +} +.md-card-list-wrapper .md-card-list > ul > li.item-shown.md-card-list-item-selected:before { + content: ''; + position: absolute; + display: block; + left: 0; + top: 0; + bottom: 0; + width: 8px; + background: #e3f2fd; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-select, +.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper, +.md-card-list-wrapper .md-card-list .md-card-list-item-sender { + float: left; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-select { + padding: 6px 8px 0 0; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper, +.md-card-list-wrapper .md-card-list .md-card-list-item-sender, +.md-card-list-wrapper .md-card-list .md-card-list-item-subject, +.md-card-list-wrapper .md-card-list .md-card-list-item-date { + padding: 0 8px; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper .md-card-list-item-avatar { + background: #757575; + color: #fff; + width: 34px; + border-radius: 50%; + display: block; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper .md-card-list-item-avatar-large { + width: 82px; + border-radius: 50%; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper span.md-card-list-item-avatar { + line-height: 34px; + text-transform: uppercase; + text-align: center; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-sender { + width: 220px; + line-height: 34px; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-sender > span { + text-overflow: ellipsis; + display: inline-block; + vertical-align: top; + white-space: nowrap; + overflow: hidden; + width: 100%; +} +@media only screen and (max-width: 1219px) { + .md-card-list-wrapper .md-card-list .md-card-list-item-sender { + display: none; + } +} +.md-card-list-wrapper .md-card-list .md-card-list-item-subject { + overflow: hidden; + font-weight: 500; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-subject > span { + line-height: 34px; + text-overflow: ellipsis; + display: inline-block; + vertical-align: top; + white-space: nowrap; + overflow: hidden; + width: 100%; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small { + display: none; +} +@media only screen and (max-width: 1219px) { + .md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small { + display: block; + } + .md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small + span { + line-height: inherit; + } +} +.md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small > span { + text-overflow: ellipsis; + display: inline-block; + vertical-align: top; + white-space: nowrap; + overflow: hidden; + width: 100%; + font-size: 12px; + color: #999; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-date { + line-height: 34px; + float: right; + color: #999; +} +@media only screen and (max-width: 479px) { + .md-card-list-wrapper .md-card-list .md-card-list-item-date { + display: none; + } +} +.md-card-list-wrapper .md-card-list .md-card-list-item-menu { + float: right; + margin: 0 0 0 8px; + position: relative; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-menu .uk-dropdown .material-icons { + margin-right: 8px; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-content-wrapper { + display: none; + clear: both; + opacity: 0; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-content { + padding: 16px 16px 0 0; + max-height: 360px; + overflow-x: hidden; + margin: 0 0 40px; + top: 20px; + position: relative; + font-size: 14px; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-content + .md-card-list-item-reply { + padding-top: 10px; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-reply { + padding: 16px 0; +} +.md-card-list-wrapper .md-card-list .md-card-list-item-selected { + background: #e3f2fd; +} +/* forms */ +select, +textarea, +input:not([type]), +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"] { + outline: none; +} +select.md-input, +textarea.md-input, +input:not([type]).md-input, +input[type="text"].md-input, +input[type="password"].md-input, +input[type="datetime"].md-input, +input[type="datetime-local"].md-input, +input[type="date"].md-input, +input[type="month"].md-input, +input[type="time"].md-input, +input[type="week"].md-input, +input[type="number"].md-input, +input[type="email"].md-input, +input[type="url"].md-input, +input[type="search"].md-input, +input[type="tel"].md-input, +input[type="color"].md-input { + border-radius: 0; + border-width: 0 0 1px; + border-style: solid; + border-color: rgba(0, 0, 0, 0.12); + font: 400 15px / 18px "Roboto", sans-serif; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0); + box-sizing: border-box; + padding: 12px 4px; + background: transparent; + width: 100%; + display: block; +} +select.md-input.md-input-danger, +textarea.md-input.md-input-danger, +input:not([type]).md-input.md-input-danger, +input[type="text"].md-input.md-input-danger, +input[type="password"].md-input.md-input-danger, +input[type="datetime"].md-input.md-input-danger, +input[type="datetime-local"].md-input.md-input-danger, +input[type="date"].md-input.md-input-danger, +input[type="month"].md-input.md-input-danger, +input[type="time"].md-input.md-input-danger, +input[type="week"].md-input.md-input-danger, +input[type="number"].md-input.md-input-danger, +input[type="email"].md-input.md-input-danger, +input[type="url"].md-input.md-input-danger, +input[type="search"].md-input.md-input-danger, +input[type="tel"].md-input.md-input-danger, +input[type="color"].md-input.md-input-danger { + border-color: #e53935; +} +select.md-input.md-input-danger:focus, +textarea.md-input.md-input-danger:focus, +input:not([type]).md-input.md-input-danger:focus, +input[type="text"].md-input.md-input-danger:focus, +input[type="password"].md-input.md-input-danger:focus, +input[type="datetime"].md-input.md-input-danger:focus, +input[type="datetime-local"].md-input.md-input-danger:focus, +input[type="date"].md-input.md-input-danger:focus, +input[type="month"].md-input.md-input-danger:focus, +input[type="time"].md-input.md-input-danger:focus, +input[type="week"].md-input.md-input-danger:focus, +input[type="number"].md-input.md-input-danger:focus, +input[type="email"].md-input.md-input-danger:focus, +input[type="url"].md-input.md-input-danger:focus, +input[type="search"].md-input.md-input-danger:focus, +input[type="tel"].md-input.md-input-danger:focus, +input[type="color"].md-input.md-input-danger:focus { + border-bottom-color: #e53935; +} +select.md-input.md-input-success, +textarea.md-input.md-input-success, +input:not([type]).md-input.md-input-success, +input[type="text"].md-input.md-input-success, +input[type="password"].md-input.md-input-success, +input[type="datetime"].md-input.md-input-success, +input[type="datetime-local"].md-input.md-input-success, +input[type="date"].md-input.md-input-success, +input[type="month"].md-input.md-input-success, +input[type="time"].md-input.md-input-success, +input[type="week"].md-input.md-input-success, +input[type="number"].md-input.md-input-success, +input[type="email"].md-input.md-input-success, +input[type="url"].md-input.md-input-success, +input[type="search"].md-input.md-input-success, +input[type="tel"].md-input.md-input-success, +input[type="color"].md-input.md-input-success { + border-color: #7cb342; +} +select.md-input.md-input-success:focus, +textarea.md-input.md-input-success:focus, +input:not([type]).md-input.md-input-success:focus, +input[type="text"].md-input.md-input-success:focus, +input[type="password"].md-input.md-input-success:focus, +input[type="datetime"].md-input.md-input-success:focus, +input[type="datetime-local"].md-input.md-input-success:focus, +input[type="date"].md-input.md-input-success:focus, +input[type="month"].md-input.md-input-success:focus, +input[type="time"].md-input.md-input-success:focus, +input[type="week"].md-input.md-input-success:focus, +input[type="number"].md-input.md-input-success:focus, +input[type="email"].md-input.md-input-success:focus, +input[type="url"].md-input.md-input-success:focus, +input[type="search"].md-input.md-input-success:focus, +input[type="tel"].md-input.md-input-success:focus, +input[type="color"].md-input.md-input-success:focus { + border-bottom-color: #7cb342; +} +select.md-input:focus, +textarea.md-input:focus, +input:not([type]).md-input:focus, +input[type="text"].md-input:focus, +input[type="password"].md-input:focus, +input[type="datetime"].md-input:focus, +input[type="datetime-local"].md-input:focus, +input[type="date"].md-input:focus, +input[type="month"].md-input:focus, +input[type="time"].md-input:focus, +input[type="week"].md-input:focus, +input[type="number"].md-input:focus, +input[type="email"].md-input:focus, +input[type="url"].md-input:focus, +input[type="search"].md-input:focus, +input[type="tel"].md-input:focus, +input[type="color"].md-input:focus { + background: transparent; + border-color: rgba(0, 0, 0, 0.12); +} +select.md-input-small, +textarea.md-input-small, +input:not([type]).md-input-small, +input[type="text"].md-input-small, +input[type="password"].md-input-small, +input[type="datetime"].md-input-small, +input[type="datetime-local"].md-input-small, +input[type="date"].md-input-small, +input[type="month"].md-input-small, +input[type="time"].md-input-small, +input[type="week"].md-input-small, +input[type="number"].md-input-small, +input[type="email"].md-input-small, +input[type="url"].md-input-small, +input[type="search"].md-input-small, +input[type="tel"].md-input-small, +input[type="color"].md-input-small { + padding: 4px; +} +select.md-input.uk-form-width-mini, +textarea.md-input.uk-form-width-mini, +input:not([type]).md-input.uk-form-width-mini, +input[type="text"].md-input.uk-form-width-mini, +input[type="password"].md-input.uk-form-width-mini, +input[type="datetime"].md-input.uk-form-width-mini, +input[type="datetime-local"].md-input.uk-form-width-mini, +input[type="date"].md-input.uk-form-width-mini, +input[type="month"].md-input.uk-form-width-mini, +input[type="time"].md-input.uk-form-width-mini, +input[type="week"].md-input.uk-form-width-mini, +input[type="number"].md-input.uk-form-width-mini, +input[type="email"].md-input.uk-form-width-mini, +input[type="url"].md-input.uk-form-width-mini, +input[type="search"].md-input.uk-form-width-mini, +input[type="tel"].md-input.uk-form-width-mini, +input[type="color"].md-input.uk-form-width-mini { + width: 40px; +} +select.md-input.uk-form-width-small, +textarea.md-input.uk-form-width-small, +input:not([type]).md-input.uk-form-width-small, +input[type="text"].md-input.uk-form-width-small, +input[type="password"].md-input.uk-form-width-small, +input[type="datetime"].md-input.uk-form-width-small, +input[type="datetime-local"].md-input.uk-form-width-small, +input[type="date"].md-input.uk-form-width-small, +input[type="month"].md-input.uk-form-width-small, +input[type="time"].md-input.uk-form-width-small, +input[type="week"].md-input.uk-form-width-small, +input[type="number"].md-input.uk-form-width-small, +input[type="email"].md-input.uk-form-width-small, +input[type="url"].md-input.uk-form-width-small, +input[type="search"].md-input.uk-form-width-small, +input[type="tel"].md-input.uk-form-width-small, +input[type="color"].md-input.uk-form-width-small { + width: 130px; +} +select.md-input.uk-form-width-medium, +textarea.md-input.uk-form-width-medium, +input:not([type]).md-input.uk-form-width-medium, +input[type="text"].md-input.uk-form-width-medium, +input[type="password"].md-input.uk-form-width-medium, +input[type="datetime"].md-input.uk-form-width-medium, +input[type="datetime-local"].md-input.uk-form-width-medium, +input[type="date"].md-input.uk-form-width-medium, +input[type="month"].md-input.uk-form-width-medium, +input[type="time"].md-input.uk-form-width-medium, +input[type="week"].md-input.uk-form-width-medium, +input[type="number"].md-input.uk-form-width-medium, +input[type="email"].md-input.uk-form-width-medium, +input[type="url"].md-input.uk-form-width-medium, +input[type="search"].md-input.uk-form-width-medium, +input[type="tel"].md-input.uk-form-width-medium, +input[type="color"].md-input.uk-form-width-medium { + width: 200px; +} +select.md-input.uk-form-width-large, +textarea.md-input.uk-form-width-large, +input:not([type]).md-input.uk-form-width-large, +input[type="text"].md-input.uk-form-width-large, +input[type="password"].md-input.uk-form-width-large, +input[type="datetime"].md-input.uk-form-width-large, +input[type="datetime-local"].md-input.uk-form-width-large, +input[type="date"].md-input.uk-form-width-large, +input[type="month"].md-input.uk-form-width-large, +input[type="time"].md-input.uk-form-width-large, +input[type="week"].md-input.uk-form-width-large, +input[type="number"].md-input.uk-form-width-large, +input[type="email"].md-input.uk-form-width-large, +input[type="url"].md-input.uk-form-width-large, +input[type="search"].md-input.uk-form-width-large, +input[type="tel"].md-input.uk-form-width-large, +input[type="color"].md-input.uk-form-width-large { + width: 500px; +} +select.md-input.uk-form-width-mini { + width: 65px; +} +.md-input-width-small { + min-width: 80px !important; +} +.md-input-width-medium { + min-width: 160px !important; +} +.md-input-width-large { + min-width: 320px !important; +} +textarea.md-input { + min-height: 80px; + resize: none; + overflow: hidden; + transition: height 200ms ease-out; + line-height: 24px; +} +textarea.no_autosize { + min-height: inherit; + overflow: auto; + transition: none; + resize: both; +} +.md-input-wrapper { + position: relative; + padding-top: 4px; + width: 100%; + display: block; +} +.md-input-wrapper .md-input-bar { + display: block; + position: absolute; + bottom: 0; + left: 0; + width: 100%; +} +.md-input-wrapper .md-input-bar:before, +.md-input-wrapper .md-input-bar:after { + content: ''; + display: block; + position: absolute; + bottom: 0; + width: 0; + height: 2px; + background: #1976d2; + transition: width 400ms cubic-bezier(0.4, 0, 0.2, 1); +} +.md-input-wrapper .md-input-bar:before { + left: 50%; +} +.md-input-wrapper .md-input-bar:after { + right: 50%; +} +.md-input-wrapper .md-input-bar.uk-form-width-mini { + width: 40px; +} +.md-input-wrapper .md-input-bar.uk-form-width-small { + width: 130px; +} +.md-input-wrapper .md-input-bar.uk-form-width-medium { + width: 200px; +} +.md-input-wrapper .md-input-bar.uk-form-width-large { + width: 500px; +} +.md-input-wrapper > label { + color: #727272; + position: absolute; + top: 16px; + left: 4px; + right: 0; + pointer-events: none; + transition: all 150ms ease-out; +} +.md-input-wrapper + * { + margin-top: 10px; +} +.md-input-wrapper.md-input-wrapper-disabled > label { + color: rgba(0, 0, 0, 0.26); +} +.md-input-wrapper-count { + padding-bottom: 24px; +} +.md-input-wrapper-count .md-input-bar { + bottom: 24px; +} +.md-input-wrapper-count .text-count-wrapper { + font-size: 12px; + position: absolute; + right: 0; + bottom: 0; + opacity: 0; + transition: opacity 200ms ease-in; +} +.md-input-wrapper-count > .md-input-wrapper-count .text-count-wrapper { + position: absolute; + bottom: 0; + right: 0; +} +.md-input-filled > label, +.md-input-focus > label { + top: -6px; + font-size: 12px; +} +.md-input-filled.md-input-wrapper-count .text-count-wrapper, +.md-input-focus.md-input-wrapper-count .text-count-wrapper { + opacity: 1; +} +.md-input-focus .md-input-bar:before, +.md-input-focus .md-input-bar:after { + width: 50%; +} +.md-input-wrapper-danger .md-input-bar:before, +.md-input-wrapper-danger .md-input-bar:after { + background: #e53935; +} +.md-input-wrapper-danger.md-input-wrapper-count .text-count-wrapper { + color: #e53935; +} +.md-input-wrapper-success .md-input-bar:before, +.md-input-wrapper-success .md-input-bar:after { + background: #7cb342; +} +.md-input-wrapper-success.md-input-wrapper-count .text-count-wrapper { + color: #7cb342; +} +.md-form-group { + position: relative; +} +label.md-label { + color: #999; + padding: 0 6px; + font-size: 11px; +} +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../icons/material-design-icons/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local('Material Icons'), local('MaterialIcons-Regular'), url("../icons/material-design-icons/MaterialIcons-Regular.woff2") format('woff2'), url("../icons/material-design-icons/MaterialIcons-Regular.woff") format('woff'), url("../icons/material-design-icons/MaterialIcons-Regular.ttf") format('truetype'); +} +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 18px; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + vertical-align: -4px; + color: rgba(0, 0, 0, 0.54); +} +.material-icons.md-inactive { + color: rgba(0, 0, 0, 0.26); +} +.material-icons.md-24 { + font-size: 24px; + vertical-align: -8px; +} +.material-icons.md-36 { + font-size: 36px; + vertical-align: -16px; +} +.material-icons.md-48 { + font-size: 48px; + vertical-align: -24px; +} +.material-icons.md-light { + color: #ffffff; +} +.material-icons.md-light.md-inactive { + color: rgba(255, 255, 255, 0.3); +} +/* list */ +.md-list { + margin: 0; + padding: 0; + list-style: none; + /*&-outside-wrapper { + overflow: hidden; + }*/ +} +.md-list > li { + padding: 0; + margin: 0; + list-style: none; +} +.md-list, +.md-list:before, +.md-list:after, +.md-list *, +.md-list *:before, +.md-list *:after { + box-sizing: border-box; +} +.md-list .uk-nestable-list > li, +.md-list > li { + min-height: 48px; + padding: 8px 4px; + box-sizing: border-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.12); + position: relative; +} +.md-list .uk-nestable-list > li > .md-list-content, +.md-list > li > .md-list-content { + overflow: hidden; +} +.md-list .uk-nestable-list > li > .md-list-content > span, +.md-list > li > .md-list-content > span { + display: block; +} +.md-list .uk-nestable-list > li > .md-list-content .md-list-heading, +.md-list > li > .md-list-content .md-list-heading { + margin: 0; + font-weight: 500; + display: block; + overflow: hidden; + padding-bottom: 1px; +} +.md-list .uk-nestable-list > li > .md-list-content .md-list-menu, +.md-list > li > .md-list-content .md-list-menu { + float: right; +} +.md-list .uk-nestable-list > li > .md-list-content .md-list-menu .md-list-menu-toggle, +.md-list > li > .md-list-content .md-list-menu .md-list-menu-toggle { + display: block; + font-size: 18px; + color: rgba(0, 0, 0, 0.8); + width: 28px; + height: 28px; + line-height: 28px; + border-radius: 14px; + text-align: center; +} +.md-list .uk-nestable-list > li > .md-list-content .uk-badge, +.md-list > li > .md-list-content .uk-badge { + float: right; + color: #fff !important; +} +.md-list .uk-nestable-list > li > .md-list-content .md-list-action, +.md-list > li > .md-list-content .md-list-action { + float: right; + margin-left: 8px; + margin-top: 2px; + display: none; +} +.md-list .uk-nestable-list > li > .md-list-content .md-list-action-placeholder, +.md-list > li > .md-list-content .md-list-action-placeholder { + float: right; + margin-left: 8px; + display: none; + width: 32px; + height: 32px; +} +.md-list .uk-nestable-list > li .md-list-action-dropdown, +.md-list > li .md-list-action-dropdown { + position: absolute; + right: 16px; + top: 10px; + display: none; +} +.md-list .uk-nestable-list > li > a.md-list-content, +.md-list > li > a.md-list-content { + display: block; + color: #212121; +} +.md-list .uk-nestable-list > li:last-child, +.md-list > li:last-child { + border-bottom: none; +} +.md-list .uk-nestable-list > li.md-list-item-active, +.md-list > li.md-list-item-active { + color: #7cb342; + background: #ededed; +} +.md-list .uk-nestable-list > li.md-list-item-disabled > .md-list-content, +.md-list > li.md-list-item-disabled > .md-list-content { + color: #bdbdbd; +} +.md-list .uk-nestable-list > li.md-list-item-disabled > .md-list-content span, +.md-list > li.md-list-item-disabled > .md-list-content span { + color: #bdbdbd !important; +} +.md-list .uk-nestable-list > li.heading_list, +.md-list > li.heading_list { + min-height: 32px; + padding: 32px 8px 16px; + border-bottom: none; + background: transparent !important; + text-transform: uppercase; +} +.uk-touch .md-list .uk-nestable-list > li > .md-list-addon-element .uk-nestable-handle, +.uk-touch .md-list > li > .md-list-addon-element .uk-nestable-handle, +.md-list .uk-nestable-list > li:hover > .md-list-addon-element .uk-nestable-handle, +.md-list > li:hover > .md-list-addon-element .uk-nestable-handle { + display: block; +} +.uk-touch .md-list .uk-nestable-list > li > .md-list-content .md-list-action, +.uk-touch .md-list > li > .md-list-content .md-list-action, +.md-list .uk-nestable-list > li:hover > .md-list-content .md-list-action, +.md-list > li:hover > .md-list-content .md-list-action, +.uk-touch .md-list .uk-nestable-list > li > .md-list-content .md-list-action-placeholder, +.uk-touch .md-list > li > .md-list-content .md-list-action-placeholder, +.md-list .uk-nestable-list > li:hover > .md-list-content .md-list-action-placeholder, +.md-list > li:hover > .md-list-content .md-list-action-placeholder { + display: block; +} +.uk-touch .md-list .uk-nestable-list > li .md-list-action-dropdown, +.uk-touch .md-list > li .md-list-action-dropdown, +.md-list .uk-nestable-list > li:hover .md-list-action-dropdown, +.md-list > li:hover .md-list-action-dropdown { + display: block; +} +.md-list .uk-nestable-list > li { + margin-left: 64px; +} +.md-list-addon > li { + margin-left: 64px; + position: relative; +} +.md-list-addon > li:last-child .md-list-addon-element { + border-bottom: none; + bottom: 0; +} +.md-list-addon > li:first-child .md-list-addon-element { + top: 0; +} +.md-list-addon > li.md-list-item-active .md-list-addon-element, +.md-list-addon > li.md-list-item-active .md-list-addon-element .material-icons { + color: #7cb342; +} +.md-list-addon-element { + position: absolute; + left: -64px; + top: -1px; + bottom: -1px; + width: 64px; + text-align: center; + padding: 8px 0; + display: block; +} +.md-list-addon-element .element-status { + position: absolute; + right: 12px; + top: 10px; + width: 12px; + height: 12px; + border-radius: 50%; + background: #bdbdbd; + border: 1px solid #fff; +} +.md-list-addon-element .element-status-danger { + background: #e53935; +} +.md-list-addon-element .element-status-success { + background: #7cb342; +} +.md-list-addon-element .element-status-warning { + background: #ffa000; +} +.md-list-addon-element > .md-list-addon-avatar { + margin-top: 2px; +} +.md-list-addon-element > .md-list-addon-icon { + font-size: 28px; + margin-top: 4px; + color: #727272; +} +.md-list-addon-element > .material-icons { + margin-top: 6px; +} +.md-list-addon-element .iradio_md, +.md-list-addon-element .icheckbox_md { + margin-top: 10px; +} +.md-list-addon-element .uk-nestable-handle { + position: absolute; + left: -2px; + top: 12px; + display: none; +} +.md-list-interactive li { + cursor: pointer; +} +.md-list-bg { + background: #fff; +} +.md-list-separated li { + background: #fff; + padding: 8px; +} +.md-list-separated li + li { + border-top: none; + margin-top: 8px; +} +.md-list-bg-no-sep { + background: #fff; + padding: 8px; +} +.md-list-bg-no-sep li > .md-list-content { + padding: 0 4px; +} +.md-list-outside > li { + padding: 0; +} +.md-list-outside > li > .md-list-content { + padding: 8px 16px; + display: block; + color: #212121; +} +.md-list-outside > li.md-list-item-active, +.md-list-outside > li:hover:not(.heading_list) { + background: rgba(0, 0, 0, 0.085); +} +.md-list-outside > li.heading_list { + padding: 32px 16px 16px; +} +.md-list-outside.md-list-addon li { + margin-left: 0; +} +.md-list-outside.md-list-addon li .md-list-addon-element { + position: relative; + top: auto; + left: auto; + float: left; +} +.md-list-outside.md-list-addon li .md-list-content { + padding-left: 0; +} +.md-list .uk-nestable-list { + padding-left: 0; +} +.md-list .uk-nestable-list .uk-nestable-item { + padding-right: 0; +} +.md-list .uk-nestable-item + .uk-nestable-item { + margin-top: 0; +} +.md-list-right.md-list-addon > li { + margin-left: 0; + margin-right: 64px; +} +.md-list-right.md-list-addon > li .md-list-addon-element { + left: auto; + right: -64px; +} +.md-list-borderless > li { + border-bottom: none; +} +.uk-touch .md-list-addon-element .uk-nestable-handle { + display: block !important; +} +.uk-touch .md-list-content .md-list-action, +.uk-touch .md-list-content .md-list-action-placeholder { + display: block !important; +} +.uk-touch .md-list-action-dropdown { + display: block !important; +} +/* panels */ +.md-panel-full { + position: relative; + overflow: hidden; + min-height: 100%; +} +.md-panel-full, +.md-panel-full:before, +.md-panel-full:after, +.md-panel-full *, +.md-panel-full *:before, +.md-panel-full *:after { + box-sizing: border-box; +} +.md-panel-full > .uk-grid { + height: 100%; +} +.md-panel-full > .uk-grid [class*=uk-width] { + height: 100%; +} +.md-panel-full .md-panel-full-aside { + margin: 16px 16px 32px; + padding: 16px; +} +.md-panel-full .md-panel-full-aside.md-panel-full-aside-bg { + background: #fff; +} +.md-panel-full .md-panel-full-content { + background: #fff; + padding: 25px 25px 90px; + width: inherit; + min-width: 100%; + min-height: 100%; +} +.md-panel-full .md-panel-full-content > .md-panel-full-content-inner { + position: relative; + z-index: 10; +} +.md-panel-full .md-panel-full-content:before { + width: inherit; + content: ''; + position: absolute; + background: #fff; + display: block; + right: 0; + top: 0; + bottom: 0; + box-shadow: -2px 2px 5px rgba(0, 0, 0, 0.26); + z-index: 5; +} +.md-panel-full .md-panel-full-content .md-panel-full-content-header { + margin-bottom: 24px; +} +.md-panel-full .md-panel-full-content .md-panel-full-content-header .md-panel-full-content-menu { + float: right; +} +/* top bar */ +.md-top-bar .md-top-bar-checkbox { + padding-top: 10px; +} +.md-top-bar .md-top-bar-icons { + margin-top: 5px; +} +.md-top-bar .md-top-bar-icons, +.md-top-bar .md-top-bar-checkbox { + display: inline-block; +} +.md-top-bar .md-btn-group { + margin-top: 4px; +} +.md-top-bar .md-top-bar-actions-left { + float: left; + padding-left: 16px; +} +.md-top-bar .md-top-bar-actions-left .md-btn-group { + margin-left: 8px; +} +.md-top-bar .md-top-bar-actions-right { + float: right; + padding-right: 16px; +} +.md-top-bar .md-top-bar-actions-right .md-btn-group { + margin-right: 8px; +} +.md-top-bar .md-btn-small { + padding: 2px 12px; +} +/*** utils ***/ +/* avatar */ +.md-user-image { + width: 34px; + border-radius: 50%; +} +.md-user-image-large { + width: 82px; + border-radius: 50%; +} +.md-user-placeholder { + background-color: rgba(0, 0, 0, 0.085); + width: 34px; + height: 34px; + border-radius: 50%; +} +.md-user-letters { + display: inline-block; + line-height: 35px; + width: 34px; + height: 34px; + border-radius: 50%; + text-align: center; + text-transform: uppercase; + font-weight: 500; + background-color: rgba(0, 0, 0, 0.085); +} +/* icons */ +.md-icon { + font-size: 24px; + line-height: 32px !important; + height: 32px !important; + color: #727272; + border-radius: 50%; + cursor: pointer; + transition: background 280ms ease-out, color 280ms ease-out; + width: 32px !important; + text-align: center; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +.md-icon:hover, +.md-icon:focus, +.md-icon:active, +.md-icon.active { + color: #212121; + background: rgba(0, 0, 0, 0.08); +} +.md-icon-light { + color: #fff; +} +.md-icon-light:hover, +.md-icon-light:focus, +.md-icon-light:active { + color: #fff; + background: rgba(0, 0, 0, 0.2); +} +.md-icon-dark { + color: #212121; +} +.md-icon-dark:hover, +.md-icon-dark:focus, +.md-icon-dark:active { + color: #212121; + background: rgba(255, 255, 255, 0.6); +} +.md-icon + .md-icon { + margin-left: 4px; +} +.md-icon-btn { + display: inline-block; +} +.md-icon-btn.active .md-icon { + color: #212121; + background: rgba(0, 0, 0, 0.08); +} +button.md-icon { + background: none; + border: none; + outline: none; +} +.uk-open .md-icon { + color: #212121; + background: rgba(0, 0, 0, 0.08); +} +.uk-open .md-icon-light { + color: #fff; + background: rgba(0, 0, 0, 0.2); +} +.uk-open .md-icon-dark { + color: #212121; + background: rgba(255, 255, 255, 0.6); +} +/* dropdown list */ +.md-list-inputs { + margin: 0; + padding: 0; + list-style: none; +} +.md-list-inputs > li { + padding: 0; + margin: 0; + list-style: none; +} +.md-list-inputs li + li { + margin-top: 8px; +} +.md-list-inputs li .icheckbox_md { + float: left; +} +.md-list-inputs li label { + overflow: hidden; + padding-left: 8px; + display: block; + cursor: pointer; +} +/* hr */ +.md-hr { + margin: 32px 0; + height: 0; + border-top: 2px solid rgba(0, 0, 0, 0.12); +} +/* animated show */ +@-webkit-keyframes hierarchical_show { + 0% { + opacity: 0; + transform: scale3d(0.2, 0.2, 2); + } + 50% { + opacity: 1; + } + 100% { + transform: scale3d(1, 1, 1); + } +} +@keyframes hierarchical_show { + 0% { + opacity: 0; + transform: scale3d(0.2, 0.2, 2); + } + 50% { + opacity: 1; + } + 100% { + transform: scale3d(1, 1, 1); + } +} +.hierarchical_show { + will-change: transform, opacity; +} +.hierarchical_show > * { + visibility: hidden; +} +.hierarchical_show_inView > * { + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-animation-duration: 700ms; + animation-duration: 700ms; + -webkit-animation-name: hierarchical_show; + animation-name: hierarchical_show; + visibility: visible; +} +@-webkit-keyframes hierarchical_slide { + 0% { + opacity: 0; + transform: translate3d(0, 160%, 0); + } + 33% { + opacity: 1; + } + 100% { + transform: translate3d(0, 0, 0); + } +} +@keyframes hierarchical_slide { + 0% { + opacity: 0; + transform: translate3d(0, 160%, 0); + } + 33% { + opacity: 1; + } + 100% { + transform: translate3d(0, 0, 0); + } +} +.hierarchical_slide { + will-change: transform, opacity; +} +.hierarchical_slide > * { + visibility: hidden; +} +.hierarchical_slide_inView > * { + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-animation-duration: 700ms; + animation-duration: 700ms; + -webkit-animation-name: hierarchical_slide; + animation-name: hierarchical_slide; + visibility: visible; +} +.fast_animation { + -webkit-animation-duration: 350ms; + animation-duration: 350ms; +} +/* 5. partials (header,sidebars,top bar) ============= */ +/* 6. altair landing page styles ===================== */ +html { + background: #fff; +} +body { + font: 400 15px / 1.42857143 "Roboto", sans-serif; + box-sizing: border-box; + overflow-x: hidden; +} +/*html, body { + height: 100%; +}*/ +a, +button { + outline: none !important; +} +a { + color: #1e88e5; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +a:hover, +a:active { + color: #0d47a1; + text-decoration: none; +} +.uk-text-upper { + text-transform: uppercase; +} +.animate > * { + visibility: hidden; +} +.animated { + visibility: visible; +} +[class*=uk-animation-] { + -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-animation-duration: 840ms; + animation-duration: 840ms; +} +.heading_a { + margin: 0; + font: 300 42px / 48px "Roboto", sans-serif; +} +.heading_a .sub-heading { + font-weight: 300; + font-size: 24px; + line-height: 30px; + display: block; + padding-top: 10px; +} +@media only screen and (max-width: 959px) { + .heading_a { + font: 300 32px / 36px "Roboto", sans-serif; + } + .heading_a .sub-heading { + font-size: 20px; + line-height: 24px; + } +} +.heading_b { + margin: 0; + font: 300 32px / 36px "Roboto", sans-serif; +} +.heading_b .sub-heading { + font-weight: 300; + font-size: 20px; + line-height: 26px; + display: block; + padding-top: 10px; +} +@media only screen and (max-width: 959px) { + .heading_b { + font: 300 28px / 32px "Roboto", sans-serif; + } + .heading_b .sub-heading { + font-size: 18px; + line-height: 22px; + } +} +.heading_c { + margin: 0; + font: 400 24px / 28px "Roboto", sans-serif; +} +.heading_c .sub-heading { + font-weight: 300; + font-size: 18px; + line-height: 20px; + display: block; + padding-top: 10px; +} +@media only screen and (max-width: 959px) { + .heading_c { + font: 300 22px / 25px "Roboto", sans-serif; + } + .heading_c .sub-heading { + font-size: 16px; + line-height: 20px; + } +} +.heading_a + .uk-grid, +.heading_b + .uk-grid, +.heading_c + .uk-grid { + margin-top: 24px; +} +.heading_a .material-icons, +.heading_b .material-icons, +.heading_c .material-icons { + vertical-align: middle; +} +.heading_light, +.heading_light .sub-heading { + color: #fff; +} +.icon_large { + font-size: 64px; +} +@media only screen and (max-width: 959px) { + .icon_large { + font-size: 48px; + } +} +.icon_dark { + color: #727272; +} +#header_main { + transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1); + position: relative; + z-index: 10; +} +#header_main .uk-navbar { + background: #fff; +} +#header_main .uk-navbar-nav > li > a { + color: #727272; + text-transform: uppercase; + font-size: 14px; + font-family: "Roboto", sans-serif; + font-weight: 500; + box-shadow: inset 0 -4px 0 rgba(255, 255, 255, 0); + background: none !important; + transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1); +} +#header_main .uk-navbar-nav > li > a:hover, +#header_main .uk-navbar-nav > li > a:active { + color: #727272; +} +#header_main .uk-navbar-nav > li.current_active a { + box-shadow: inset 0 -4px 0 #7cb342; +} +#header_main.header-light { + background: #fff; +} +#header_main .header_cta { + margin-top: 14px; +} +@media only screen and (max-width: 959px) { + #header_main .header_cta { + margin-top: 6px; + } +} +#mobile_navigation_toggle { + display: none; +} +#mobile_navigation .uk-offcanvas-bar { + background: #fff; + box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.26); + transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1); +} +#mobile_navigation .uk-offcanvas-bar:after { + display: none; +} +#mobile_navigation .uk-offcanvas-bar ul { + margin: 32px 0 0 0; + padding: 0; + list-style: none; +} +#mobile_navigation .uk-offcanvas-bar ul > li { + padding: 0; + margin: 0; + list-style: none; +} +#mobile_navigation .uk-offcanvas-bar ul li a { + display: block; + font-size: 16px; + font-weight: 500; + line-height: 25px; + padding: 8px 20px; + color: #212121; +} +#mobile_navigation .uk-offcanvas-bar ul li a small { + font-size: 12px; + color: #727272; + display: block; + margin-top: -2px; +} +#mobile_navigation .uk-offcanvas-bar ul li a .menu_icon { + width: 48px; + text-align: left; + display: inline-block; + color: #727272; + float: left; +} +#mobile_navigation .uk-offcanvas-bar ul li a .menu_icon .material-icons { + font-size: 24px; + vertical-align: top; +} +#mobile_navigation .uk-offcanvas-bar ul li a .menu_title { + display: block; + overflow: hidden; +} +.uk-offcanvas-page { + transition: margin 280ms cubic-bezier(0.4, 0, 0.2, 1); +} +.header_sticky { + padding-top: 64px; +} +@media only screen and (max-width: 959px) { + .header_sticky { + padding-top: 48px; + } +} +.header_sticky #header_main { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1000; +} +.header_shadow #header_main { + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25); +} +.banner { + color: #fff; + position: relative; +} +.banner .uk-slideshow, +.banner .uk-slideshow > li { + height: 640px; +} +.banner .uk-slideshow > li { + background-size: 100% auto; + background-position: center center; + background-repeat: no-repeat; +} +.banner .uk-slideshow > li .slide_content_a { + margin: 160px 0 0 640px; +} +.banner .uk-slideshow > li .slide_content_b { + margin: 320px 0 0 0; + background: rgba(0, 0, 0, 0.4); + padding: 24px; +} +.banner .uk-slideshow > li .slide_content_c { + margin: 120px 540px 0 0; +} +.banner .uk-slideshow > li .slide_content_c .slide_header, +.banner .uk-slideshow > li .slide_content_c p { + color: #212121; +} +.banner .uk-slideshow > li .slide_header { + color: #fff; + font: 400 38px / 42px "Roboto", sans-serif; + margin: 0 0 18px; +} +.banner .uk-slideshow > li p { + margin: 0; + font-size: 20px; + font-weight: 300; +} +.banner .uk-slideshow > li p + * { + margin-top: 32px; +} +.banner .slide_navigation { + display: none; +} +.banner:hover .slide_navigation { + display: block; +} +.uk-touch .slide_navigation { + display: block !important; +} +.uk-slidenav { + position: absolute; + top: 50%; + margin-top: -30px; + color: #fff !important; + background: rgba(0, 0, 0, 0.2); + border-radius: 12px; + font-size: 48px; + transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1); +} +.uk-slidenav-previous { + left: 16px; +} +.uk-slidenav-previous:before { + position: relative; + left: -2px; + top: -2px; +} +.uk-slidenav-next { + right: 16px; +} +.uk-slidenav-next:before { + position: relative; + right: -2px; + top: -2px; +} +.uk-slidenav:active, +.uk-slidenav:hover { + background: rgba(0, 0, 0, 0.6); + border-radius: 50%; +} +.uk-dotnav > li { + border: 2px solid rgba(255, 255, 255, 0.8); + padding: 2px; + margin-right: 6px; + border-radius: 50%; +} +.uk-dotnav > li.uk-active { + border-color: #fff; +} +.uk-dotnav > li.uk-active > a { + background: #7cb342; +} +.uk-dotnav > li > a { + margin: 0; + width: 14px; + height: 14px; +} +.section { + padding: 48px 0; + position: relative; +} +.section_large { + padding: 64px 0; +} +.section_dark { + color: #fff; +} +.section_gallery { + position: relative; +} +.section_gallery .slide_navigation { + display: none; +} +.section_gallery:hover .slide_navigation { + display: block; +} +[class*=uk-width].uk-container-center { + float: none; +} +@media only screen and (max-width: 1219px) { + .banner .uk-slideshow, + .banner .uk-slideshow > li { + height: auto; + min-height: 360px; + } + .banner .uk-slideshow > li .slide_content_a, + .banner .uk-slideshow > li .slide_content_b, + .banner .uk-slideshow > li .slide_content_c { + margin: 0; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.4); + padding: 48px 48px 0; + text-align: center; + } + .banner .uk-slideshow > li .slide_header { + margin-bottom: 20px; + color: #fff !important; + } + .banner .uk-slideshow > li p { + font-size: 20px; + color: #fff !important; + } + .banner .uk-slideshow > li p + * { + margin-top: 24px; + } +} +@media only screen and (max-width: 959px) { + #header_main { + height: 48px; + } + #header_main .uk-navbar-brand { + line-height: 48px; + padding: 0; + } + #main_navigation { + display: none; + } + #mobile_navigation_toggle { + padding: 12px 4px 10px; + display: inline-block; + } + #mobile_navigation_toggle i { + font-size: 24px; + } +} +@media only screen and (max-width: 767px) { + .banner .uk-slideshow > li { + background-size: auto 100%; + } + .banner .uk-slideshow > li .slide_content_a, + .banner .uk-slideshow > li .slide_content_b, + .banner .uk-slideshow > li .slide_content_c { + margin: 0; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.4); + padding: 24px 12px; + text-align: center; + } + .banner .uk-slideshow > li .slide_header { + font: 400 24px / 28px "Roboto", sans-serif; + margin-bottom: 6px; + color: #fff !important; + } + .banner .uk-slideshow > li p { + font-size: 15px; + color: #fff !important; + } + .banner .uk-slideshow > li p + * { + margin-top: 24px; + } + .uk-container { + padding-left: 15px; + padding-right: 15px; + } +} +/* theme */ + +/*# sourceMappingURL=main.css.map */ diff --git a/assets/css/main.css.map b/assets/css/main.css.map new file mode 100644 index 0000000..508010b --- /dev/null +++ b/assets/css/main.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["main.css","_uikit_custom.less","md/_md_variables_mixins.less","_variables_mixins.less","../../bower_components/uikit/css/components/accordion.almost-flat.css","../../bower_components/uikit/css/components/dotnav.css","../../bower_components/uikit/css/components/slideshow.almost-flat.css","../../bower_components/uikit/css/components/slider.almost-flat.css","../../bower_components/uikit/css/components/slidenav.almost-flat.css","../../bower_components/uikit/css/components/tooltip.almost-flat.css","md/_md_cards.less","components/_pricing_table.less","components/_timeline.less","md/_md_buttons.less","md/_md_precompiled_colors.less","md/_md_utils.less","md/_md_forms.less","md/_md_icons.less","md/_md_list.less","md/_md_panels.less","md/_md_top_bar.less","_altair_landing_page.less"],"names":[],"mappings":"AAAA;;;;;;;;;;;;CAYC;AACD,wDAAwD;AACxD,wDAAwD;AACxD,eAAe;ACZf;EACI,+DAAA;UAAA,uDAAA;EACA,iCAAA;UAAA,yBAAA;ADcJ;AACA,WAAW;ACXX;EACI,YAAA;EACA,mBAAA;EACA,WAAA;EACA,iBAAA;EACA,mBAAA;EACA,kBAAA;EACA,cAAA;ADaJ;ACZI;EACI,8BAAA;ADcR;ACZI;EACI,8BAAA;ADcR;ACZI;EACI,8BAAA;ADcR;ACZI;EACI,8BAAA;ADcR;ACZI;EACI,4BAAA;ADcR;ACZI;EACI,kBAAA;EACA,SAAA;EACA,UAAA;EACA,sBAAA;EACA,oBAAA;ADcR;ACbQ;EACI,sBAAA;ADeZ;AACA,WAAW;ACVX;EACI,mBAAA;EACA,gBAAA;EACA,YAAA;EACA,kBAAA;EACA,iBAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;ADYJ;ACXI;EACI,mBAAA;ADaR;ACXI;EACI,mBAAA;ADaR;ACXI;EACI,mBAAA;ADaR;ACXI;EACI,mBAAA;ADaR;ACXI;EACI,mBAAA;ADaR;ACXI;EACI,mBAAA;ADaR;ACXI;EACI,mBAAA;EACA,gBAAA;ADaR;ACXI;EACI,qCAAA;EACA,gBAAA;EACA,cAAA;EACA,iBAAA;EACA,iBAAA;ADaR;AACA,YAAY;ACTZ;EACI,gBAAA;EACA,kBAAA;EACA,iDAAA;ADWJ;AACA,aAAa;ACRb;EAEQ,0CAAA;EACA,2BAAA;ADSR;ACZA;EAMQ,iBAAA;ADSR;ACRQ;EAAA;IACI,kBAAA;EDWV;AACF;ACPI;EACI,qBAAA;EACA,YAAA;EACA,gBAAA;EACA,gBAAA;ADSR;ACPI;EACI,SAAA;EACA,eAAA;EACA,iBAAA;ADSR;AACA,kBAAkB;ACJlB;EACI,aAAA;EACA,8BAAA;EACA,kCAAA;EACA,yBAAA;ADMJ;ACLI;EACI,uBAAA;ADOR;ACLI;EACI,kBAAA;EChHA,2EAAA;EDkHA,aAAA;EACA,yBAAA;EACA,kCAAA;UAAA,0BAAA;EACA,+EAAA;EACA,mBAAA;ADOR;ACNQ;EACI,mBAAA;ADQZ;ACjBI;EAYQ,gBAAA;EACA,mBAAA;EACA,oBAAA;EACA,sBAAA;EACA,gBAAA;ADQZ;ACxBI;EAkBY,SAAA;EE1BZ,0CAAA;AHoCJ;AC5BI;EAqBgB,eAAA;EACA,cAAA;EACA,cAAA;ADUpB;ACjCI;EA2BY,eAAA;EACA,oBAAA;EACA,eAAA;ADShB;ACtCI;EAiCQ,wBAAA;EACA,aAAA;EACA,gBAAA;EACA,gBAAA;ADQZ;AGhEI;;EAEI,YAAA;EACA,cAAA;AHkER;AGhEI;EACI,WAAA;AHkER;ACpDI;EAuCY,eAAA;ADgBhB;ACvDI;EA2CQ,YAAA;EACA,cAAA;ADeZ;AC3DI;EA+CQ,QAAA;EACA,UAAA;EACA,kBAAA;EACA,WAAA;EACA,SAAA;ADeZ;ACbQ;EACI,UAAA;ADeZ;AChBQ;EAGQ,UAAA;EACA,YAAA;EC9KR,0EAAA;EDgLQ,YAAA;ADgBhB;AC3EI;EA+DQ,cAAA;ADeZ;ACtFA;EA2EQ,gBAAA;ADcR;ACZI;EAEQ,eAAA;ADaZ;ACVI;EACI,+CAAA;UAAA,uCAAA;EACA,kBAAA;EACA,iBAAA;EACA,SAAA;EACA,WAAA;ADYR;AACA,cAAc;ACRd;EACI,yBAAA;EACA,UAAA;EACA,kDAAA;EACA,kCAAA;UAAA,0BAAA;EACA,kCAAA;ECjNI,wEAAA;EDmNJ,YAAA;EACA,kBAAA;ADUJ;ACTI;EACI,YAAA;ADWR;ACVQ;EAAA;IACI,YAAA;EDaV;AACF;ACXI;EACI,YAAA;ADaR;ACXI;EACI,YAAA;ADaR;AChCA;EAwBgB,eAAA;EACA,cAAA;ADWhB;ACVgB;EACI,gCAAA;ADYpB;ACTY;EAEQ,gCAAA;ADUpB;ACPY;EACI,gBAAA;ADShB;ACPY;EACI,gBAAA;ADShB;ACLI;EACI,aAAA;ADOR;ACLI;EACI,aAAA;ADOR;ACLI;EACI,iCAAA;ADOR;ACJA;EAEQ,qCAAA;ADKR;ACFA;EAEQ,qCAAA;ADGR;ACAA;EAEQ,kCAAA;ADCR;ACEA;EACI,2BAAA;ADAJ;ACDA;EAGQ,kBAAA;EACA,sBAAA;EACA,6BAAA;EACA,yBAAA;ADCR;ACEA;EACI,yBAAA;ADAJ;ACEA;EACI,sBAAA;EACA,UAAA;ADAJ;ACMY;;EAEI,iBAAA;EACA,gBAAA;EACA,cAAA;EACA,oCAAA;ADJhB;AACA,UAAU;ACUV;;;;;;;;;;;;;;;;EAiBQ,sBAAA;EACA,YAAA;EACA,qCAAA;EACA,gCAAA;EACA,YAAA;ADTR;ACUQ;;;;;;;;;;;;;;;;EACI,gBAAA;EACA,qBAAA;ADOZ;AC/BA;EA4BQ,4DAAA;ADMR;ACJI;EACI,8BAAA;ADMR;ACPI;EAGQ,gBAAA;ADOZ;ACJI;EAEQ,gBAAA;EACA,eAAA;EACA,cAAA;EACA,mBAAA;ADKZ;ACVI;EAOY,aAAA;ADMhB;ACFI;EACI,cAAA;EACA,eAAA;EACA,cAAA;EACA,kBAAA;EACA,kBAAA;ADIR;ACDQ;;;;EAII,eAAA;ADGZ;AACA,SAAS;ACET;;;EAGI,gBAAA;ADAJ;ACEA;;;EAGI,gBAAA;ADAJ;AACA,UAAU;ACGV;EACI,cAAA;ADDJ;AACA,WAAW;ACIX;EACI,gBAAA;EACA,YAAA;EACA,sBAAA;ADFJ;ACGI;EACI,iBAAA;EACA,qBAAA;EACA,SAAA;EACA,iBAAA;EACA,WAAA;ADDR;ACGI;EAEQ,YAAA;EACA,iBAAA;EACA,eAAA;EACA,2BAAA;EACA,iBAAA;EACA,uBAAA;EACA,SAAA;ADFZ;ACGY;;EAEI,gBAAA;ADDhB;ACGY;EACI,iBAAA;EACA,SAAA;ADDhB;ACDY;EAIQ,iBAAA;EACA,eAAA;ADApB;AACA,WAAW;ACOX;EACI,kBAAA;EACA,gBAAA;EACA,iCAAA;ADLJ;ACEA;EAKQ,0BAAA;ADJR;AACA,WAAW;ACQX;EAEQ,wCAAA;ADPR;ACKA;EAKQ,uBAAA;ADPR;ACSI;;EAGQ,mBAAA;ADRZ;ACWI;;EAGQ,sBAAA;ADVZ;ACcA;EACI,gCAAA;ADZJ;AACA,WAAW;ACeX;EAEQ,aAAA;ADdR;AACA,WAAW;ACmBP;EAGY,cAAA;ADnBhB;ACgBI;EAQY,mBAAA;ADrBhB;AACA,WAAW;AC2BX;EAEQ,4CAAA;AD1BR;ACwBA;;;EAOQ,kBAAA;EACA,gBAAA;EACA,cAAA;EACA,eAAA;AD1BR;ACgBA;EAaQ,4BAAA;AD1BR;ACaA;;EAiBQ,yCAAA;EACA,mBAAA;AD1BR;AC4BI;EACI,gCAAA;AD1BR;AC4BI;EACI,gCAAA;AD1BR;AACA,eAAe;AC8Bf;EACI,gBAAA;EACA,iCAAA;AD5BJ;AC6BI;EACI,kBAAA;EACA,iBAAA;EACA,cAAA;EACA,eAAA;AD3BR;AACA,cAAc;ACgCd;EACI,eAAA;AD9BJ;ACgCA;EACI,yBAAA;AD9BJ;ACgCA;EACI,yBAAA;AD9BJ;ACgCA;EACI,yBAAA;AD9BJ;ACgCA;EACI,yBAAA;AD9BJ;ACgCA;EACI,yBAAA;AD9BJ;ACiCI;EACI,8BAAA;AD/BR;ACiCI;EACI,6BAAA;AD/BR;ACiCI;EACI,8BAAA;AD/BR;ACiCI;EACI,8BAAA;AD/BR;ACiCI;EACI,2BAAA;AD/BR;ACiCI;EACI,2BAAA;AD/BR;ACiCI;EACI,6BAAA;AD/BR;ACiCI;EACI,6BAAA;AD/BR;ACkCA;EACI,eAAA;EACA,UAAA;ADhCJ;ACiCI;;EAEI,UAAA;AD/BR;ACiCI;EACI,qBAAA;EACA,cAAA;EACA,gBAAA;EACA,6BAAA;AD/BR;AACA,yCAAyC;AACzC,cAAc;AACd,8EAA8E;AAC9E;;6EAE6E;AAC7E;6EAC6E;AI9iB7E;EACE,aAAA;EACA,mBAAA;EACA,iBAAA;EACA,mBAAA;EACA,eAAA;EACA,iBAAA;EACA,eAAA;EACA,sBAAA;EACA,kBAAA;AJgjBF;AACA;6EAC6E;AI9iB7E;EACE,yBAAA;AJgjBF;AACA;;EAEE;AI9iBF;;EAEE,WAAA;EACA,cAAA;AJgjBF;AI9iBA;EACE,WAAA;AJgjBF;AACA;;EAEE;AI9iBF;EACE,gBAAA;AJgjBF;ACDI;EACI,oCAAA;EACA,gBAAA;EACA,YAAA;EACA,eAAA;EACA,eAAA;EACA,gBAAA;EACA,0BAAA;EACA,kBAAA;ADGR;ACFQ;EACI,gBAAA;EACA,6BAAA;EACA,eAAA;EACA,kBAAA;EACA,QAAA;EACA,UAAA;EACA,cAAA;EACA,cAAA;EACA,2BAAA;ADIZ;ACDY;EACI,0BAAA;ADGhB;ACAQ;EACI,mBAAA;EACA,WAAA;ADEZ;ACDY;EACI,WAAA;ADGhB;ACAQ;EACI,mBAAA;EACA,WAAA;ADEZ;ACDY;EACI,WAAA;ADGhB;ACAQ;EACI,mBAAA;EACA,WAAA;ADEZ;ACDY;EACI,WAAA;ADGhB;ACAQ;EACI,mBAAA;EACA,WAAA;ADEZ;ACDY;EACI,WAAA;ADGhB;ACCI;EACI,aAAA;ADCR;ACCI;EAEQ,gBAAA;EACA,SAAA;EACA,4BAAA;EACA,yCAAA;ADAZ;ACCY;EACI,gBAAA;ADChB;ACCY;EACI,cAAA;EACA,gBAAA;EACA,WAAA;EACA,UAAA;EACA,SAAA;ADChB;ACEgB;EACI,0BAAA;EACA,gBAAA;ADApB;ACnBI;EAwBQ,aAAA;ADFZ;AACA,WAAW;AACX,8EAA8E;AAC9E;;6EAE6E;AAC7E;;;EAGE;AKpqBF;EAGE,aAAA;EAGA,eAAA;ELsqBA,MAAM;EKpqBN,kBAAA;EACA,iBAAA;ELsqBA,MAAM;EKpqBN,UAAA;EACA,gBAAA;ALsqBF;AACA;;;EAGE;AKpqBF;ELsqBE,MAAM;EKlqBN,UAAA;ELsqBA,MAAM;EKpqBN,kBAAA;EACA,gBAAA;ALsqBF;AACA;;EAEE;AKpqBF;;EAEE,WAAA;EACA,cAAA;EACA,gBAAA;ALsqBF;AKpqBA;EACE,WAAA;ALsqBF;AKpqBA;EACE,WAAA;ALsqBF;AACA;6EAC6E;AAC7E;;;EAGE;AKpqBF;EACE,cAAA;EACA,uBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,iCAAA;ELsqBA,MAAM;EKpqBN,iBAAA;EACA,gBAAA;EACA,mBAAA;ALsqBF;AACA;;;;EAIE;AKpqBF;;EAEE,iCAAA;ELsqBA,MAAM;EKpqBN,aAAA;ALsqBF;AACA,YAAY;AKpqBZ;EACE,iCAAA;ALsqBF;AACA,WAAW;AKpqBX;EACE,iCAAA;ALsqBF;AACA;6EAC6E;AKpqB7E;EACE,oCAAA;ALsqBF;AACA;;;EAGE;AKpqBF;;EAEE,oCAAA;ALsqBF;AACA,YAAY;AKpqBZ;EACE,oCAAA;ALsqBF;AACA,WAAW;AKpqBX;EACE,oCAAA;ALsqBF;AACA;6EAC6E;AAC7E;;EAEE;AKpqBF;EAGE,sBAAA;ALsqBF;AACA;;EAEE;AKpqBF;EACE,WAAA;ALsqBF;AACA,6BAA6B;ACnH7B;EAEQ,cAAA;EACA,aAAA;EACA,UAAA;EACA,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,YAAA;EACA,yBAAA;EACA,UAAA;EACA,kDAAA;EACA,kCAAA;UAAA,0BAAA;EACA,qBAAA;ADoHR;AClHI;EAEQ,mBAAA;EACA,UAAA;EACA,iBAAA;ADmHZ;AC/GA;EAEQ,WAAA;EACA,sBAAA;ADgHR;ACnHA;EAKY,SAAA;ADiHZ;AACA,cAAc;AACd,8EAA8E;AAC9E;;6EAE6E;AAC7E;;;;;;;EAOE;AM5zBF;EN8zBE,MAAM;EM5zBN,kBAAA;EN8zBA,MAAM;EM5zBN,UAAA;EN8zBA,MAAM;EM5zBN,WAAA;EN8zBA,MAAM;EM5zBN,SAAA;EACA,UAAA;EACA,gBAAA;EN8zBA,MAAM;EM5zBN,gBAAA;EN8zBA,MAAM;EM5zBN,mBAAA;AN8zBF;AACA;;;;;EAKE;AM5zBF;EN8zBE,MAAM;EM5zBN,kBAAA;EACA,MAAA;EACA,OAAA;EN8zBA,MAAM;EM5zBN,WAAA;EN8zBA,MAAM;EM5zBN,UAAA;AN8zBF;AACA;;;;EAIE;AM5zBF;EN8zBE,MAAM;EM5zBN,WAAA;EN8zBA,MAAM;EM5zBN,UAAA;AN8zBF;AACA;;EAEE;AM5zBF;EACE,kBAAA;AN8zBF;AACA;;EAEE;AM5zBF;EACE,eAAA;AN8zBF;AACA;6EAC6E;AM5zB7E;;EAEE,aAAA;AN8zBF;AACA;6EAC6E;AAC7E;;EAEE;AM5zBF;EACE,sCAAA;EACA,8BAAA;AN8zBF;AM5zBA;EACE,8CAAA;EACA,sCAAA;AN8zBF;AACA;;EAEE;AM5zBF;EACE,kDAAA;EACA,0CAAA;AN8zBF;AM5zBA;EACE,yDAAA;EACA,iDAAA;AN8zBF;AM5zBA;EACE,iDAAA;EACA,yCAAA;AN8zBF;AM5zBA;EACE,0DAAA;EACA,kDAAA;AN8zBF;AACA;;EAEE;AM5zBF;EACE,4DAAA;EACA,oDAAA;AN8zBF;AACA;;EAEE;AM5zBF;EACE,oDAAA;EACA,4CAAA;AN8zBF;AM5zBA;EACE,yDAAA;EACA,iDAAA;AN8zBF;AM5zBA;EACE,qDAAA;EACA,6CAAA;AN8zBF;AM5zBA;EACE,0DAAA;EACA,kDAAA;AN8zBF;AM5zBA;;EAEE,WAAA;EACA,kBAAA;EACA,MAAA;EACA,SAAA;EACA,OAAA;EACA,QAAA;EACA,UAAA;EACA,8BAAA;EACA,mDAAA;EACA,2CAAA;AN8zBF;AACA,WAAW;AACX,8EAA8E;AAC9E;;6EAE6E;AAC7E;;EAEE;AO78BF;EACE,cAAA;AP+8BF;AO78BA;EACE,cAAA;AP+8BF;AACA;;;;EAIE;AO78BF;EP+8BE,MAAM;EO78BN,kBAAA;EP+8BA,MAAM;EO78BN,UAAA;EP+8BA,MAAM;EO78BN,mBAAA;AP+8BF;AACA;;EAEE;AO78BF;EP+8BE,MAAM;EO78BN,SAAA;EACA,UAAA;EACA,gBAAA;AP+8BF;AACA;;;EAGE;AO78BF;EP+8BE,MAAM;EO78BN,kBAAA;EACA,MAAA;EACA,OAAA;AP+8BF;AACA;;EAEE;AO78BF;EACE,gBAAA;AP+8BF;AACA;;EAEE;AO78BF;EAEE,kCAAA;AP+8BF;AACA;;EAEE;AO78BF;EACE,kBAAA;EP+8BA,MAAM;EO78BN,sBAAA;EACA,yBAAA;EACA,qBAAA;EACA,iBAAA;AP+8BF;AACA;;;;EAIE;AO78BF;;EPg9BE,MAAM;EO78BN,uBAAA;EACA,eAAA;EP+8BA,MAAM;EO78BN,2BAAA;AP+8BF;AACA;;EAEE;AO78BF;EACE,oBAAA;AP+8BF;AACA;6EAC6E;AO78B7E;;EAEE,aAAA;AP+8BF;ACtVA;EACI,cAAA;ADwVJ;AACA,aAAa;AACb,8EAA8E;AAC9E;;6EAE6E;AAC7E;;;;EAIE;AQ/iCF;ERijCE,MAAM;EQ/iCN,qBAAA;ERijCA,MAAM;EQ/iCN,sBAAA;EACA,WAAA;EACA,YAAA;ERijCA,MAAM;EQ/iCN,iBAAA;EACA,4BAAA;EACA,eAAA;EACA,kBAAA;ARijCF;AACA;;;;;;EAME;AQ/iCF;;ERkjCE,MAAM;EQ/iCN,aAAA;ERijCA,MAAM;EQ/iCN,qBAAA;ERijCA,MAAM;EQ/iCN,4BAAA;EACA,eAAA;ARijCF;AACA,WAAW;AQ/iCX;EACE,4BAAA;ARijCF;AACA;;EAEE;AQ/iCF;EACE,gBAAA;EACA,wBAAA;ARijCF;AQ/iCA;EACE,gBAAA;EACA,wBAAA;ARijCF;AACA;6EAC6E;AAC7E;;EAEE;AQ/iCF;EACE,kBAAA;ARijCF;AACA;;EAEE;AQ/iCF;EACE,aAAA;EACA,kBAAA;EACA,QAAA;EACA,UAAA;EACA,iBAAA;ARijCF;AQ/iCA;EACE,cAAA;ARijCF;AQ/iCA;EACE,UAAA;ARijCF;AQ/iCA;EACE,WAAA;ARijCF;AACA;6EAC6E;AQ/iC7E;EACE,+BAAA;ARijCF;AACA;;;EAGE;AQ/iCF;;EAEE,+BAAA;ARijCF;AACA,WAAW;AQ/iCX;EACE,+BAAA;ARijCF;AACA,aAAa;AACb,8EAA8E;AAC9E;;6EAE6E;AAC7E;;;;;EAKE;ASlpCF;ETopCE,MAAM;ESlpCN,aAAA;ETopCA,MAAM;ESlpCN,kBAAA;EACA,aAAA;ETopCA,MAAM;ESlpCN,sBAAA;EACA,gBAAA;EACA,gBAAA;ETopCA,MAAM;ESlpCN,gBAAA;EACA,+BAAA;EACA,eAAA;EACA,iBAAA;EACA,kBAAA;EACA,uCAAA;ATopCF;AACA;6EAC6E;AAC7E;;EAEE;ASlpCF;EACE,WAAA;EACA,cAAA;EACA,kBAAA;EACA,QAAA;EACA,SAAA;ETopCA,MAAM;ESlpCN,uBAAA;ATopCF;AACA;6EAC6E;AAC7E;;EAEE;ASlpCF;;;EAGE,YAAA;EACA,uBAAA;EACA,mBAAA;EACA,8BAAA;EACA,+BAAA;EACA,sBAAA;ATopCF;AACA;;EAEE;ASlpCF;;;EAGE,SAAA;EACA,0BAAA;EACA,gBAAA;EACA,8BAAA;EACA,+BAAA;EACA,yBAAA;ATopCF;AACA;;EAEE;ASlpCF;;EAEE,SAAA;EACA,iBAAA;ATopCF;AACA;;EAEE;ASlpCF;;EAEE,UAAA;ATopCF;AACA;;EAEE;ASlpCF;;EAEE,WAAA;ATopCF;AACA;;EAEE;ASlpCF;EACE,WAAA;EACA,QAAA;EACA,gBAAA;EACA,wBAAA;EACA,kBAAA;EACA,6BAAA;EACA,gCAAA;EACA,uBAAA;ATopCF;AACA;;EAEE;ASlpCF;EACE,UAAA;EACA,QAAA;EACA,gBAAA;EACA,yBAAA;EACA,iBAAA;EACA,6BAAA;EACA,gCAAA;EACA,wBAAA;ATopCF;ACziBA;EACI,mBAAA;EACA,WAAA;EACA,eAAA;EACA,iBAAA;EACA,iBAAA;EACA,iBAAA;EACA,eAAA;EACA,kBAAA;EACA,aAAA;EACA,UAAA;AD2iBJ;ACrjBA;EE1lBI,uBAAA;EACA,qBAAA;EACA,mBAAA;EACA,mBAAA;EACA,gBAAA;EACA,WAAA;AHkpCJ;AC/iBI;EACI,wBAAA;ADijBR;AC/iBI;EACI,gBAAA;ADijBR;ACljBI;EAGQ,mBAAA;EACA,iBAAA;EACA,iBAAA;EACA,cAAA;ADkjBZ;AC/iBI;EACI,sBAAA;ADijBR;AACA,SAAS;AC7iBT;EACI,wCAAA;AD+iBJ;AC9iBI;EACI,gBAAA;EACA,gBAAA;ADgjBR;ACpjBA;EAOQ,gBAAA;EACA,cAAA;EAEA,UAAA;AD+iBR;ACzjBA;EAYY,eAAA;EACA,yBAAA;EACA,cAAA;EACA,YAAA;EACA,oCAAA;EACA,2BAAA;EACA,gBAAA;EACA,gBAAA;EACA,eAAA;EACA,kBAAA;EACA,kDAAA;EACA,uBAAA;EACA,oBAAA;EACA,sBAAA;EACA,kBAAA;EACA,QAAA;EACA,iBAAA;ADgjBZ;AC/iBY;;EAEI,gBAAA;EACA,cAAA;EACA,4BAAA;ADijBhB;AC9iBQ;EAEQ,kCAAA;EACA,4BAAA;AD+iBhB;AC1iBgB;;;EAGI,WAAA;AD4iBpB;ACviBI;EAEQ,aAAA;ADwiBZ;AC1iBI;EAIY,iCAAA;EACA,mBAAA;EACA,SAAA;EACA,WAAA;ADyiBhB;ACxiBgB;;EAEI,yBAAA;AD0iBpB;ACviBY;EAEQ,yBAAA;ADwiBpB;ACniBI;EACI,mBAAA;ADqiBR;ACtiBI;EAIY,mCAAA;EACA,mBAAA;EACA,iBAAA;EACA,SAAA;EACA,YAAA;ADqiBhB;ACpiBgB;;EAEI,2BAAA;ADsiBpB;ACniBY;EAEQ,2BAAA;ADoiBpB;AC/hBI;EACI,mBAAA;ADiiBR;ACliBI;EAIY,kCAAA;EACA,mBAAA;EACA,gBAAA;EACA,SAAA;EACA,YAAA;ADiiBhB;AChiBgB;;EAEI,0BAAA;ADkiBpB;AC/hBY;EAEQ,0BAAA;ADgiBpB;AC3hBI;EAEQ,uBAAA;AD4hBZ;ACxhBY;EACI,gBAAA;EACA,6BAAA;EACA,cAAA;EACA,iBAAA;EACA,oBAAA;EACA,eAAA;AD0hBhB;ACthBI;EAGY,eAAA;ADshBhB;ACzhBI;EAKgB,eAAA;ADuhBpB;AClhBI;EACI,8BAAA;ADohBR;ACrhBI;EAIY,WAAA;EACA,oCAAA;ADohBhB;ACnhBgB;;EAEI,WAAA;EACA,4BAAA;ADqhBpB;AClhBY;EAEQ,WAAA;EACA,4BAAA;ADmhBpB;AChhBY;EAEQ,mBAAA;EACA,8BAAA;ADihBpB;AChhBoB;EACI,WAAA;ADkhBxB;AC5gBI;EAEQ,gBAAA;EACA,cAAA;EAEA,UAAA;AD4gBZ;ACjhBI;EAOY,eAAA;EACA,6BAAA;AD6gBhB;AACA,kBAAkB;ACvgBlB;EACI,cAAA;ADygBJ;ACtgBA;EACI,gBAAA;ADwgBJ;ACzgBA;EAGQ,gBAAA;ADygBR;AACA;;;;;;;;CAQC;ACxZD;ED0ZE,UAAU;EUl9CX;;ITi9BO,WAAA;EDqgBN;EACA,WAAW;EUv9CZ;;;;;;;;IT69BO,UAAA;EDogBN;EACA,WAAW;EUl+CZ;;;;ITq+BO,cAAA;EDmgBN;EUx+CD;;;;IT4+BO,cAAA;EDkgBN;EACA,aAAa;EU/+Cd;;ITk/BO,UAAA;EDigBN;EUn/CD;;ITu/BO,UAAA;EDggBN;EACA,WAAW;EUx/CZ;;;;IT+/BO,UAAA;ED+fN;EU9/CD;;;;ITsgCO,UAAA;ED8fN;EUpgDD;;;;IT6gCO,UAAA;ED6fN;EU1gDD;;;;ITohCO,UAAA;ED4fN;EACA,WAAW;EUjhDZ;;IT0hCO,cAAA;ED2fN;EUrhDD;;IT+hCO,cAAA;ED0fN;EACA,WAAW;EU1hDZ;;ITqiCO,UAAA;EDyfN;EU9hDD;;IT0iCO,UAAA;EDwfN;EUliDD;;IT+iCO,UAAA;EDufN;EUtiDD;;ITojCO,UAAA;EDsfN;AACF;AACA,cAAc;AC/ed;EAEQ,qBAAA;ADgfR;AACA,wDAAwD;AACxD,mBAAmB;AW/iDf;EACI,kBAAA;AXijDR;AWljDI;EAGQ,eAAA;EACA,gBAAA;EACA,eAAA;EACA,mBAAA;AXkjDZ;AWxjDI;EASQ,gBAAA;EACA,eAAA;EACA,mBAAA;AXkjDZ;AW7jDI;EAaY,mBAAA;EACA,eAAA;EACA,cAAA;AXmjDhB;AWlkDI;EAkBY,eAAA;EACA,YAAA;EACA,WAAA;EACA,cAAA;AXmjDhB;AWxkDI;ER+FA,SAAA;EACA,UAAA;EACA,gBAAA;AH4+CJ;AW7kDI;ERmGI,UAAA;EACA,SAAA;EACA,gBAAA;AH6+CR;AWllDI;EA2BY,eAAA;EACA,cAAA;AX0jDhB;AWtlDI;EAgCQ,eAAA;AXyjDZ;AWtjDI;EACI,kBAAA;AXwjDR;AWzjDI;EAGQ,eAAA;EACA,gBAAA;EACA,eAAA;EACA,mBAAA;EACA,yBAAA;AXyjDZ;AWhkDI;EAUQ,gBAAA;EACA,eAAA;EACA,mBAAA;AXyjDZ;AWrkDI;EAcY,mBAAA;EACA,eAAA;EACA,cAAA;AX0jDhB;AW1kDI;EAmBY,eAAA;EACA,YAAA;EACA,WAAA;EACA,cAAA;AX0jDhB;AWhlDI;ER4DA,SAAA;EACA,UAAA;EACA,gBAAA;AHuhDJ;AWrlDI;ERgEI,UAAA;EACA,SAAA;EACA,gBAAA;AHwhDR;AW1lDI;EA4BY,eAAA;EACA,cAAA;AXikDhB;AW9lDI;EAiCQ,eAAA;AXgkDZ;AW7jDI;EACI,kBAAA;AX+jDR;AWhkDI;EAGQ,eAAA;EACA,gBAAA;EACA,eAAA;EACA,kBAAA;AXgkDZ;AWtkDI;EASQ,gBAAA;EACA,eAAA;EACA,mBAAA;AXgkDZ;AW3kDI;EAaY,mBAAA;EACA,eAAA;EACA,cAAA;AXikDhB;AWhlDI;EAkBY,eAAA;EACA,WAAA;EACA,iBAAA;EACA,iBAAA;AXikDhB;AWtlDI;ERwBA,SAAA;EACA,UAAA;EACA,gBAAA;AHikDJ;AW3lDI;ER4BI,UAAA;EACA,SAAA;EACA,gBAAA;AHkkDR;AWhmDI;EA2BY,eAAA;EACA,cAAA;AXwkDhB;AWpmDI;EAgCQ,eAAA;AXukDZ;AYhrDA;EACI,kBAAA;EACA,oBAAA;AZkrDJ;AYjrDI;EACI,kBAAA;EACA,MAAA;EACA,SAAA;EACA,iBAAA;EACA,SAAA;EACA,WAAA;EACA,UAAA;EACA,oCAAA;EACA,cAAA;AZmrDR;AGllDI;;EAEI,YAAA;EACA,cAAA;AHolDR;AGllDI;EACI,WAAA;AHolDR;AYzrDI;EAGQ,gBAAA;AZyrDZ;AYrrDgB;EACI,YAAA;AZurDpB;AYtrDoB;EACI,8BAAA;EACA,wBAAA;EACA,WAAA;EACA,WAAA;AZwrDxB;AYlrDI;EACI,sBAAA;EACA,gBAAA;EACA,UAAA;EACA,aAAA;EV5BA,wEAAA;EU8BA,kBAAA;EACA,kBAAA;AZorDR;AYnrDQ;EACI,kBAAA;EACA,SAAA;EACA,YAAA;EACA,WAAA;EACA,cAAA;EACA,8BAAA;EACA,uBAAA;AZqrDZ;AYlrDI;EACI,kBAAA;EACA,SAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,WAAA;EVnDA,wEAAA;AFwuDR;AY9rDI;EAYQ,eAAA;EACA,iBAAA;AZqrDZ;AYhrDA;EAEQ;IACI,cAAA;IACA,UAAA;EZirDV;EY/qDM;IACI,kBAAA;EZirDV;EY/qDM;IACI,WAAA;EZirDV;EYhrDU;IACI,8BAAA;IACA,wBAAA;IACA,WAAA;IACA,WAAA;EZkrDd;EY/qDM;IACI,OAAA;IACA,cAAA;EZirDV;AACF;AY7qDA;EAEQ;IACI,cAAA;IACA,UAAA;EZ8qDV;EY5qDM;IACI,kBAAA;EZ8qDV;EY5qDM;IACI,WAAA;EZ8qDV;EY7qDU;IACI,8BAAA;IACA,wBAAA;IACA,WAAA;IACA,WAAA;IACA,SAAA;EZ+qDd;EY5qDM;IACI,WAAA;IACA,YAAA;IACA,OAAA;IACA,cAAA;EZ8qDV;EYlrDM;IAMQ,iBAAA;IACA,eAAA;EZ+qDd;AACF;AACA,yDAAyD;AACzD,cAAc;AEzwDd;EACI,oCAAA;EACA,WAAA;AF2wDJ;AEzwDA;EACI,oCAAA;EACA,WAAA;AF2wDJ;AEzwDA;EACI,oCAAA;EACA,WAAA;AF2wDJ;AEzwDA;EACI,oCAAA;EACA,WAAA;AF2wDJ;AEzwDA;EACI,oCAAA;EACA,WAAA;AF2wDJ;AEzwDA;EACI,oCAAA;EACA,WAAA;AF2wDJ;AEzwDA;EACI,oCAAA;EACA,WAAA;AF2wDJ;AACA,YAAY;Aaj0DZ;EACI,gBAAA;EACA,YAAA;EACA,kBAAA;EXHI,wEAAA;EWKJ,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,kBAAA;EACA,iBAAA;EACA,yBAAA;EACA,kDAAA;EACA,cAAA;EACA,sBAAA;EACA,eAAA;EACA,wBAAA;EACA,qBAAA;EACA,sBAAA;EVkGA,qDAAA;AHkuDJ;Aal0DI;;;;EAII,gBAAA;EACA,aAAA;EACA,qBAAA;EACA,cAAA;EXvBA,wEAAA;AF41DR;Aal0DI;;EXvBI,0EAAA;AF61DR;Aal0DI;EXpCI,2BAAA;EWsCA,gBAAA;Abo0DR;Aan0DQ;;EAEI,oCAAA;Abq0DZ;Aan0DQ;EACI,oCAAA;Abq0DZ;Aal0DY;;;;EAII,cAAA;Abo0DhB;Aal0DY;;;EAGI,mBAAA;Abo0DhB;Aah0DY;;;;EAII,cAAA;Abk0DhB;Aah0DY;;;EAGI,mBAAA;Abk0DhB;Aa9zDY;;;;EAII,cAAA;Abg0DhB;Aa9zDY;;;EAGI,mBAAA;Abg0DhB;Aa5zDY;;;;EAII,cAAA;Ab8zDhB;Aa5zDY;;;EAGI,mBAAA;Ab8zDhB;Aa3zDQ;EACI,2BAAA;Ab6zDZ;AazzDQ;;;;EAII,mBAAA;Ab2zDZ;AavzDQ;;;;EAII,mBAAA;AbyzDZ;AarzDQ;;;;EAII,mBAAA;AbuzDZ;AanzDQ;;;;EAII,mBAAA;AbqzDZ;Aa9yDQ;;;;;;;;;;;;;;;;;;;;EAKI,WAAA;Ab+zDZ;Aa3zDQ;;;;EAII,cAAA;EACA,mBAAA;EACA,2BAAA;EACA,eAAA;EACA,oBAAA;Ab6zDZ;AazzDQ;EACI,eAAA;EACA,eAAA;Ab2zDZ;AaxzDI;EACI,4BAAA;EACA,eAAA;EACA,0BAAA;EACA,gBAAA;Ab0zDR;AaxzDI;EACI,4BAAA;EACA,eAAA;EACA,0BAAA;Ab0zDR;AaxzDI;EACI,4BAAA;EACA,0BAAA;Ab0zDR;AaxzDI;EACI,SAAA;EACA,UAAA;Ab0zDR;Aa5+DA;EAqLQ,gBAAA;Ab0zDR;AaxzDI;EACI,WAAA;Ab0zDR;AazzDQ;EACI,cAAA;EACA,gBAAA;Ab2zDZ;Aat/DA;EA+LQ,iBAAA;Ab0zDR;AaxzDI;EACI,8BAAA;Ab0zDR;AaxzDI;EACI,8BAAA;Ab0zDR;AaxzDI;EACI,8BAAA;Ab0zDR;AarzDQ;;;;;;EAEI,sBAAA;Ab2zDZ;AapzDY;EACI,0BAAA;EACA,yBAAA;AbszDhB;Aa/xDA;;EACI,eAAA;AbkyDJ;AanyDA;;EAGQ,eAAA;EACA,kBAAA;EACA,oBAAA;AboyDR;AajyDA;;EACI,eAAA;AboyDJ;AaryDA;;EAGQ,eAAA;EACA,iBAAA;EACA,oBAAA;AbsyDR;AanyDA;;EACI,eAAA;AbsyDJ;AavyDA;;EAGQ,eAAA;EACA,iBAAA;EACA,oBAAA;AbwyDR;AaryDA;;EACI,eAAA;AbwyDJ;AazyDA;;EAGQ,eAAA;EACA,iBAAA;EACA,oBAAA;Ab0yDR;AatyDA;EACI,sBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,gBAAA;EACA,cAAA;EACA,cAAA;EXvRI,wEAAA;EWyRJ,yDAAA;EACA,YAAA;EACA,kBAAA;EACA,kBAAA;EACA,eAAA;AbwyDJ;AavyDI;;;EXxRI,0EAAA;AFokER;Aa1zDA;EAoBQ,eAAA;EACA,iBAAA;EACA,eAAA;EACA,cAAA;EACA,kBAAA;EACA,OAAA;EACA,MAAA;EACA,cAAA;AbyyDR;AavyDI;EACI,mBAAA;AbyyDR;Aa1yDI;EAGQ,WAAA;Ab0yDZ;AavyDI;EACI,mBAAA;AbyyDR;Aa1yDI;EAGQ,WAAA;Ab0yDZ;AavyDI;EACI,mBAAA;AbyyDR;Aa1yDI;EAGQ,WAAA;Ab0yDZ;AavyDI;EACI,mBAAA;AbyyDR;Aa1yDI;EAGQ,WAAA;Ab0yDZ;AavyDI;EACI,mBAAA;AbyyDR;Aa1yDI;EAGQ,WAAA;Ab0yDZ;AavyDI;EACI,WAAA;EACA,YAAA;EACA,kBAAA;AbyyDR;Aa5yDI;EAKQ,iBAAA;EACA,eAAA;EACA,cAAA;EACA,eAAA;Ab0yDZ;AavyDI;EAEQ,aAAA;AbwyDZ;AapyDA;EACI,eAAA;EACA,YAAA;EACA,WAAA;EACA,aAAA;EACA,qDAAA;AbsyDJ;AaryDI;EAAA;IACI,YAAA;IACA,WAAA;EbwyDN;AACF;AajzDA;EAWQ,gBAAA;AbyyDR;AavyDI;EACI,kBAAA;AbyyDR;AaryDA;EAEQ,kBAAA;EACA,YAAA;EACA,UAAA;EACA,gBAAA;EACA,WAAA;EACA,WAAA;AbsyDR;Aa7yDA;EASY,mBAAA;EACA,UAAA;EACA,kBAAA;EACA,QAAA;AbuyDZ;AatyDY;EACI,6JAAA;AbwyDhB;AapyDgB;EACI,YAAA;AbsyDpB;AanyDgB;EACI,+JAAA;AbqyDpB;Aa1yDgB;EACI,aAAA;Ab4yDpB;AazyDgB;EACI,+JAAA;Ab2yDpB;AahzDgB;EACI,aAAA;AbkzDpB;Aa/yDgB;EACI,+JAAA;AbizDpB;AatzDgB;EACI,aAAA;AbwzDpB;AarzDgB;EACI,+JAAA;AbuzDpB;Aa5zDgB;EACI,aAAA;Ab8zDpB;Aa3zDgB;EACI,+JAAA;Ab6zDpB;Aal0DgB;EACI,aAAA;Abo0DpB;Aaj0DgB;EACI,+JAAA;Abm0DpB;Aax0DgB;EACI,aAAA;Ab00DpB;Aav0DgB;EACI,+JAAA;Aby0DpB;Aal0DI;EAEQ,mBAAA;EACA,UAAA;EACA,WAAA;Abm0DZ;Aah0DY;EACI,6JAAA;Abk0DhB;Aa/zDgB;EACI,+JAAA;Abi0DpB;Aal0DgB;EACI,+JAAA;Abo0DpB;Aar0DgB;EACI,+JAAA;Abu0DpB;Aax0DgB;EACI,+JAAA;Ab00DpB;Aa30DgB;EACI,+JAAA;Ab60DpB;Aa90DgB;EACI,+JAAA;Abg1DpB;Aaj1DgB;EACI,+JAAA;Abm1DpB;Aa10DA;EACI,kDAAA;EACA,eAAA;Ab40DJ;Aa90DA;EAIQ,eAAA;Ab60DR;Aa30DI;EACI,kBAAA;EACA,mBAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;Ab60DR;Aal1DI;;EAQQ,cAAA;EACA,WAAA;EACA,UAAA;EACA,kBAAA;EACA,YAAA;EACA,WAAA;EACA,sBAAA;EACA,sDAAA;EACA,gBAAA;EACA,YAAA;EACA,aAAA;EACA,eAAA;Ab80DZ;Aa70DY;;EACI,cAAA;Abg1DhB;Aar2DI;EAyBQ,eAAA;EACA,iBAAA;Ab+0DZ;Aa50DI;EXpcI,wEAAA;EWscA,kBAAA;Ab80DR;Aah1DI;EAIQ,aAAA;Ab+0DZ;Aa50DI;EAEQ,mBAAA;Ab60DZ;Aa/0DI;;EAKY,UAAA;Ab80DhB;Aa10DI;;EAIY,YAAA;EACA,WAAA;EACA,UAAA;EACA,iBAAA;Ab00DhB;Aaz0DgB;;EACI,cAAA;Ab40DpB;Aar1DI;EAaY,eAAA;EACA,iBAAA;EACA,eAAA;Ab20DhB;Aar0DA;EACI,kDAAA;EACA,eAAA;Abu0DJ;Aaz0DA;EAIQ,eAAA;Abw0DR;Aat0DI;EACI,kBAAA;EACA,mBAAA;EACA,gBAAA;EACA,sBAAA;EACA,cAAA;Abw0DR;Aa70DI;EAOQ,cAAA;EACA,UAAA;EACA,iBAAA;EACA,sBAAA;EVtYR,0CAAA;EUwYQ,gBAAA;Aby0DZ;Aax0DY;;EAEI,cAAA;Ab00DhB;Aaz1DI;EAmBQ,eAAA;EACA,iBAAA;EACA,oBAAA;Aby0DZ;Aat0DI;EXvgBI,wEAAA;EWygBA,kBAAA;Abw0DR;Aa10DI;EAIQ,aAAA;Aby0DZ;Aat0DI;EAEQ,mBAAA;Abu0DZ;Aaz0DI;EAIY,UAAA;Abw0DhB;Aal0DA;EAEQ,mBAAA;Abm0DR;Aal0DQ;EAAA;IACI,mBAAA;Ebq0DV;AACF;Aaj0DA;EAEQ,qBAAA;EACA,mBAAA;EACA,yBAAA;EACA,gBAAA;EACA,iBAAA;EACA,eAAA;EACA,kBAAA;EACA,cAAA;EACA,sBAAA;EACA,eAAA;Abk0DR;Aaj0DQ;EACI,4BAAA;Abm0DZ;Aah0DI;EAEQ,eAAA;EACA,iBAAA;EACA,eAAA;EACA,cAAA;Abi0DZ;Aa5zDA;EACI,qBAAA;EACA,mBAAA;EACA,kBAAA;EACA,YAAA;EACA,mBAAA;Ab8zDJ;Aan0DA;EAOQ,mBAAA;EACA,yBAAA;Ab+zDR;Aa9zDQ;EACI,0BAAA;EACA,6BAAA;Abg0DZ;Aa9zDQ;EACI,gBAAA;Abg0DZ;Aa9zDQ;EACI,yBAAA;EACA,4BAAA;Abg0DZ;AUn5EC;EIWO,yBAAA;Ad24ER;AUt5EC;EIeO,oCAAA;Ad04ER;AUz5EC;EIWO,yBAAA;Adi5ER;AU55EC;EIeO,oCAAA;Adg5ER;AU/5EC;EIWO,yBAAA;Adu5ER;AUl6EC;EIeO,oCAAA;Ads5ER;AUr6EC;EIWO,yBAAA;Ad65ER;AUx6EC;EIeO,oCAAA;Ad45ER;AU36EC;EIWO,yBAAA;Adm6ER;AU96EC;EIeO,oCAAA;Adk6ER;AUj7EC;EIWO,yBAAA;Ady6ER;AUp7EC;EIeO,oCAAA;Adw6ER;AUv7EC;EIWO,yBAAA;Ad+6ER;AU17EC;EIeO,oCAAA;Ad86ER;AU77EC;EIWO,yBAAA;Adq7ER;AUh8EC;EIeO,oCAAA;Ado7ER;AUn8EC;EIWO,yBAAA;Ad27ER;AUt8EC;EIeO,oCAAA;Ad07ER;AUz8EC;EIWO,yBAAA;Adi8ER;AU58EC;EIeO,oCAAA;Adg8ER;AU/8EC;EIWO,yBAAA;Adu8ER;AUl9EC;EIeO,oCAAA;Ads8ER;AUr9EC;EIWO,yBAAA;Ad68ER;AUx9EC;EIeO,oCAAA;Ad48ER;AU39EC;EIWO,yBAAA;Adm9ER;AU99EC;EIeO,oCAAA;Adk9ER;AUj+EC;EIWO,yBAAA;Ady9ER;AUp+EC;EIeO,oCAAA;Adw9ER;AUv+EC;EIWO,yBAAA;Ad+9ER;AU1+EC;EIeO,oCAAA;Ad89ER;AU7+EC;EIWO,yBAAA;Adq+ER;AUh/EC;EIeO,oCAAA;Ado+ER;AUn/EC;EIWO,yBAAA;Ad2+ER;AUt/EC;EIeO,oCAAA;Ad0+ER;AUz/EC;EIWO,yBAAA;Adi/ER;AU5/EC;EIeO,oCAAA;Adg/ER;AU//EC;EIWO,yBAAA;Adu/ER;AUlgFC;EIeO,oCAAA;Ads/ER;AUrgFC;EIWO,yBAAA;Ad6/ER;AUxgFC;EIeO,oCAAA;Ad4/ER;AU3gFC;EIWO,yBAAA;AdmgFR;AU9gFC;EIeO,oCAAA;AdkgFR;AUjhFC;EIWO,yBAAA;AdygFR;AUphFC;EIeO,oCAAA;AdwgFR;AUvhFC;EIWO,yBAAA;Ad+gFR;AU1hFC;EIeO,oCAAA;Ad8gFR;AU7hFC;EIWO,yBAAA;AdqhFR;AUhiFC;EIeO,oCAAA;AdohFR;AUniFC;EIWO,yBAAA;Ad2hFR;AUtiFC;EIeO,oCAAA;Ad0hFR;AUziFC;EIWO,yBAAA;AdiiFR;AU5iFC;EIeO,oCAAA;AdgiFR;AU/iFC;EIWO,yBAAA;AduiFR;AUljFC;EIeO,oCAAA;AdsiFR;AUrjFC;EIWO,yBAAA;Ad6iFR;AUxjFC;EIeO,oCAAA;Ad4iFR;AU3jFC;EIWO,yBAAA;AdmjFR;AU9jFC;EIeO,oCAAA;AdkjFR;AUjkFC;EIWO,yBAAA;AdyjFR;AUpkFC;EIeO,oCAAA;AdwjFR;AUvkFC;EIWO,yBAAA;Ad+jFR;AU1kFC;EIeO,oCAAA;Ad8jFR;AU7kFC;EIWO,yBAAA;AdqkFR;AUhlFC;EIeO,oCAAA;AdokFR;AUnlFC;EIWO,yBAAA;Ad2kFR;AUtlFC;EIeO,oCAAA;Ad0kFR;AUzlFC;EIWO,yBAAA;AdilFR;AU5lFC;EIeO,oCAAA;AdglFR;AU/lFC;EIWO,yBAAA;AdulFR;AUlmFC;EIeO,oCAAA;AdslFR;AUrmFC;EIWO,yBAAA;Ad6lFR;AUxmFC;EIeO,oCAAA;Ad4lFR;AU3mFC;EIWO,yBAAA;AdmmFR;AU9mFC;EIeO,oCAAA;AdkmFR;AUjnFC;EIWO,yBAAA;AdymFR;AUpnFC;EIeO,oCAAA;AdwmFR;AUvnFC;EIWO,yBAAA;Ad+mFR;AU1nFC;EIeO,oCAAA;Ad8mFR;AU7nFC;EIWO,yBAAA;AdqnFR;AUhoFC;EIeO,oCAAA;AdonFR;AUnoFC;EIWO,yBAAA;Ad2nFR;AUtoFC;EIeO,oCAAA;Ad0nFR;AUzoFC;EIWO,yBAAA;AdioFR;AU5oFC;EIeO,oCAAA;AdgoFR;AU/oFC;EIWO,yBAAA;AduoFR;AUlpFC;EIeO,oCAAA;AdsoFR;AUrpFC;EIWO,yBAAA;Ad6oFR;AUxpFC;EIeO,oCAAA;Ad4oFR;AU3pFC;EIWO,yBAAA;AdmpFR;AU9pFC;EIeO,oCAAA;AdkpFR;AUjqFC;EIWO,yBAAA;AdypFR;AUpqFC;EIeO,oCAAA;AdwpFR;AUvqFC;EIWO,yBAAA;Ad+pFR;AU1qFC;EIeO,oCAAA;Ad8pFR;AU7qFC;EIWO,yBAAA;AdqqFR;AUhrFC;EIeO,oCAAA;AdoqFR;AUnrFC;EIWO,yBAAA;Ad2qFR;AUtrFC;EIeO,oCAAA;Ad0qFR;AUzrFC;EIWO,yBAAA;AdirFR;AU5rFC;EIeO,oCAAA;AdgrFR;AU/rFC;EIWO,yBAAA;AdurFR;AUlsFC;EIeO,oCAAA;AdsrFR;AUrsFC;EIWO,yBAAA;Ad6rFR;AUxsFC;EIeO,oCAAA;Ad4rFR;AU3sFC;EIWO,yBAAA;AdmsFR;AU9sFC;EIeO,oCAAA;AdksFR;AUjtFC;EIWO,yBAAA;AdysFR;AUptFC;EIeO,oCAAA;AdwsFR;AUvtFC;EIWO,yBAAA;Ad+sFR;AU1tFC;EIeO,oCAAA;Ad8sFR;AU7tFC;EIWO,yBAAA;AdqtFR;AUhuFC;EIeO,oCAAA;AdotFR;AUnuFC;EIWO,yBAAA;Ad2tFR;AUtuFC;EIeO,oCAAA;Ad0tFR;AUzuFC;EIWO,yBAAA;AdiuFR;AU5uFC;EIeO,oCAAA;AdguFR;AU/uFC;EIWO,yBAAA;AduuFR;AUlvFC;EIeO,oCAAA;AdsuFR;AUrvFC;EIWO,yBAAA;Ad6uFR;AUxvFC;EIeO,oCAAA;Ad4uFR;AU3vFC;EIWO,yBAAA;AdmvFR;AU9vFC;EIeO,oCAAA;AdkvFR;AUjwFC;EIWO,yBAAA;AdyvFR;AUpwFC;EIeO,oCAAA;AdwvFR;AUvwFC;EIWO,yBAAA;Ad+vFR;AU1wFC;EIeO,oCAAA;Ad8vFR;AU7wFC;EIWO,yBAAA;AdqwFR;AUhxFC;EIeO,oCAAA;AdowFR;AUnxFC;EIWO,yBAAA;Ad2wFR;AUtxFC;EIeO,oCAAA;Ad0wFR;AUzxFC;EIWO,yBAAA;AdixFR;AU5xFC;EIeO,oCAAA;AdgxFR;AU/xFC;EIWO,yBAAA;AduxFR;AUlyFC;EIeO,oCAAA;AdsxFR;AUryFC;EIWO,yBAAA;Ad6xFR;AUxyFC;EIeO,oCAAA;Ad4xFR;AU3yFC;EIWO,yBAAA;AdmyFR;AU9yFC;EIeO,oCAAA;AdkyFR;AUjzFC;EIWO,yBAAA;AdyyFR;AUpzFC;EIeO,oCAAA;AdwyFR;AUvzFC;EIWO,yBAAA;Ad+yFR;AU1zFC;EIeO,oCAAA;Ad8yFR;AU7zFC;EIWO,yBAAA;AdqzFR;AUh0FC;EIeO,oCAAA;AdozFR;AUn0FC;EIWO,yBAAA;Ad2zFR;AUt0FC;EIeO,oCAAA;Ad0zFR;AUz0FC;EIWO,yBAAA;Adi0FR;AU50FC;EIeO,oCAAA;Adg0FR;AU/0FC;EIWO,yBAAA;Adu0FR;AUl1FC;EIeO,oCAAA;Ads0FR;AUr1FC;EIWO,yBAAA;Ad60FR;AUx1FC;EIeO,oCAAA;Ad40FR;AU31FC;EIWO,yBAAA;Adm1FR;AU91FC;EIeO,oCAAA;Adk1FR;AUj2FC;EIWO,yBAAA;Ady1FR;AUp2FC;EIeO,oCAAA;Adw1FR;AUv2FC;EIWO,yBAAA;Ad+1FR;AU12FC;EIeO,oCAAA;Ad81FR;AU72FC;EIWO,yBAAA;Adq2FR;AUh3FC;EIeO,oCAAA;Ado2FR;AUn3FC;EIWO,yBAAA;Ad22FR;AUt3FC;EIeO,oCAAA;Ad02FR;AUz3FC;EIWO,yBAAA;Adi3FR;AU53FC;EIeO,oCAAA;Adg3FR;AU/3FC;EIWO,yBAAA;Adu3FR;AUl4FC;EIeO,oCAAA;Ads3FR;AUr4FC;EIWO,yBAAA;Ad63FR;AUx4FC;EIeO,oCAAA;Ad43FR;AU34FC;EIWO,yBAAA;Adm4FR;AU94FC;EIeO,oCAAA;Adk4FR;AUj5FC;EIWO,yBAAA;Ady4FR;AUp5FC;EIeO,oCAAA;Adw4FR;AUv5FC;EIWO,yBAAA;Ad+4FR;AU15FC;EIeO,oCAAA;Ad84FR;AU75FC;EIWO,yBAAA;Adq5FR;AUh6FC;EIeO,oCAAA;Ado5FR;AUn6FC;EIWO,yBAAA;Ad25FR;AUt6FC;EIeO,oCAAA;Ad05FR;AUz6FC;EIWO,yBAAA;Adi6FR;AU56FC;EIeO,oCAAA;Adg6FR;AU/6FC;EIWO,yBAAA;Adu6FR;AUl7FC;EIeO,oCAAA;Ads6FR;AUr7FC;EIWO,yBAAA;Ad66FR;AUx7FC;EIeO,oCAAA;Ad46FR;AU37FC;EIWO,yBAAA;Adm7FR;AU97FC;EIeO,oCAAA;Adk7FR;AUj8FC;EIWO,yBAAA;Ady7FR;AUp8FC;EIeO,oCAAA;Adw7FR;AUv8FC;EIWO,yBAAA;Ad+7FR;AU18FC;EIeO,oCAAA;Ad87FR;AU78FC;EIWO,yBAAA;Adq8FR;AUh9FC;EIeO,oCAAA;Ado8FR;AUn9FC;EIWO,yBAAA;Ad28FR;AUt9FC;EIeO,oCAAA;Ad08FR;AUz9FC;EIWO,yBAAA;Adi9FR;AU59FC;EIeO,oCAAA;Adg9FR;AU/9FC;EIWO,yBAAA;Adu9FR;AUl+FC;EIeO,oCAAA;Ads9FR;AUr+FC;EIWO,yBAAA;Ad69FR;AUx+FC;EIeO,oCAAA;Ad49FR;AU3+FC;EIWO,yBAAA;Adm+FR;AU9+FC;EIeO,oCAAA;Adk+FR;AUj/FC;EIWO,yBAAA;Ady+FR;AUp/FC;EIeO,oCAAA;Adw+FR;AUv/FC;EIWO,yBAAA;Ad++FR;AU1/FC;EIeO,oCAAA;Ad8+FR;AU7/FC;EIWO,yBAAA;Adq/FR;AUhgGC;EIeO,oCAAA;Ado/FR;AUngGC;EIWO,yBAAA;Ad2/FR;AUtgGC;EIeO,oCAAA;Ad0/FR;AUzgGC;EIWO,yBAAA;AdigGR;AU5gGC;EIeO,oCAAA;AdggGR;AU/gGC;EIWO,yBAAA;AdugGR;AUlhGC;EIeO,oCAAA;AdsgGR;AUrhGC;EIWO,yBAAA;Ad6gGR;AUxhGC;EIeO,oCAAA;Ad4gGR;AU3hGC;EIWO,yBAAA;AdmhGR;AU9hGC;EIeO,oCAAA;AdkhGR;AUjiGC;EIWO,yBAAA;AdyhGR;AUpiGC;EIeO,oCAAA;AdwhGR;AUviGC;EIWO,yBAAA;Ad+hGR;AU1iGC;EIeO,oCAAA;Ad8hGR;AU7iGC;EIWO,yBAAA;AdqiGR;AUhjGC;EIeO,oCAAA;AdoiGR;AUnjGC;EIWO,yBAAA;Ad2iGR;AUtjGC;EIeO,oCAAA;Ad0iGR;AUzjGC;EIWO,yBAAA;AdijGR;AU5jGC;EIeO,oCAAA;AdgjGR;AU/jGC;EIWO,yBAAA;AdujGR;AUlkGC;EIeO,oCAAA;AdsjGR;AUrkGC;EIWO,yBAAA;Ad6jGR;AUxkGC;EIeO,oCAAA;Ad4jGR;AU3kGC;EIWO,yBAAA;AdmkGR;AU9kGC;EIeO,oCAAA;AdkkGR;AUjlGC;EIWO,yBAAA;AdykGR;AUplGC;EIeO,oCAAA;AdwkGR;AUvlGC;EIWO,yBAAA;Ad+kGR;AU1lGC;EIeO,oCAAA;Ad8kGR;AU7lGC;EIWO,yBAAA;AdqlGR;AUhmGC;EIeO,oCAAA;AdolGR;AUnmGC;EIWO,yBAAA;Ad2lGR;AUtmGC;EIeO,oCAAA;Ad0lGR;AUzmGC;EIWO,yBAAA;AdimGR;AU5mGC;EIeO,oCAAA;AdgmGR;AU/mGC;EIWO,yBAAA;AdumGR;AUlnGC;EIeO,oCAAA;AdsmGR;AUrnGC;EIWO,yBAAA;Ad6mGR;AUxnGC;EIeO,oCAAA;Ad4mGR;AU3nGC;EIWO,yBAAA;AdmnGR;AU9nGC;EIeO,oCAAA;AdknGR;AUjoGC;EIWO,yBAAA;AdynGR;AUpoGC;EIeO,oCAAA;AdwnGR;AUvoGC;EIWO,yBAAA;Ad+nGR;AU1oGC;EIeO,oCAAA;Ad8nGR;AU7oGC;EIWO,yBAAA;AdqoGR;AUhpGC;EIeO,oCAAA;AdooGR;AUnpGC;EIWO,yBAAA;Ad2oGR;AUtpGC;EIeO,oCAAA;Ad0oGR;AUzpGC;EIWO,yBAAA;AdipGR;AU5pGC;EIeO,oCAAA;AdgpGR;AU/pGC;EIWO,yBAAA;AdupGR;AUlqGC;EIeO,oCAAA;AdspGR;AUrqGC;EIWO,yBAAA;Ad6pGR;AUxqGC;EIeO,oCAAA;Ad4pGR;AU3qGC;EIWO,yBAAA;AdmqGR;AU9qGC;EIeO,oCAAA;AdkqGR;AUjrGC;EIWO,yBAAA;AdyqGR;AUprGC;EIeO,oCAAA;AdwqGR;AUvrGC;EIWO,yBAAA;Ad+qGR;AU1rGC;EIeO,oCAAA;Ad8qGR;AU7rGC;EIWO,yBAAA;AdqrGR;AUhsGC;EIeO,oCAAA;AdorGR;AUnsGC;EIWO,yBAAA;Ad2rGR;AUtsGC;EIeO,oCAAA;Ad0rGR;AUzsGC;EIWO,yBAAA;AdisGR;AU5sGC;EIeO,oCAAA;AdgsGR;AU/sGC;EIWO,yBAAA;AdusGR;AUltGC;EIeO,oCAAA;AdssGR;AUrtGC;EIWO,yBAAA;Ad6sGR;AUxtGC;EIeO,oCAAA;Ad4sGR;AU3tGC;EIWO,yBAAA;AdmtGR;AU9tGC;EIeO,oCAAA;AdktGR;AUjuGC;EIWO,yBAAA;AdytGR;AUpuGC;EIeO,oCAAA;AdwtGR;AUvuGC;EIWO,yBAAA;Ad+tGR;AU1uGC;EIeO,oCAAA;Ad8tGR;AU7uGC;EIWO,yBAAA;AdquGR;AUhvGC;EIeO,oCAAA;AdouGR;AUnvGC;EIWO,yBAAA;Ad2uGR;AUtvGC;EIeO,oCAAA;Ad0uGR;AUzvGC;EIWO,yBAAA;AdivGR;AU5vGC;EIeO,oCAAA;AdgvGR;AU/vGC;EIWO,yBAAA;AduvGR;AUlwGC;EIeO,oCAAA;AdsvGR;AUrwGC;EIWO,yBAAA;Ad6vGR;AUxwGC;EIeO,oCAAA;Ad4vGR;AU3wGC;EIWO,yBAAA;AdmwGR;AU9wGC;EIeO,oCAAA;AdkwGR;AUjxGC;EIWO,yBAAA;AdywGR;AUpxGC;EIeO,oCAAA;AdwwGR;AUvxGC;EIWO,yBAAA;Ad+wGR;AU1xGC;EIeO,oCAAA;Ad8wGR;AU7xGC;EIWO,yBAAA;AdqxGR;AUhyGC;EIeO,oCAAA;AdoxGR;AUnyGC;EIWO,yBAAA;Ad2xGR;AUtyGC;EIeO,oCAAA;Ad0xGR;AUzyGC;EIWO,yBAAA;AdiyGR;AU5yGC;EIeO,oCAAA;AdgyGR;AU/yGC;EIWO,yBAAA;AduyGR;AUlzGC;EIeO,oCAAA;AdsyGR;AUrzGC;EIWO,yBAAA;Ad6yGR;AUxzGC;EIeO,oCAAA;Ad4yGR;AU3zGC;EIWO,yBAAA;AdmzGR;AU9zGC;EIeO,oCAAA;AdkzGR;AUj0GC;EIWO,yBAAA;AdyzGR;AUp0GC;EIeO,oCAAA;AdwzGR;AUv0GC;EIWO,yBAAA;Ad+zGR;AU10GC;EIeO,oCAAA;Ad8zGR;AU70GC;EIWO,yBAAA;Adq0GR;AUh1GC;EIeO,oCAAA;Ado0GR;AUn1GC;EIWO,yBAAA;Ad20GR;AUt1GC;EIeO,oCAAA;Ad00GR;AUz1GC;EIWO,yBAAA;Adi1GR;AU51GC;EIeO,oCAAA;Adg1GR;AU/1GC;EIWO,yBAAA;Adu1GR;AUl2GC;EIeO,oCAAA;Ads1GR;AUr2GC;EIWO,yBAAA;Ad61GR;AUx2GC;EIeO,oCAAA;Ad41GR;AU32GC;EIWO,yBAAA;Adm2GR;AU92GC;EIeO,oCAAA;Adk2GR;AUj3GC;EIWO,yBAAA;Ady2GR;AUp3GC;EIeO,oCAAA;Adw2GR;AUv3GC;EIWO,yBAAA;Ad+2GR;AU13GC;EIeO,oCAAA;Ad82GR;AU73GC;EIWO,yBAAA;Adq3GR;AUh4GC;EIeO,oCAAA;Ado3GR;AUn4GC;EIWO,yBAAA;Ad23GR;AUt4GC;EIeO,oCAAA;Ad03GR;AUz4GC;EIWO,yBAAA;Adi4GR;AU54GC;EIeO,oCAAA;Adg4GR;AU/4GC;EIWO,yBAAA;Adu4GR;AUl5GC;EIeO,oCAAA;Ads4GR;AUr5GC;EIWO,yBAAA;Ad64GR;AUx5GC;EIeO,oCAAA;Ad44GR;AU35GC;EIWO,yBAAA;Adm5GR;AU95GC;EIeO,oCAAA;Adk5GR;AUj6GC;EIWO,yBAAA;Ady5GR;AUp6GC;EIeO,oCAAA;Adw5GR;AUv6GC;EIWO,yBAAA;Ad+5GR;AU16GC;EIeO,oCAAA;Ad85GR;AU76GC;EIWO,yBAAA;Adq6GR;AUh7GC;EIeO,oCAAA;Ado6GR;AUn7GC;EIWO,yBAAA;Ad26GR;AUt7GC;EIeO,oCAAA;Ad06GR;AUz7GC;EIWO,yBAAA;Adi7GR;AU57GC;EIeO,oCAAA;Adg7GR;AU/7GC;EIWO,yBAAA;Adu7GR;AUl8GC;EIeO,oCAAA;Ads7GR;AUr8GC;EIWO,yBAAA;Ad67GR;AUx8GC;EIeO,oCAAA;Ad47GR;AU38GC;EIWO,yBAAA;Adm8GR;AU98GC;EIeO,oCAAA;Adk8GR;AUj9GC;EIWO,yBAAA;Ady8GR;AUp9GC;EIeO,oCAAA;Adw8GR;AUv9GC;EIWO,yBAAA;Ad+8GR;AU19GC;EIeO,oCAAA;Ad88GR;AU79GC;EIWO,yBAAA;Adq9GR;AUh+GC;EIeO,oCAAA;Ado9GR;AUn+GC;EIWO,yBAAA;Ad29GR;AUt+GC;EIeO,oCAAA;Ad09GR;AUz+GC;EIWO,yBAAA;Adi+GR;AU5+GC;EIeO,oCAAA;Adg+GR;AU/+GC;EIWO,yBAAA;Adu+GR;AUl/GC;EIeO,oCAAA;Ads+GR;AUr/GC;EIWO,yBAAA;Ad6+GR;AUx/GC;EIeO,oCAAA;Ad4+GR;AU3/GC;EIWO,yBAAA;Adm/GR;AU9/GC;EIeO,oCAAA;Adk/GR;AUjgHC;EIWO,yBAAA;Ady/GR;AUpgHC;EIeO,oCAAA;Adw/GR;AUvgHC;EIWO,yBAAA;Ad+/GR;AU1gHC;EIeO,oCAAA;Ad8/GR;AU7gHC;EIWO,yBAAA;AdqgHR;AUhhHC;EIeO,oCAAA;AdogHR;AUnhHC;EIWO,yBAAA;Ad2gHR;AUthHC;EIeO,oCAAA;Ad0gHR;AUzhHC;EIWO,yBAAA;AdihHR;AU5hHC;EIeO,oCAAA;AdghHR;AU/hHC;EIWO,yBAAA;AduhHR;AUliHC;EIeO,oCAAA;AdshHR;AUriHC;EIWO,yBAAA;Ad6hHR;AUxiHC;EIeO,oCAAA;Ad4hHR;AU3iHC;EIWO,yBAAA;AdmiHR;AU9iHC;EIeO,oCAAA;AdkiHR;AUjjHC;EIWO,yBAAA;AdyiHR;AUpjHC;EIeO,oCAAA;AdwiHR;AUvjHC;EIWO,yBAAA;Ad+iHR;AU1jHC;EIeO,oCAAA;Ad8iHR;AU7jHC;EIWO,yBAAA;AdqjHR;AUhkHC;EIeO,oCAAA;AdojHR;AUnkHC;EIWO,yBAAA;Ad2jHR;AUtkHC;EIeO,oCAAA;Ad0jHR;AUzkHC;EIWO,yBAAA;AdikHR;AU5kHC;EIeO,oCAAA;AdgkHR;AU/kHC;EIWO,yBAAA;AdukHR;AUllHC;EIeO,oCAAA;AdskHR;AUrlHC;EIWO,yBAAA;Ad6kHR;AUxlHC;EIeO,oCAAA;Ad4kHR;AU3lHC;EIWO,yBAAA;AdmlHR;AU9lHC;EIeO,oCAAA;AdklHR;AUjmHC;EIWO,yBAAA;AdylHR;AUpmHC;EIeO,oCAAA;AdwlHR;AUvmHC;EIWO,yBAAA;Ad+lHR;AU1mHC;EIeO,oCAAA;Ad8lHR;AU7mHC;EIWO,yBAAA;AdqmHR;AUhnHC;EIeO,oCAAA;AdomHR;AUnnHC;EIWO,yBAAA;Ad2mHR;AUtnHC;EIeO,oCAAA;Ad0mHR;AUznHC;EIWO,yBAAA;AdinHR;AU5nHC;EIeO,oCAAA;AdgnHR;AU/nHC;EIWO,yBAAA;AdunHR;AUloHC;EIeO,oCAAA;AdsnHR;AUroHC;EIWO,yBAAA;Ad6nHR;AUxoHC;EIeO,oCAAA;Ad4nHR;AU3oHC;EIWO,yBAAA;AdmoHR;AU9oHC;EIeO,oCAAA;AdkoHR;AUjpHC;EIWO,yBAAA;AdyoHR;AUppHC;EIeO,oCAAA;AdwoHR;AUvpHC;EIWO,yBAAA;Ad+oHR;AU1pHC;EIeO,oCAAA;Ad8oHR;AU7pHC;EIWO,yBAAA;AdqpHR;AUhqHC;EIeO,oCAAA;AdopHR;AUnqHC;EIWO,yBAAA;Ad2pHR;AUtqHC;EIeO,oCAAA;Ad0pHR;AUzqHC;EIWO,yBAAA;AdiqHR;AU5qHC;EIeO,oCAAA;AdgqHR;AU/qHC;EIWO,yBAAA;AduqHR;AUlrHC;EIeO,oCAAA;AdsqHR;AUrrHC;EIWO,yBAAA;Ad6qHR;AUxrHC;EIeO,oCAAA;Ad4qHR;AU3rHC;EIWO,yBAAA;AdmrHR;AU9rHC;EIeO,oCAAA;AdkrHR;AUjsHC;EIWO,yBAAA;AdyrHR;AUpsHC;EIeO,oCAAA;AdwrHR;AUvsHC;EIWO,yBAAA;Ad+rHR;AU1sHC;EIeO,oCAAA;Ad8rHR;AU7sHC;EIWO,yBAAA;AdqsHR;AUhtHC;EIeO,oCAAA;AdosHR;AUntHC;EIqCO,yBAAA;AdirHR;AUttHC;EIyCO,oCAAA;AdgrHR;AUztHC;EIqCO,yBAAA;AdurHR;AU5tHC;EIyCO,oCAAA;AdsrHR;AU/tHC;EIqCO,yBAAA;Ad6rHR;AUluHC;EIyCO,oCAAA;Ad4rHR;AUruHC;EIqCO,yBAAA;AdmsHR;AUxuHC;EIyCO,oCAAA;AdksHR;AU3uHC;EIqCO,yBAAA;AdysHR;AU9uHC;EIyCO,oCAAA;AdwsHR;AUjvHC;EIqCO,yBAAA;Ad+sHR;AUpvHC;EIyCO,oCAAA;Ad8sHR;AUvvHC;EIqCO,yBAAA;AdqtHR;AU1vHC;EIyCO,oCAAA;AdotHR;AU7vHC;EIqCO,yBAAA;Ad2tHR;AUhwHC;EIyCO,oCAAA;Ad0tHR;AUnwHC;EIqCO,yBAAA;AdiuHR;AUtwHC;EIyCO,oCAAA;AdguHR;AUzwHC;EIqCO,yBAAA;AduuHR;AU5wHC;EIyCO,oCAAA;AdsuHR;AU/wHC;EIqCO,yBAAA;Ad6uHR;AUlxHC;EIyCO,oCAAA;Ad4uHR;AUrxHC;EIqCO,yBAAA;AdmvHR;AUxxHC;EIyCO,oCAAA;AdkvHR;AU3xHC;EIqCO,yBAAA;AdyvHR;AU9xHC;EIyCO,oCAAA;AdwvHR;AUjyHC;EIqCO,yBAAA;Ad+vHR;AUpyHC;EIyCO,oCAAA;Ad8vHR;AUvyHC;EIqCO,yBAAA;AdqwHR;AU1yHC;EIyCO,oCAAA;AdowHR;AU7yHC;EIqCO,yBAAA;Ad2wHR;AUhzHC;EIyCO,oCAAA;Ad0wHR;AUnzHC;EIqCO,yBAAA;AdixHR;AUtzHC;EIyCO,oCAAA;AdgxHR;AUzzHC;EIqCO,yBAAA;AduxHR;AU5zHC;EIyCO,oCAAA;AdsxHR;AU/zHC;EIqCO,yBAAA;Ad6xHR;AUl0HC;EIyCO,oCAAA;Ad4xHR;AUr0HC;EIqCO,yBAAA;AdmyHR;AUx0HC;EIyCO,oCAAA;AdkyHR;AU30HC;EIqCO,yBAAA;AdyyHR;AU90HC;EIyCO,oCAAA;AdwyHR;AUj1HC;EIqCO,yBAAA;Ad+yHR;AUp1HC;EIyCO,oCAAA;Ad8yHR;AUv1HC;EIqCO,yBAAA;AdqzHR;AU11HC;EIyCO,oCAAA;AdozHR;AU71HC;EIqCO,yBAAA;Ad2zHR;AUh2HC;EIyCO,oCAAA;Ad0zHR;AUn2HC;EIqCO,yBAAA;Adi0HR;AUt2HC;EIyCO,oCAAA;Adg0HR;AUz2HC;EIqCO,yBAAA;Adu0HR;AU52HC;EIyCO,oCAAA;Ads0HR;AU/2HC;EIqCO,yBAAA;Ad60HR;AUl3HC;EIyCO,oCAAA;Ad40HR;AUr3HC;EIqCO,yBAAA;Adm1HR;AUx3HC;EIyCO,oCAAA;Adk1HR;AU33HC;EIqCO,yBAAA;Ady1HR;AU93HC;EIyCO,oCAAA;Adw1HR;AUj4HC;EIqCO,yBAAA;Ad+1HR;AUp4HC;EIyCO,oCAAA;Ad81HR;Ac/0HA;EACI,sBAAA;Adi1HJ;AACA,UAAU;AU14HV;EACI,gBAAA;EACA,kBAAA;ERGI,wEAAA;EQDJ,YAAA;AV44HJ;AU34HI;;;EAGI,gBAAA;AV64HR;AUr5HA;EAWQ,kBAAA;EACA,gCAAA;AV64HR;AUz5HA;EAeQ,YAAA;EAGA,eAAA;EACA,4CAAA;EACA,gBAAA;AV24HR;AGnzHI;;EAEI,YAAA;EACA,cAAA;AHqzHR;AGnzHI;EACI,WAAA;AHqzHR;AUj5HQ;EPkGJ,0CAAA;EOhGQ,cAAA;EACA,SAAA;EACA,WAAA;EACA,gBAAA;EACA,YAAA;AVm5HZ;AUl5HY;EACI,eAAA;EACA,gBAAA;AVo5HhB;AUn7HA;EAmCY,WAAA;EACA,oBAAA;AVm5HZ;AUl5HY;EACI,gBAAA;AVo5HhB;AU17HA;EA0CY,YAAA;EACA,iBAAA;AVm5HZ;AU97HA;EA8CoB,gCAAA;EACA,cAAA;AVm5HpB;AUl8HA;EAmDgB,qBAAA;EACA,kBAAA;AVk5HhB;AUt8HA;EAuDgB,gBAAA;EACA,gBAAA;AVk5HhB;AU18HA;EA0DoB,gBAAA;EACA,gBAAA;AVm5HpB;AU98HA;EA8DoB,iBAAA;AVm5HpB;AUj9HA;EAoEe,gBAAA;AVg5Hf;AUp9HA;EAwEY,mBAAA;AV+4HZ;AU74HQ;EACI,YAAA;EP6CR,0CAAA;EO3CQ,YAAA;EACA,2BAAA;EACA,eAAA;EACA,UAAA;EACA,sBAAA;AV+4HZ;AUh+HA;EAoFY,gBAAA;EACA,mBAAA;AV+4HZ;AUp+HA;EAuFgB,4BAAA;AVg5HhB;AUv+HA;EA4FQ,aAAA;EACA,kBAAA;EACA,4CAAA;AV84HR;AU74HQ;EACI,kBAAA;EACA,UAAA;EACA,QAAA;AV+4HZ;AU74HQ;EACI,WAAA;EACA,YAAA;EACA,kBAAA;EACA,gBAAA;EACA,sBAAA;EACA,qBAAA;AV+4HZ;AU74HQ;EACI,sBAAA;EPWR,0CAAA;EOTQ,cAAA;EACA,SAAA;AV+4HZ;AUn5HQ;EAMQ,cAAA;EPMZ,0CAAA;EOJY,gBAAA;AVg5HhB;AU94HY;EACI,yBAAA;AVg5HhB;AU94HY;EACI,2FAAA;AVg5HhB;AU74HQ;EACI,kBAAA;EACA,YAAA;EACA,OAAA;EACA,QAAA;EACA,eAAA;EACA,iBAAA;EACA,WAAA;AV+4HZ;AUt5HQ;EASQ,eAAA;AVg5HhB;AU74HQ;EACI,eAAA;EACA,WAAA;EACA,sBAAA;AV+4HZ;AU74HQ;EACI,4BAAA;EACA,kCAAA;EACA,sBAAA;EACA,gCAAA;AV+4HZ;AUn5HQ;EAMQ,WAAA;AVg5HhB;AU94HY;EACI,4BAAA;EACA,+BAAA;AVg5HhB;AU94HY;EACI,4BAAA;EACA,kCAAA;AVg5HhB;AU5iIA;EAgKY,aAAA;EACA,WAAA;EACA,6BAAA;EACA,OAAA;EACA,SAAA;AV+4HZ;AUnjIA;EAuKY,WAAA;EACA,aAAA;EACA,gBAAA;AV+4HZ;AU74HQ;EACI,YAAA;EACA,WAAA;AV+4HZ;AU5jIA;EAgLY,aAAA;AV+4HZ;AU/jIA;EAoLQ,aAAA;AV84HR;AU74HQ;EACI,UAAA;AV+4HZ;AU74HQ;EACI,kBAAA;AV+4HZ;AU74HQ;EACI,YAAA;AV+4HZ;AU3kIA;EAgMQ,aAAA;EACA,eAAA;EACA,iBAAA;AV84HR;AUhlIA;EPwHI,0CAAA;EO6EQ,eAAA;AV+4HZ;AU54HI;EACI,eAAA;EACA,aAAA;EACA,kBAAA;AV84HR;AUj5HI;EAKQ,aAAA;AV+4HZ;AU5lIA;EAiNQ,aAAA;EACA,eAAA;AV84HR;AU74HQ;EACI,cAAA;EACA,kBAAA;EACA,UAAA;AV+4HZ;AU54HI;EACI,kBAAA;AV84HR;AU/4HI;EAGQ,eAAA;EACA,OAAA;EACA,QAAA;EACA,MAAA;EACA,aAAA;ERxNJ,wEAAA;AFwmIR;AUv5HI;EAWQ,kBAAA;EACA,sBAAA;EACA,kBAAA;EACA,WAAA;EACA,SAAA;EACA,SAAA;AV+4HZ;AU54HI;EACI,gBAAA;EACA,oBAAA;AV84HR;AUh5HI;EAIQ,aAAA;EACA,gBAAA;EACA,sBAAA;AV+4HZ;AU94HY;EACI,kBAAA;AVg5HhB;AU/4HgB;EACI,kBAAA;EACA,SAAA;EACA,OAAA;EACA,QAAA;EACA,WAAA;EACA,mFAAA;EACA,cAAA;EACA,WAAA;EACA,WAAA;AVi5HpB;AUn6HI;EAsBY,aAAA;EACA,iBAAA;AVg5HhB;AUv6HI;EAyBgB,gBAAA;AVi5HpB;AU16HI;EA8BQ,kBAAA;EACA,SAAA;EACA,OAAA;EACA,QAAA;EACA,eAAA;EACA,iBAAA;EACA,yCAAA;EACA,gBAAA;EACA,SAAA;EACA,gBAAA;EACA,WAAA;EACA,kDAAA;AV+4HZ;AUx7HI;EA2CY,SAAA;AVg5HhB;AU37HI;EA6CgB,gBAAA;AVi5HpB;AU97HI;EAgDgB,eAAA;AVi5HpB;AUj8HI;EAsDQ,eAAA;AV84HZ;AGpkII;;EAEI,YAAA;EACA,cAAA;AHskIR;AGpkII;EACI,WAAA;AHskIR;AU58HI;;EAyDY,SAAA;EPjKZ,uBAAA;EACA,qBAAA;EACA,mBAAA;EACA,mBAAA;EACA,gBAAA;EACA,WAAA;EO8JY,mBAAA;EACA,sBAAA;AV45HhB;AUx9HI;EPpHA,0CAAA;AH+kIJ;AU39HI;EPpHA,0CAAA;AHklIJ;AU99HI;EAqEY,kBAAA;EACA,WAAA;EACA,SAAA;AV45HhB;AUz5HQ;EAEQ,SAAA;EACA,aAAA;AV05HhB;AUt5HI;EACI,kDAAA;EACA,uBAAA;AVw5HR;AUv5HQ;ERrTA,0EAAA;AF+sIR;AUr5HI;ER1TI,0EAAA;AFktIR;AUx5HI;EAGQ,cAAA;EACA,cAAA;AVw5HZ;AUjuIA;EA6UQ,UAAA;AVu5HR;AUr5HI;;;;EAII,kCAAA;AVu5HR;AUr5HI;EACI,0BAAA;AVu5HR;AUr5HI;EACI,0BAAA;AVu5HR;AUr5HI;EACI,0BAAA;AVu5HR;AUr5HI;EACI,0BAAA;AVu5HR;AUp5HA;;EAEI,UAAA;AVs5HJ;AUp5HA;EACI,eAAA;AVs5HJ;AGxrII;;;;;;EAMI,sBAAA;AH0rIR;AU55HA;EAGQ,kBAAA;EACA,UAAA;EACA,OAAA;AV45HR;AUj6HA;EAQQ,kBAAA;EACA,kBAAA;AV45HR;AU35HQ;EACI,gBAAA;AV65HZ;AUx6HA;EPzQI,SAAA;EACA,UAAA;EACA,gBAAA;AHorIJ;AU76HA;EPrQQ,UAAA;EACA,SAAA;EACA,gBAAA;AHqrIR;AUl7HA;EAgBgB,gBAAA;EACA,iBAAA;EACA,eAAA;EAEA,0CAAA;EACA,gBAAA;ERzXR,wEAAA;AF8xIR;AGvrII;;EAEI,YAAA;EACA,cAAA;AHyrIR;AGvrII;EACI,WAAA;AHyrIR;AU36HgB;EACI,gBAAA;EACA,iBAAA;AV66HpB;AU16H4B;EAAA;IACI,WAAA;IACA,WAAA;IACA,iBAAA;EV66H9B;EUh7H0B;IAKQ,mBAAA;EV86HlC;AACF;AU36HwB;EACI,WAAA;EACA,gBAAA;AV66H5B;AU16HoB;EACI,kBAAA;AV46HxB;AU36HwB;EACI,WAAA;EACA,kBAAA;EACA,cAAA;EACA,OAAA;EACA,MAAA;EACA,SAAA;EACA,UAAA;EACA,mBAAA;AV66H5B;AUt6HY;;;EAGI,WAAA;AVw6HhB;AUt6HY;EACI,oBAAA;AVw6HhB;AUt6HY;;;;EAII,cAAA;AVw6HhB;AUt6HY;EAEQ,mBAAA;EACA,WAAA;EKlbhB,WAAA;EACA,kBAAA;ELmbgB,cAAA;AVw6HpB;Ae11II;EACI,WAAA;EACA,kBAAA;Af41IR;AUj7HY;EAQQ,iBAAA;EACA,yBAAA;EACA,kBAAA;AV46HpB;AUx6HY;EACI,YAAA;EACA,iBAAA;AV06HhB;AU56HY;EP5TR,uBAAA;EACA,qBAAA;EACA,mBAAA;EACA,mBAAA;EACA,gBAAA;EACA,WAAA;AH2uIJ;AU96HgB;EAAA;IACI,aAAA;EVi7HlB;AACF;AU/6HY;EACI,gBAAA;EACA,gBAAA;AVi7HhB;AUn7HY;EAIQ,iBAAA;EP1UhB,uBAAA;EACA,qBAAA;EACA,mBAAA;EACA,mBAAA;EACA,gBAAA;EACA,WAAA;AH6vIJ;AU57HY;EAQQ,aAAA;AVu7HpB;AUt7HoB;EAAA;IACI,cAAA;EVy7HtB;EU17HkB;IAGQ,oBAAA;EV07H1B;AACF;AUv8HY;EPtUR,uBAAA;EACA,qBAAA;EACA,mBAAA;EACA,mBAAA;EACA,gBAAA;EACA,WAAA;EOkVoB,eAAA;EACA,WAAA;AV+7HxB;AU37HY;EACI,iBAAA;EACA,YAAA;EACA,WAAA;AV67HhB;AU57HgB;EAAA;IACI,aAAA;EV+7HlB;AACF;AU77HY;EACI,YAAA;EACA,iBAAA;EACA,kBAAA;AV+7HhB;AUl8HY;EAMY,iBAAA;AV+7HxB;AU37HY;EACI,aAAA;EACA,WAAA;EACA,UAAA;AV67HhB;AU37HY;EACI,sBAAA;EACA,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,SAAA;EACA,kBAAA;EACA,eAAA;AV67HhB;AUp8HY;EASQ,iBAAA;AV87HpB;AU37HY;EACI,eAAA;AV67HhB;AU37HY;EACI,mBAAA;AV67HhB;AACA,UAAU;AgBr8IV;;;;;;;;;;;;;;;;;EAiBI,aAAA;AhBu8IJ;AgBt8II;;;;;;;;;;;;;;;;;EACI,gBAAA;EACA,qBAAA;EACA,mBAAA;EACA,iCAAA;EbkGJ,0CAAA;EahGI,2CAAA;EACA,sBAAA;EACA,iBAAA;EACA,uBAAA;EACA,WAAA;EACA,cAAA;AhBw9IR;AgBv9IQ;;;;;;;;;;;;;;;;;EACI,qBAAA;AhBy+IZ;AgBx+IY;;;;;;;;;;;;;;;;;EACI,4BAAA;AhB0/IhB;AgBv/IQ;;;;;;;;;;;;;;;;;EACI,qBAAA;AhBygJZ;AgBxgJY;;;;;;;;;;;;;;;;;EACI,4BAAA;AhB0hJhB;AgBvhJQ;;;;;;;;;;;;;;;;;EACI,uBAAA;EACA,iCAAA;AhByiJZ;AgBviJQ;;;;;;;;;;;;;;;;;EACI,YAAA;AhByjJZ;AgBtjJY;;;;;;;;;;;;;;;;;EACI,WAAA;AhBwkJhB;AgBtkJY;;;;;;;;;;;;;;;;;EACI,YAAA;AhBwlJhB;AgBtlJY;;;;;;;;;;;;;;;;;EACI,YAAA;AhBwmJhB;AgBtmJY;;;;;;;;;;;;;;;;;EACI,YAAA;AhBwnJhB;AgBjnJI;EACI,WAAA;AhBmnJR;AgB9mJI;EACI,0BAAA;AhBgnJR;AgB9mJI;EACI,2BAAA;AhBgnJR;AgB9mJI;EACI,2BAAA;AhBgnJR;AgB3mJI;EACI,gBAAA;EACA,YAAA;EACA,gBAAA;EACA,iCAAA;EACA,iBAAA;AhB6mJR;AgB3mJI;EACI,mBAAA;EACA,cAAA;EACA,gBAAA;EACA,YAAA;AhB6mJR;AgBzmJA;EACI,kBAAA;EACA,gBAAA;EACA,WAAA;EACA,cAAA;AhB2mJJ;AgB/mJA;EAMQ,cAAA;EACA,kBAAA;EACA,SAAA;EACA,OAAA;EACA,WAAA;AhB4mJR;AgB3mJQ;;EAEI,WAAA;EACA,cAAA;EACA,kBAAA;EACA,SAAA;EACA,QAAA;EACA,WAAA;EACA,mBAAA;EACA,oDAAA;AhB6mJZ;AgB3mJQ;EACI,SAAA;AhB6mJZ;AgB3mJQ;EACI,UAAA;AhB6mJZ;AgB1mJY;EACI,WAAA;AhB4mJhB;AgB1mJY;EACI,YAAA;AhB4mJhB;AgB1mJY;EACI,YAAA;AhB4mJhB;AgB1mJY;EACI,YAAA;AhB4mJhB;AgBnpJA;EA4CQ,cAAA;EACA,kBAAA;EACA,SAAA;EACA,SAAA;EACA,QAAA;EACA,oBAAA;EACA,8BAAA;AhB0mJR;AgB5pJA;EAqDQ,gBAAA;AhB0mJR;AgBxmJI;EAEQ,0BAAA;AhBymJZ;AgBtmJI;EACI,oBAAA;AhBwmJR;AgBzmJI;EAGQ,YAAA;AhBymJZ;AgB5mJI;EAMQ,eAAA;EACA,kBAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,iCAAA;AhBymJZ;AgBxmJY;EACI,kBAAA;EACA,SAAA;EACA,QAAA;AhB0mJhB;AgBnmJA;;EAGQ,SAAA;EACA,eAAA;AhBomJR;AgBlmJI;;EAEQ,UAAA;AhBomJZ;AgBhmJA;;EAGQ,UAAA;AhBimJR;AgB3lJQ;;EAEI,mBAAA;AhB6lJZ;AgB1lJI;EAEQ,cAAA;AhB2lJZ;AgBplJQ;;EAEI,mBAAA;AhBslJZ;AgBnlJI;EAEQ,cAAA;AhBolJZ;AgB/kJA;EACI,kBAAA;AhBilJJ;AgB9kJA;EACI,WAAA;EACA,cAAA;EACA,eAAA;AhBglJJ;AiBzzJA;EACI,6BAAA;EACA,kBAAA;EACA,gBAAA;EACA,oEAAA;EjB2zJF,cAAc;EiB1zJZ,oTAAA;AjB4zJJ;AiBtzJA;EACI,6BAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EjBwzJF,wBAAwB;EiBvzJtB,qBAAA;EACA,UAAA;EACA,WAAA;EACA,cAAA;EACA,oBAAA;EACA,sBAAA;EjByzJF,qCAAqC;EiBvzJnC,mCAAA;EjByzJF,mCAAmC;EiBvzJjC,kCAAA;EjByzJF,yBAAyB;EiBvzJvB,kCAAA;EjByzJF,oBAAoB;EiBvzJlB,6BAAA;EACA,oBAAA;EACA,0BAAA;AjByzJJ;AiBxzJI;EACI,0BAAA;AjB0zJR;AiBxzJI;EACI,eAAA;EACA,oBAAA;AjB0zJR;AiBxzJI;EACI,eAAA;EACA,qBAAA;AjB0zJR;AiBxzJI;EACI,eAAA;EACA,qBAAA;AjB0zJR;AiBxzJI;EACI,cAAA;AjB0zJR;AiBzzJQ;EACI,+BAAA;AjB2zJZ;AACA,SAAS;AkBj3JT;EfgGI,SAAA;EACA,UAAA;EACA,gBAAA;EHoxJF;;MAEI;AACN;AkBz3JA;EfoGQ,UAAA;EACA,SAAA;EACA,gBAAA;AHwxJR;AGzzJI;;;;;;EAMI,sBAAA;AH2zJR;AkBt4JA;;EAKQ,gBAAA;EACA,gBAAA;EACA,sBAAA;EACA,4CAAA;EACA,kBAAA;AlBq4JR;AkB94JA;;EAWY,gBAAA;AlBu4JZ;AkBl5JA;;EAagB,cAAA;AlBy4JhB;AkBt5JA;;EAgBgB,SAAA;EACA,gBAAA;EACA,cAAA;EACA,gBAAA;EACA,mBAAA;AlB04JhB;AkB95JA;;EAuBgB,YAAA;AlB24JhB;AkBl6JA;;EAyBoB,cAAA;EACA,eAAA;EACA,yBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,mBAAA;EACA,kBAAA;AlB64JpB;AkB76JA;;EAoCgB,YAAA;EACA,sBAAA;AlB64JhB;AkBl7JA;;EAwCgB,YAAA;EACA,gBAAA;EACA,eAAA;EACA,aAAA;AlB84JhB;AkBz7JA;;EA8CgB,YAAA;EACA,gBAAA;EACA,aAAA;EACA,WAAA;EACA,YAAA;AlB+4JhB;AkBj8JA;;EAsDY,kBAAA;EACA,WAAA;EACA,SAAA;EACA,aAAA;AlB+4JZ;AkBx8JA;;EA4DY,cAAA;EACA,cAAA;AlBg5JZ;AkB94JQ;;EACI,mBAAA;AlBi5JZ;AkB/4JQ;;EACI,cAAA;EACA,mBAAA;AlBk5JZ;AkBh5JQ;;EAEQ,cAAA;AlBk5JhB;AkBp5JQ;;EAIY,yBAAA;AlBo5JpB;AkBh5JQ;;EACI,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,kCAAA;EACA,yBAAA;AlBm5JZ;AkBj5JQ;;;;EAIY,cAAA;AlBm5JpB;AkBv5JQ;;;;;;;;EAUY,cAAA;AlBu5JpB;AkBj6JQ;;;;EAcQ,cAAA;AlBy5JhB;AkB5/JA;EAwGQ,iBAAA;AlBu5JR;AkBr5JI;EAEQ,iBAAA;EACA,kBAAA;AlBs5JZ;AkBr5JY;EAEQ,mBAAA;EACA,SAAA;AlBs5JpB;AkBn5JY;EAEQ,MAAA;AlBo5JpB;AkB/4JoB;;EAEI,cAAA;AlBi5JxB;AkB54JQ;EACI,kBAAA;EACA,WAAA;EACA,SAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,cAAA;EACA,cAAA;AlB84JZ;AkBt5JQ;EAUQ,kBAAA;EACA,WAAA;EACA,SAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,mBAAA;EACA,sBAAA;AlB+4JhB;AkB94JgB;EACI,mBAAA;AlBg5JpB;AkB94JgB;EACI,mBAAA;AlBg5JpB;AkB94JgB;EACI,mBAAA;AlBg5JpB;AkBz6JQ;EA6BQ,eAAA;AlB+4JhB;AkB56JQ;EAgCQ,eAAA;EACA,eAAA;EACA,cAAA;AlB+4JhB;AkBj7JQ;EAqCQ,eAAA;AlB+4JhB;AkBp7JQ;;EAyCQ,gBAAA;AlB+4JhB;AkBx7JQ;EA4CQ,kBAAA;EACA,UAAA;EACA,SAAA;EACA,aAAA;AlB+4JhB;AkB34JI;EAEQ,eAAA;AlB44JZ;AkBz4JI;EACI,gBAAA;AlB24JR;AkBz4JI;EAEQ,gBAAA;EACA,YAAA;AlB04JZ;AkB74JI;EAKY,gBAAA;EACA,eAAA;AlB24JhB;AkBv4JI;EACI,gBAAA;EACA,YAAA;AlBy4JR;AkB34JI;EAIQ,cAAA;AlB04JZ;AkBv4JI;EAEQ,UAAA;AlBw4JZ;AkB14JI;EAIY,iBAAA;EACA,cAAA;EACA,cAAA;AlBy4JhB;AkBv4JY;;EAEI,gCAAA;AlBy4JhB;AkBv4JY;EACI,uBAAA;AlBy4JhB;AkBt4JQ;EAEQ,cAAA;AlBu4JhB;AkBz4JQ;EAIY,kBAAA;EACA,SAAA;EACA,UAAA;EACA,WAAA;AlBw4JpB;AkB/4JQ;EAUY,eAAA;AlBw4JpB;AkBhnKA;EAiPQ,eAAA;AlBk4JR;AkBnnKA;EAmPY,gBAAA;AlBm4JZ;AkBtnKA;EAuPQ,aAAA;AlBk4JR;AkB/3JQ;EAEQ,cAAA;EACA,kBAAA;AlBg4JhB;AkBn4JQ;EAKY,UAAA;EACA,YAAA;AlBi4JpB;AkB53JI;EAEQ,mBAAA;AlB63JZ;AkBx3JA;EAGY,yBAAA;AlBw3JZ;AkB33JA;;EASY,yBAAA;AlBs3JZ;AkB/3JA;EAaQ,yBAAA;AlBq3JR;AACA,WAAW;AmB/oKX;EAEI,kBAAA;EACA,gBAAA;EACA,gBAAA;AnBgpKJ;AG/kKI;;;;;;EAMI,sBAAA;AHilKR;AmB5pKA;EAMQ,YAAA;AnBypKR;AmB/pKA;EAQY,YAAA;AnB0pKZ;AmBlqKA;EAYQ,sBAAA;EACA,aAAA;AnBypKR;AmBxpKQ;EACI,gBAAA;AnB0pKZ;AmBzqKA;EAmBQ,gBAAA;EACA,uBAAA;EACA,cAAA;EACA,eAAA;EACA,gBAAA;AnBypKR;AmBhrKA;EAyBY,kBAAA;EACA,WAAA;AnB0pKZ;AmBxpKQ;EACI,cAAA;EACA,WAAA;EACA,kBAAA;EACA,gBAAA;EACA,cAAA;EACA,QAAA;EACA,MAAA;EACA,SAAA;EjBdR,4CAAA;EiBgBQ,UAAA;AnB0pKZ;AmBhsKA;EAyCY,mBAAA;AnB0pKZ;AmBnsKA;EA2CgB,YAAA;AnB2pKhB;AACA,YAAY;AoBvsKZ;EAEQ,iBAAA;ApBwsKR;AoB1sKA;EAKQ,eAAA;ApBwsKR;AoB7sKA;;EASQ,qBAAA;ApBwsKR;AoBjtKA;EAYQ,eAAA;ApBwsKR;AoBptKA;EAeQ,WAAA;EACA,kBAAA;ApBwsKR;AoBxtKA;EAkBY,gBAAA;ApBysKZ;AoB3tKA;EAsBQ,YAAA;EACA,mBAAA;ApBwsKR;AoB/tKA;EAyBY,iBAAA;ApBysKZ;AoBluKA;EA6BQ,iBAAA;ApBwsKR;AACA,cAAc;AACd,WAAW;AeruKX;EACI,WAAA;EACA,kBAAA;AfuuKJ;AetuKI;EACI,WAAA;EACA,kBAAA;AfwuKR;AepuKI;EACI,sCAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;AfsuKR;AepuKI;EACI,qBAAA;EACA,iBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,kBAAA;EACA,yBAAA;EACA,gBAAA;EACA,sCAAA;AfsuKR;AACA,UAAU;AeluKV;EACI,eAAA;EACA,4BAAA;EACA,uBAAA;EACA,cAAA;EACA,kBAAA;EACA,eAAA;EACA,2DAAA;EACA,sBAAA;EACA,kBAAA;EACA,6CAAA;AfouKJ;AenuKI;;;;EAII,cAAA;EACA,+BAAA;AfquKR;AenuKI;EACI,WAAA;AfquKR;AepuKQ;;;EAGI,WAAA;EACA,8BAAA;AfsuKZ;AenuKI;EACI,cAAA;AfquKR;AepuKQ;;;EAGI,cAAA;EACA,oCAAA;AfsuKZ;AenuKI;EACI,gBAAA;AfquKR;AenuKI;EACI,qBAAA;AfquKR;AepuKQ;EAEQ,cAAA;EACA,+BAAA;AfquKhB;AejuKI;EACI,gBAAA;EACA,YAAA;EACA,aAAA;AfmuKR;Ae/tKA;EAEQ,cAAA;EACA,+BAAA;AfguKR;Ae/tKQ;EACI,WAAA;EACA,8BAAA;AfiuKZ;Ae/tKQ;EACI,cAAA;EACA,oCAAA;AfiuKZ;AACA,kBAAkB;Ae3tKlB;EZPI,SAAA;EACA,UAAA;EACA,gBAAA;AHquKJ;AehuKA;EZHQ,UAAA;EACA,SAAA;EACA,gBAAA;AHsuKR;AeruKA;EAIY,eAAA;AfouKZ;AexuKA;EAOY,WAAA;AfouKZ;Ae3uKA;EAUY,gBAAA;EACA,iBAAA;EACA,cAAA;EACA,eAAA;AfouKZ;AACA,OAAO;Ae/tKP;EACI,cAAA;EACA,SAAA;EACA,yCAAA;AfiuKJ;AACA,kBAAkB;Ae9tKlB;EACI;IACI,UAAA;IACA,+BAAA;EfguKN;Ee9tKE;IACI,UAAA;EfguKN;Ee9tKE;IACI,2BAAA;EfguKN;AACF;Ae1uKA;EACI;IACI,UAAA;IACA,+BAAA;EfguKN;Ee9tKE;IACI,UAAA;EfguKN;Ee9tKE;IACI,2BAAA;EfguKN;AACF;Ae7tKA;EACI,+BAAA;Af+tKJ;AehuKA;EAGQ,kBAAA;AfguKR;Ae9tKI;EAEQ,iCAAA;UAAA,yBAAA;EACA,+DAAA;UAAA,uDAAA;EACA,iCAAA;UAAA,yBAAA;EACA,yCAAA;UAAA,iCAAA;EACA,mBAAA;Af+tKZ;Ae1tKA;EACI;IACI,UAAA;IACA,kCAAA;Ef4tKN;Ee1tKE;IACI,UAAA;Ef4tKN;Ee1tKE;IACI,+BAAA;Ef4tKN;AACF;AetuKA;EACI;IACI,UAAA;IACA,kCAAA;Ef4tKN;Ee1tKE;IACI,UAAA;Ef4tKN;Ee1tKE;IACI,+BAAA;Ef4tKN;AACF;AeztKA;EACI,+BAAA;Af2tKJ;Ae5tKA;EAGQ,kBAAA;Af4tKR;Ae1tKI;EAEQ,iCAAA;UAAA,yBAAA;EACA,+DAAA;UAAA,uDAAA;EACA,iCAAA;UAAA,yBAAA;EACA,0CAAA;UAAA,kCAAA;EACA,mBAAA;Af2tKZ;AettKA;EACI,iCAAA;UAAA,yBAAA;AfwtKJ;AACA,wDAAwD;AACxD,wDAAwD;AqBv5KxD;EACI,gBAAA;ArBy5KJ;AqBv5KA;ElBsHI,gDAAA;EkBpHA,sBAAA;EACA,kBAAA;ArBy5KJ;AACA;;EAEE;AqBr5KF;;EACI,wBAAA;ArBw5KJ;AqBr5KA;EACI,cAAA;EACA,6CAAA;ArBu5KJ;AqBt5KI;;EAEI,cAAA;EACA,qBAAA;ArBw5KR;AqBp5KA;EACI,yBAAA;ArBs5KJ;AqBn5KA;EACI,kBAAA;ArBq5KJ;AqBl5KA;EACI,mBAAA;ArBo5KJ;AqBj5KA;EACI,+DAAA;UAAA,uDAAA;EACA,iCAAA;UAAA,yBAAA;ArBm5KJ;AqB/4KI;EACI,SAAA;ElB2EJ,0CAAA;AHu0KJ;AqBn5KI;EAIQ,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,cAAA;EACA,iBAAA;ArBk5KZ;AqBh5KQ;EAAA;IlBkEJ,0CAAA;EHk1KF;EqBp5KM;IAGQ,eAAA;IACA,iBAAA;ErBo5Kd;AACF;AqBj5KI;EACI,SAAA;ElByDJ,0CAAA;AH21KJ;AqBr5KI;EAIQ,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,cAAA;EACA,iBAAA;ArBo5KZ;AqBl5KQ;EAAA;IlBgDJ,0CAAA;EHs2KF;EqBt5KM;IAGQ,eAAA;IACA,iBAAA;ErBs5Kd;AACF;AqBn5KI;EACI,SAAA;ElBuCJ,0CAAA;AH+2KJ;AqBv5KI;EAIQ,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,cAAA;EACA,iBAAA;ArBs5KZ;AqBp5KQ;EAAA;IlB8BJ,0CAAA;EH03KF;EqBx5KM;IAGQ,eAAA;IACA,iBAAA;ErBw5Kd;AACF;AqBr5KI;;;EAIQ,gBAAA;ArBs5KZ;AqB15KI;;;EAOQ,sBAAA;ArBw5KZ;AqBp5KQ;;EAEI,WAAA;ArBs5KZ;AqB94KI;EACI,eAAA;ArBg5KR;AqB/4KQ;EAAA;IACI,eAAA;ErBk5KV;AACF;AqBh5KI;EACI,cAAA;ArBk5KR;AqB74KA;EACI,kDAAA;EACA,kBAAA;EACA,WAAA;ArB+4KJ;AqBl5KA;EAKQ,gBAAA;ArBg5KR;AqB/4KQ;EAGY,cAAA;EACA,yBAAA;EACA,eAAA;ElBfhB,iCAAA;EkBiBgB,gBAAA;EACA,iDAAA;EACA,2BAAA;EACA,kDAAA;ArB+4KpB;AqB94KoB;;EAEI,cAAA;ArBg5KxB;AqB74KgB;EAEQ,kCAAA;ArB84KxB;AqBx4KI;EACI,gBAAA;ArB04KR;AqBz6KA;EAkCQ,gBAAA;ArB04KR;AqBz4KQ;EAAA;IACI,eAAA;ErB44KV;AACF;AqBz4KA;EACI,aAAA;ArB24KJ;AqBz4KA;EAEQ,gBAAA;EnBvJJ,2CAAA;EmByJI,wDAAA;ArB04KR;AqBz4KQ;EACI,aAAA;ArB24KZ;AqBj5KA;ElB9EI,kBAAA;EACA,UAAA;EACA,gBAAA;AHk+KJ;AqBt5KA;ElB1EQ,UAAA;EACA,SAAA;EACA,gBAAA;AHm+KR;AqB35KA;EAaoB,cAAA;EACA,eAAA;EACA,gBAAA;EACA,iBAAA;EACA,iBAAA;EACA,cAAA;ArBi5KpB;AqBn6KA;EAoBwB,eAAA;EACA,cAAA;EACA,cAAA;EACA,gBAAA;ArBk5KxB;AqBz6KA;EA0BwB,WAAA;EACA,gBAAA;EACA,qBAAA;EACA,cAAA;EACA,WAAA;ArBk5KxB;AqBh7KA;EAgC4B,eAAA;EACA,mBAAA;ArBm5K5B;AqBp7KA;EAqCwB,cAAA;EACA,gBAAA;ArBk5KxB;AqB34KA;EACI,qDAAA;ArB64KJ;AqB14KA;EACI,iBAAA;ArB44KJ;AqB34KI;EAAA;IACI,iBAAA;ErB84KN;AACF;AqBl5KA;EAMQ,eAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,aAAA;ArB+4KR;AqB54KA;EAEQ,yCAAA;ArB64KR;AqBx4KA;EACI,WAAA;EACA,kBAAA;ArB04KJ;AqBx4KQ;;EAEI,aAAA;ArB04KZ;AqBh5KA;EASY,0BAAA;EACA,kCAAA;EACA,4BAAA;ArB04KZ;AqBx4KgB;EACI,uBAAA;ArB04KpB;AqBx4KgB;EACI,mBAAA;EACA,8BAAA;EACA,aAAA;ArB04KpB;AqBx4KgB;EACI,uBAAA;ArB04KpB;AqB34KgB;;EAIQ,cAAA;ArB24KxB;AqBx4KgB;EACI,WAAA;ElBxJhB,0CAAA;EkB0JgB,gBAAA;ArB04KpB;AqBz6KA;EAmCgB,SAAA;EACA,eAAA;EACA,gBAAA;ArBy4KhB;AqB96KA;EAuCmB,gBAAA;ArB04KnB;AqBj7KA;EA6CQ,aAAA;ArBu4KR;AqBr4KI;EAEQ,cAAA;ArBs4KZ;AqBl4KA;EAEQ,yBAAA;ArBm4KR;AqBh4KA;EACI,kBAAA;EACA,QAAA;EACA,iBAAA;EACA,sBAAA;EACA,8BAAA;EACA,mBAAA;EACA,eAAA;EACA,kDAAA;ArBk4KJ;AqBj4KI;EACI,UAAA;ArBm4KR;AqBl4KQ;EACI,kBAAA;EACA,UAAA;EACA,SAAA;ArBo4KZ;AqBj4KI;EACI,WAAA;ArBm4KR;AqBl4KQ;EACI,kBAAA;EACA,WAAA;EACA,SAAA;ArBo4KZ;AqBj4KI;;EAEI,8BAAA;EACA,kBAAA;ArBm4KR;AqBh4KA;EAEQ,0CAAA;EACA,YAAA;EACA,iBAAA;EACA,kBAAA;ArBi4KR;AqBh4KQ;EACI,kBAAA;ArBk4KZ;AqBn4KQ;EAGQ,mBAAA;ArBm4KhB;AqB54KA;EAaY,SAAA;EACA,WAAA;EACA,YAAA;ArBk4KZ;AqB53KA;EACI,eAAA;EACA,kBAAA;ArB83KJ;AqB73KI;EACI,eAAA;ArB+3KR;AqB73KI;EACI,WAAA;ArB+3KR;AqB73KI;EACI,kBAAA;ArB+3KR;AqBh4KI;EAGQ,aAAA;ArBg4KZ;AqB93KQ;EAEQ,cAAA;ArB+3KhB;AqBx3KA;EACI,WAAA;ArB03KJ;AqBt3KA;EAGY;;IAEI,YAAA;IACA,iBAAA;ErBs3Kd;EqBl3KkB;;;IAGI,SAAA;IACA,kBAAA;IACA,OAAA;IACA,QAAA;IACA,MAAA;IACA,SAAA;IACA,8BAAA;IACA,oBAAA;IACA,kBAAA;ErBo3KtB;EqBl3KkB;IACI,mBAAA;IACA,sBAAA;ErBo3KtB;EqB54KE;IA4BgB,eAAA;IACA,sBAAA;ErBm3KlB;EqBh5KE;IA+BoB,gBAAA;ErBo3KtB;AACF;AqB92KA;EACI;IACI,YAAA;ErBg3KN;EqBj3KE;IAGQ,iBAAA;IACA,UAAA;ErBi3KV;EqB92KE;IACI,aAAA;ErBg3KN;EqBz2KE;IACI,sBAAA;IACA,qBAAA;ErB22KN;EqB72KE;IAIQ,eAAA;ErB42KV;AACF;AqBz2KA;EACI;IAGY,0BAAA;ErBy2Kd;EqBv2KkB;;;IAGI,SAAA;IACA,kBAAA;IACA,OAAA;IACA,QAAA;IACA,MAAA;IACA,SAAA;IACA,8BAAA;IACA,kBAAA;IACA,kBAAA;ErBy2KtB;EqBv2KkB;IlBvVhB,0CAAA;IkByVoB,kBAAA;IACA,sBAAA;ErBy2KtB;EqB93KE;IAyBgB,eAAA;IACA,sBAAA;ErBw2KlB;EqBl4KE;IA4BoB,gBAAA;ErBy2KtB;EqBn2KE;IACI,kBAAA;IACA,mBAAA;ErBq2KN;AACF;AACA,UAAU","file":"main.css","sourcesContent":["/*\n* Altair Admin Landing Page\n* author: tzd\n*\n* Content:\n* 1. variables/mixins\n* 2. UIkit custom styles\n* 3. custom components\n* 4. material design styles\n* 5. partials (header,sidebars,top bar)\n* 6. altair landing page styles\n*\n*/\n/* 1. altair variables/mixins ======================== */\n/* 2. UIkit custom styles ============================ */\n/* animations */\n[class*=\"uk-animation-\"] {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n animation-duration: 560ms;\n}\n/* alerts */\n.uk-alert {\n border: none;\n background: #1976d2;\n color: #fff;\n text-shadow: none;\n padding-right: 32px;\n position: relative;\n display: block;\n}\n.uk-alert-success {\n background: #8bc34a !important;\n}\n.uk-alert-danger {\n background: #e53935 !important;\n}\n.uk-alert-warning {\n background: #ffa000 !important;\n}\n.uk-alert-info {\n background: #0097a7 !important;\n}\n.uk-alert-large {\n padding: 24px 32px 24px 24px;\n}\n.uk-alert-close {\n position: absolute;\n top: 10px;\n right: 8px;\n float: none !important;\n margin: 0 !important;\n}\n.uk-alert-close:after {\n color: #fff !important;\n}\n/* badges */\n.uk-badge {\n background: #0097a7;\n padding: 2px 6px;\n border: none;\n border-radius: 2px;\n text-shadow: none;\n font-size: 11px;\n line-height: 15px;\n font-weight: 400;\n}\n.uk-badge-primary {\n background: #2196f3;\n}\n.uk-badge-danger {\n background: #e53935;\n}\n.uk-badge-warning {\n background: #ffa000;\n}\n.uk-badge-success {\n background: #7cb342;\n}\n.uk-badge-muted {\n background: #bdbdbd;\n}\n.uk-badge-notification {\n border-radius: 20px;\n}\n.uk-badge.inline-label {\n vertical-align: 1px;\n margin-left: 4px;\n}\n.uk-badge-outline {\n border: 1px solid rgba(0, 0, 0, 0.12);\n background: #fff;\n color: #212121;\n padding-bottom: 0;\n line-height: 16px;\n}\n/* buttons */\n.uk-button {\n font-weight: 400;\n border-radius: 2px;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/* comments */\n.uk-comment-list > li + li {\n border-top: 1px dashed rgba(0, 0, 0, 0.12);\n margin-top: 16px !important;\n}\n.uk-comment-list .uk-comment + ul {\n margin: 8px 0 0 0;\n}\n@media only screen and (min-width: 768px) {\n .uk-comment-list .uk-comment + ul {\n padding-left: 48px;\n }\n}\n.uk-comment-header {\n padding: 16px 8px 8px;\n border: none;\n background: none;\n margin-bottom: 0;\n}\n.uk-comment-title {\n margin: 0;\n font-size: 14px;\n line-height: 20px;\n}\n/* dialog modals */\n.uk-modal {\n z-index: 1304;\n background: rgba(0, 0, 0, 0.5);\n transition: opacity 250ms ease-out;\n overflow: auto !important;\n}\n.uk-modal.uk-modal-no-backdrop {\n background: transparent;\n}\n.uk-modal-dialog {\n border-radius: 2px;\n box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);\n padding: 24px;\n display: block !important;\n animation: none !important;\n transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 280ms ease-in;\n transform: scale(0);\n}\n.uk-open .uk-modal-dialog {\n transform: scale(1);\n}\n.uk-modal-dialog .uk-modal-header {\n background: none;\n border-bottom: none;\n margin: 0 -24px 24px;\n padding: 0 32px 0 24px;\n overflow: hidden;\n}\n.uk-modal-dialog .uk-modal-header .uk-modal-title {\n margin: 0;\n font: 500 18px / 28px \"Roboto\", sans-serif;\n}\n.uk-modal-dialog .uk-modal-header .uk-modal-title span {\n font-size: 16px;\n display: block;\n color: #727272;\n}\n.uk-modal-dialog .uk-modal-header .material-icons {\n font-size: 24px;\n vertical-align: -4px;\n cursor: default;\n}\n.uk-modal-dialog .uk-modal-footer {\n margin: 16px -16px -16px;\n padding: 16px;\n background: #fff;\n border-top: none;\n}\n.uk-modal-dialog .uk-modal-footer:before,\n.uk-modal-dialog .uk-modal-footer:after {\n content: \" \";\n display: table;\n}\n.uk-modal-dialog .uk-modal-footer:after {\n clear: both;\n}\n.uk-modal-dialog .uk-modal-footer .md-icon-btn {\n margin-top: 2px;\n}\n.uk-modal-dialog .uk-modal-caption {\n bottom: 16px;\n margin: 0 32px;\n}\n.uk-modal-dialog > .uk-close:first-child {\n top: 8px;\n right: 8px;\n position: absolute;\n float: none;\n margin: 0;\n}\n.uk-modal-dialog-lightbox {\n padding: 0;\n}\n.uk-modal-dialog-lightbox > .uk-close:first-child {\n top: -11px;\n right: -11px;\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n border: none;\n}\n.uk-modal-dialog .uk-overflow-container {\n margin: 16px 0;\n}\n.uk-modal .uk-margin.uk-modal-content {\n margin-bottom: 0;\n}\n.uk-modal.uk-modal-dialog-replace .uk-modal-content {\n font-size: 18px;\n}\n.uk-modal-spinner {\n animation: uk-rotate 2s infinite linear;\n margin-left: -12px;\n margin-top: -17px;\n left: 50%;\n right: auto;\n}\n/* dropdowns */\n.uk-dropdown {\n transform: scale(0.25, 0);\n opacity: 0;\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n animation: none !important;\n transform-origin: 50% 0 !important;\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n border: none;\n border-radius: 2px;\n}\n.uk-dropdown.uk-dropdown-xlarge {\n width: 360px;\n}\n@media only screen and (max-width: 479px) {\n .uk-dropdown.uk-dropdown-xlarge {\n width: 260px;\n }\n}\n.uk-dropdown.uk-dropdown-large {\n width: 260px;\n}\n.uk-dropdown.uk-dropdown-small {\n width: 160px;\n}\n.uk-dropdown > ul > li > a {\n font-size: 14px;\n color: #212121;\n}\n.uk-dropdown > ul > li > a:hover {\n background: rgba(0, 0, 0, 0.085);\n}\n.uk-dropdown > ul > li.uk-active > a {\n background: rgba(0, 0, 0, 0.085);\n}\n.uk-dropdown > ul > li.padding_sm {\n padding: 2px 4px;\n}\n.uk-dropdown > ul > li.padding_md {\n padding: 4px 8px;\n}\n.uk-dropdown.dropdown-modal {\n z-index: 1310;\n}\n.uk-dropdown.dropdown-fs {\n z-index: 9999;\n}\n.uk-dropdown.uk-dropdown-scrollable {\n -webkit-overflow-scrolling: touch;\n}\n[data-uk-dropdown*=\"top-\"] .uk-dropdown {\n transform-origin: 50% 100% !important;\n}\n[data-uk-dropdown*=\"left-\"] .uk-dropdown {\n transform-origin: 100% 50% !important;\n}\n[data-uk-dropdown*=\"right-\"] .uk-dropdown {\n transform-origin: 0 50% !important;\n}\n[data-uk-dropdown*='justify'] {\n position: static !important;\n}\n[data-uk-dropdown*='justify'] [class*=\"uk-dropdown-width\"] {\n left: 0 !important;\n width: 100% !important;\n min-width: inherit !important;\n margin-left: 0 !important;\n}\n.uk-dropdown-active {\n display: block !important;\n}\n.uk-dropdown-shown {\n transform: scale(1, 1);\n opacity: 1;\n}\n.uk-nav-dropdown > li > a:focus,\n.uk-nav-dropdown > li > a:hover {\n text-shadow: none;\n box-shadow: none;\n color: #212121;\n background: rgba(153, 153, 153, 0.2);\n}\n/* forms */\n.uk-form input:not([type]),\n.uk-form input[type=color],\n.uk-form input[type=date],\n.uk-form input[type=datetime-local],\n.uk-form input[type=email],\n.uk-form input[type=month],\n.uk-form input[type=number],\n.uk-form input[type=password],\n.uk-form input[type=search],\n.uk-form input[type=tel],\n.uk-form input[type=text],\n.uk-form input[type=time],\n.uk-form input[type=url],\n.uk-form input[type=week],\n.uk-form select,\n.uk-form textarea {\n box-sizing: border-box;\n padding: 8px;\n border: 1px solid rgba(0, 0, 0, 0.12);\n transition: border 200ms ease-in;\n resize: none;\n}\n.uk-form input:not([type]):focus,\n.uk-form input[type=color]:focus,\n.uk-form input[type=date]:focus,\n.uk-form input[type=datetime-local]:focus,\n.uk-form input[type=email]:focus,\n.uk-form input[type=month]:focus,\n.uk-form input[type=number]:focus,\n.uk-form input[type=password]:focus,\n.uk-form input[type=search]:focus,\n.uk-form input[type=tel]:focus,\n.uk-form input[type=text]:focus,\n.uk-form input[type=time]:focus,\n.uk-form input[type=url]:focus,\n.uk-form input[type=week]:focus,\n.uk-form select:focus,\n.uk-form textarea:focus {\n background: none;\n border-color: #2196f3;\n}\n.uk-form textarea {\n transition: border-color 200ms ease-in, height 280ms ease-in;\n}\n.uk-form-row {\n transition: all 200ms ease-out;\n}\n.uk-form-row + .uk-form-row {\n margin-top: 24px;\n}\n.uk-form-stacked .uk-form-label {\n font-weight: 500;\n font-size: 13px;\n display: block;\n padding-bottom: 8px;\n}\n.uk-form-stacked .uk-form-label + p {\n margin-top: 0;\n}\n.uk-form-help-block {\n display: block;\n font-size: 12px;\n color: #727272;\n padding: 4px 0 0 0;\n font-style: italic;\n}\n.uk-form-width-large,\n.uk-form-width-medium,\n.uk-form-width-small,\n.uk-form-width-mini {\n max-width: 100%;\n}\n/* grid */\n.uk-grid + .uk-grid,\n.uk-grid-margin,\n.uk-grid > * > .uk-panel + .uk-panel {\n margin-top: 48px;\n}\n.uk-grid.uk-grid-small + .uk-grid-small,\n.uk-grid.uk-grid-small > * > .uk-panel + .uk-panel,\n.uk-grid.uk-grid-small > .uk-grid-margin {\n margin-top: 10px;\n}\n/* icons */\n[class*=\"uk-icon-\"] {\n color: #727272;\n}\n/* navbar */\n.uk-navbar {\n border-radius: 0;\n border: none;\n box-sizing: border-box;\n}\n.uk-navbar-brand {\n line-height: 64px;\n display: inline-block;\n margin: 0;\n text-shadow: none;\n color: #fff;\n}\n.uk-navbar-nav > li > a {\n height: 64px;\n text-shadow: none;\n font-size: 16px;\n border-radius: 0 !important;\n line-height: 68px;\n border: none !important;\n margin: 0;\n}\n.uk-navbar-nav > li > a:hover,\n.uk-navbar-nav > li > a:active {\n background: none;\n}\n.uk-navbar-nav > li > a.uk-navbar-nav-subtitle {\n line-height: 50px;\n margin: 0;\n}\n.uk-navbar-nav > li > a.uk-navbar-nav-subtitle > div {\n margin-top: -12px;\n font-size: 11px;\n}\n/* panels */\n.uk-panel-box {\n border-radius: 2px;\n background: #fff;\n border-color: rgba(0, 0, 0, 0.12);\n}\n.uk-panel-box .uk-panel-teaser {\n border-radius: 2px 2px 0 0;\n}\n/* tables */\n.uk-table td {\n border-bottom-color: rgba(0, 0, 0, 0.12);\n}\n.uk-table th {\n border-bottom: 1px #444;\n}\n.uk-table-nowrap td,\n.uk-table-nowrap th {\n white-space: nowrap;\n}\n.uk-table-align-vertical td,\n.uk-table-align-vertical th {\n vertical-align: middle;\n}\n.uk-table-no-border td {\n border-bottom-color: transparent;\n}\n/* sticky */\n.uk-sticky-placeholder .uk-active {\n z-index: 1094;\n}\n/* subnav */\n.uk-subnav-pill > * > * {\n color: #212121;\n}\n.uk-subnav-pill > .uk-active > * {\n background: #7cb342;\n}\n/* tables */\n.uk-table thead th {\n border-bottom: 2px solid rgba(0, 0, 0, 0.12);\n}\n.uk-table thead th,\n.uk-table tfoot td,\n.uk-table tfoot th {\n font-style: normal;\n font-weight: 400;\n color: #727272;\n font-size: 14px;\n}\n.uk-table td {\n border-bottom-color: #e0e0e0;\n}\n.uk-table tfoot td,\n.uk-table tfoot th {\n border-top: 2px solid rgba(0, 0, 0, 0.12);\n border-bottom: none;\n}\n.uk-table-striped tbody tr:nth-of-type(odd) {\n background: rgba(0, 0, 0, 0.085);\n}\n.uk-table-hover tbody tr:hover {\n background: rgba(0, 0, 0, 0.085);\n}\n/* thumbnails */\n.uk-thumbnail {\n border-radius: 0;\n border-color: rgba(0, 0, 0, 0.12);\n}\n.uk-thumbnail-caption {\n padding: 4px 4px 0;\n line-height: 20px;\n color: #727272;\n font-size: 12px;\n}\n/* utilities */\n.uk-text-small {\n font-size: 12px;\n}\n.uk-text-muted {\n color: #757575 !important;\n}\n.uk-text-primary {\n color: #2196f3 !important;\n}\n.uk-text-danger {\n color: #e53935 !important;\n}\n.uk-text-success {\n color: #7cb342 !important;\n}\n.uk-text-warning {\n color: #ffa000 !important;\n}\n.uk-margin-bottom {\n margin-bottom: 16px !important;\n}\n.uk-margin-small-bottom {\n margin-bottom: 8px !important;\n}\n.uk-margin-medium-bottom {\n margin-bottom: 32px !important;\n}\n.uk-margin-large-bottom {\n margin-bottom: 48px !important;\n}\n.uk-margin-medium-top {\n margin-top: 32px !important;\n}\n.uk-margin-large-top {\n margin-top: 48px !important;\n}\n.uk-margin-right {\n margin-right: 16px !important;\n}\n.uk-margin-medium-right {\n margin-right: 32px !important;\n}\n.uk-close {\n font-size: 18px;\n opacity: 1;\n}\n.uk-close:hover,\n.uk-close:focus {\n opacity: 1;\n}\n.uk-close:after {\n opacity: 1 !important;\n color: #727272;\n content: '\\e5cd';\n font-family: \"Material Icons\";\n}\n/* ------------ Components ------------ */\n/* accordion */\n/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Accordion\n ========================================================================== */\n/* Sub-object: `uk-accordion-title`\n ========================================================================== */\n.uk-accordion-title {\n margin-top: 0;\n margin-bottom: 15px;\n padding: 5px 15px;\n background: #f5f5f5;\n font-size: 18px;\n line-height: 24px;\n cursor: pointer;\n border: 1px solid #ddd;\n border-radius: 4px;\n}\n/* Sub-object: `uk-accordion-content`\n ========================================================================== */\n.uk-accordion-content {\n padding: 0 15px 15px 15px;\n}\n/*\n * Micro clearfix to make panels more robust\n */\n.uk-accordion-content:before,\n.uk-accordion-content:after {\n content: \"\";\n display: table;\n}\n.uk-accordion-content:after {\n clear: both;\n}\n/*\n * Remove margin from the last-child\n */\n.uk-accordion-content > :last-child {\n margin-bottom: 0;\n}\n.uk-accordion-title {\n background: rgba(153, 153, 153, 0.2);\n border-radius: 0;\n border: none;\n margin: 0 0 4px;\n font-size: 15px;\n font-weight: 400;\n padding: 8px 24px 8px 16px;\n position: relative;\n}\n.uk-accordion-title:after {\n content: '\\e313';\n font-family: \"Material Icons\";\n font-size: 18px;\n position: absolute;\n top: 8px;\n right: 8px;\n display: block;\n color: #727272;\n transition: transform 280ms;\n}\n.uk-accordion-title.uk-active:after {\n transform: rotate(-180deg);\n}\n.uk-accordion-title-primary {\n background: #2196f3;\n color: #fff;\n}\n.uk-accordion-title-primary:after {\n color: #fff;\n}\n.uk-accordion-title-danger {\n background: #e53935;\n color: #fff;\n}\n.uk-accordion-title-danger:after {\n color: #fff;\n}\n.uk-accordion-title-success {\n background: #7cb342;\n color: #fff;\n}\n.uk-accordion-title-success:after {\n color: #fff;\n}\n.uk-accordion-title-warning {\n background: #ffa000;\n color: #fff;\n}\n.uk-accordion-title-warning:after {\n color: #fff;\n}\n.uk-accordion-content {\n padding: 16px;\n}\n.uk-accordion-alt .uk-accordion-title {\n background: #fff;\n margin: 0;\n padding: 16px 24px 16px 48px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n}\n.uk-accordion-alt .uk-accordion-title:first-child {\n border-top: none;\n}\n.uk-accordion-alt .uk-accordion-title:after {\n color: #2196f3;\n content: '\\e145';\n right: auto;\n left: 16px;\n top: 16px;\n}\n.uk-accordion-alt .uk-accordion-title.uk-active:after {\n transform: rotate(-180deg);\n content: '\\e15b';\n}\n.uk-accordion-alt .uk-accordion-content {\n padding: 24px;\n}\n/* dotnav */\n/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Dotnav\n ========================================================================== */\n/*\n * 1. Gutter\n * 2. Remove default list style\n */\n.uk-dotnav {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -ms-flex-wrap: wrap;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n /* 1 */\n margin-left: -15px;\n margin-top: -15px;\n /* 2 */\n padding: 0;\n list-style: none;\n}\n/*\n * 1. Space is allocated solely based on content dimensions\n * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied\n */\n.uk-dotnav > * {\n /* 1 */\n -ms-flex: none;\n -webkit-flex: none;\n flex: none;\n /* 2 */\n padding-left: 15px;\n margin-top: 15px;\n}\n/*\n * DEPRECATED IE9 Support\n */\n.uk-dotnav:before,\n.uk-dotnav:after {\n content: \"\";\n display: block;\n overflow: hidden;\n}\n.uk-dotnav:after {\n clear: both;\n}\n.uk-dotnav > * {\n float: left;\n}\n/* Items\n ========================================================================== */\n/*\n * Items\n * 1. Hide text if present\n */\n.uk-dotnav > * > * {\n display: block;\n box-sizing: content-box;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: rgba(50, 50, 50, 0.1);\n /* 1 */\n text-indent: 100%;\n overflow: hidden;\n white-space: nowrap;\n}\n/*\n * Hover\n * 1. Apply hover style also to focus state\n * 2. Remove default focus style\n */\n.uk-dotnav > * > :hover,\n.uk-dotnav > * > :focus {\n background: rgba(50, 50, 50, 0.4);\n /* 2 */\n outline: none;\n}\n/* OnClick */\n.uk-dotnav > * > :active {\n background: rgba(50, 50, 50, 0.6);\n}\n/* Active */\n.uk-dotnav > .uk-active > * {\n background: rgba(50, 50, 50, 0.4);\n}\n/* Modifier: `uk-dotnav-contrast`\n ========================================================================== */\n.uk-dotnav-contrast > * > * {\n background: rgba(255, 255, 255, 0.4);\n}\n/*\n * Hover\n * 1. Apply hover style also to focus state\n */\n.uk-dotnav-contrast > * > :hover,\n.uk-dotnav-contrast > * > :focus {\n background: rgba(255, 255, 255, 0.7);\n}\n/* OnClick */\n.uk-dotnav-contrast > * > :active {\n background: rgba(255, 255, 255, 0.9);\n}\n/* Active */\n.uk-dotnav-contrast > .uk-active > * {\n background: rgba(255, 255, 255, 0.9);\n}\n/* Modifier: 'uk-dotnav-vertical'\n ========================================================================== */\n/*\n * DEPRECATED\n */\n.uk-dotnav-vertical {\n -ms-flex-direction: column;\n -webkit-flex-direction: column;\n flex-direction: column;\n}\n/*\n * DEPRECATED IE9 Support\n */\n.uk-dotnav-vertical > * {\n float: none;\n}\n/* autocomplete, timepicker */\n.uk-autocomplete .uk-dropdown {\n display: block;\n max-height: 0;\n padding: 0;\n overflow-x: hidden;\n overflow-y: auto;\n border-radius: 0;\n border: none;\n transform: scale(0.25, 0);\n opacity: 0;\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n animation: none !important;\n transform-origin: 0 0;\n}\n.uk-autocomplete.uk-open .uk-dropdown {\n transform: scale(1);\n opacity: 1;\n max-height: 210px;\n}\n[data-uk-autocomplete] .uk-dropdown {\n width: 100%;\n box-sizing: border-box;\n}\n[data-uk-autocomplete] .uk-dropdown .uk-nav {\n margin: 0;\n}\n/* slideshow */\n/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Slideshow\n ========================================================================== */\n/*\n * 1. Create position context\n * 2. Create stacking context to prevent z-index issues with other components\n * 3. Set width because child elements are positioned absolute. Height is set via JS\n * 4. Reset list style\n * 5. Clip child elements\n * 6. Deactivate browser history navigation in IE11\n */\n.uk-slideshow {\n /* 1 */\n position: relative;\n /* 2 */\n z-index: 0;\n /* 3 */\n width: 100%;\n /* 4 */\n margin: 0;\n padding: 0;\n list-style: none;\n /* 5 */\n overflow: hidden;\n /* 6 */\n touch-action: pan-y;\n}\n/*\n * Sub-object item\n * 1. Position items above each other\n * 2. Expand to parent container width\n * 3. Hide by default\n */\n.uk-slideshow > li {\n /* 1 */\n position: absolute;\n top: 0;\n left: 0;\n /* 2 */\n width: 100%;\n /* 3 */\n opacity: 0;\n}\n/*\n * Active\n * 1. Stack at first\n * 2. Show slide\n */\n.uk-slideshow > .uk-active {\n /* 1 */\n z-index: 10;\n /* 2 */\n opacity: 1;\n}\n/*\n * Hide default images which is only relevant to keep existing proportions\n */\n.uk-slideshow > li > img {\n visibility: hidden;\n}\n/*\n * Pointer for controls\n */\n[data-uk-slideshow-slide] {\n cursor: pointer;\n}\n/* Modifier: `uk-slideshow-fullscreen`\n ========================================================================== */\n.uk-slideshow-fullscreen,\n.uk-slideshow-fullscreen > li {\n height: 100vh;\n}\n/* Animations\n ========================================================================== */\n/*\n * Fade\n */\n.uk-slideshow-fade-in {\n -webkit-animation: uk-fade 0.5s linear;\n animation: uk-fade 0.5s linear;\n}\n.uk-slideshow-fade-out {\n -webkit-animation: uk-fade 0.5s linear reverse;\n animation: uk-fade 0.5s linear reverse;\n}\n/*\n * Scroll\n */\n.uk-slideshow-scroll-forward-in {\n -webkit-animation: uk-slide-right 0.5s ease-in-out;\n animation: uk-slide-right 0.5s ease-in-out;\n}\n.uk-slideshow-scroll-forward-out {\n -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;\n animation: uk-slide-left 0.5s ease-in-out reverse;\n}\n.uk-slideshow-scroll-backward-in {\n -webkit-animation: uk-slide-left 0.5s ease-in-out;\n animation: uk-slide-left 0.5s ease-in-out;\n}\n.uk-slideshow-scroll-backward-out {\n -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;\n animation: uk-slide-right 0.5s ease-in-out reverse;\n}\n/*\n * Scale\n */\n.uk-slideshow-scale-out {\n -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse;\n animation: uk-fade-scale-15 0.5s ease-in-out reverse;\n}\n/*\n * Swipe\n */\n.uk-slideshow-swipe-forward-in {\n -webkit-animation: uk-slide-left-33 0.5s ease-in-out;\n animation: uk-slide-left-33 0.5s ease-in-out;\n}\n.uk-slideshow-swipe-forward-out {\n -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;\n animation: uk-slide-left 0.5s ease-in-out reverse;\n}\n.uk-slideshow-swipe-backward-in {\n -webkit-animation: uk-slide-right-33 0.5s ease-in-out;\n animation: uk-slide-right-33 0.5s ease-in-out;\n}\n.uk-slideshow-swipe-backward-out {\n -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;\n animation: uk-slide-right 0.5s ease-in-out reverse;\n}\n.uk-slideshow-swipe-forward-in:before,\n.uk-slideshow-swipe-backward-in:before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n background: rgba(0, 0, 0, 0.6);\n -webkit-animation: uk-fade 0.5s ease-in-out reverse;\n animation: uk-fade 0.5s ease-in-out reverse;\n}\n/* slider */\n/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Slider\n ========================================================================== */\n/*\n * RTL Compatibility\n */\n[data-uk-slider] {\n direction: ltr;\n}\nhtml[dir=\"rtl\"] .uk-slider > * {\n direction: rtl;\n}\n/*\n * 1. Create position context\n * 2. Create stacking context to prevent z-index issues with other components\n * 3. Deactivate browser history navigation in IE11\n */\n.uk-slider {\n /* 1 */\n position: relative;\n /* 2 */\n z-index: 0;\n /* 3 */\n touch-action: pan-y;\n}\n/*\n * 1. Reset list style without interfering with grid\n */\n.uk-slider:not(.uk-grid) {\n /* 1 */\n margin: 0;\n padding: 0;\n list-style: none;\n}\n/*\n * Sub-object item\n * 1. Position items above each other\n */\n.uk-slider > * {\n /* 1 */\n position: absolute;\n top: 0;\n left: 0;\n}\n/*\n * Clip child elements\n */\n.uk-slider-container {\n overflow: hidden;\n}\n/*\n * Dragged\n */\n.uk-slider:not(.uk-drag) {\n -webkit-transition: -webkit-transform 200ms linear;\n transition: transform 200ms linear;\n}\n/*\n * 1. Makes text unselectable\n */\n.uk-slider.uk-drag {\n cursor: col-resize;\n /* 1 */\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n/*\n * 1. Prevents images and links from being dragged (default browser behavior)\n * 2. Disables the default callout shown when you touch and hold a touch target\n * Currently only works in Webkit\n */\n.uk-slider a,\n.uk-slider img {\n /* 1 */\n -webkit-user-drag: none;\n user-drag: none;\n /* 2 */\n -webkit-touch-callout: none;\n}\n/*\n * 1. Prevents images and links from being dragged in Firefox\n */\n.uk-slider img {\n pointer-events: none;\n}\n/* Modifier: `uk-slider-fullscreen`\n ========================================================================== */\n.uk-slider-fullscreen,\n.uk-slider-fullscreen > li {\n height: 100vh;\n}\n.uk-slider-container {\n padding: 8px 0;\n}\n/* slidenav */\n/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Slidenav\n ========================================================================== */\n/*\n * 1. Required for `a` elements\n * 2. Dimension\n * 3. Style\n */\n.uk-slidenav {\n /* 1 */\n display: inline-block;\n /* 2 */\n box-sizing: border-box;\n width: 60px;\n height: 60px;\n /* 3 */\n line-height: 60px;\n color: rgba(50, 50, 50, 0.4);\n font-size: 60px;\n text-align: center;\n}\n/*\n * Hover\n * 1. Apply hover style also to focus state\n * 2. Remove default focus style\n * 3. Required for `a` elements\n * 4. Style\n */\n.uk-slidenav:hover,\n.uk-slidenav:focus {\n /* 2 */\n outline: none;\n /* 3 */\n text-decoration: none;\n /* 4 */\n color: rgba(50, 50, 50, 0.7);\n cursor: pointer;\n}\n/* Active */\n.uk-slidenav:active {\n color: rgba(50, 50, 50, 0.9);\n}\n/*\n * Icons\n */\n.uk-slidenav-previous:before {\n content: \"\\f104\";\n font-family: FontAwesome;\n}\n.uk-slidenav-next:before {\n content: \"\\f105\";\n font-family: FontAwesome;\n}\n/* Sub-object: `uk-slidenav-position`\n ========================================================================== */\n/*\n * Create position context\n */\n.uk-slidenav-position {\n position: relative;\n}\n/*\n * Center vertically\n */\n.uk-slidenav-position .uk-slidenav {\n display: none;\n position: absolute;\n top: 50%;\n z-index: 1;\n margin-top: -30px;\n}\n.uk-slidenav-position:hover .uk-slidenav {\n display: block;\n}\n.uk-slidenav-position .uk-slidenav-previous {\n left: 20px;\n}\n.uk-slidenav-position .uk-slidenav-next {\n right: 20px;\n}\n/* Modifier: `uk-slidenav-contrast`\n ========================================================================== */\n.uk-slidenav-contrast {\n color: rgba(255, 255, 255, 0.5);\n}\n/*\n * Hover\n * 1. Apply hover style also to focus state\n */\n.uk-slidenav-contrast:hover,\n.uk-slidenav-contrast:focus {\n color: rgba(255, 255, 255, 0.7);\n}\n/* Active */\n.uk-slidenav-contrast:active {\n color: rgba(255, 255, 255, 0.9);\n}\n/* tooltips */\n/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Tooltip\n ========================================================================== */\n/*\n * 1. Hide by default\n * 2. Set fixed position\n * 3. Set dimensions\n * 4. Set style\n */\n.uk-tooltip {\n /* 1 */\n display: none;\n /* 2 */\n position: absolute;\n z-index: 1030;\n /* 3 */\n box-sizing: border-box;\n max-width: 200px;\n padding: 5px 8px;\n /* 4 */\n background: #333;\n color: rgba(255, 255, 255, 0.7);\n font-size: 12px;\n line-height: 18px;\n border-radius: 3px;\n text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);\n}\n/* Triangle\n ========================================================================== */\n/*\n * 1. Dashed is less antialised than solid\n */\n.uk-tooltip:after {\n content: \"\";\n display: block;\n position: absolute;\n width: 0;\n height: 0;\n /* 1 */\n border: 5px dashed #333;\n}\n/* Direction modifiers\n ========================================================================== */\n/*\n * Top\n */\n.uk-tooltip-top:after,\n.uk-tooltip-top-left:after,\n.uk-tooltip-top-right:after {\n bottom: -5px;\n border-top-style: solid;\n border-bottom: none;\n border-left-color: transparent;\n border-right-color: transparent;\n border-top-color: #333;\n}\n/*\n * Bottom\n */\n.uk-tooltip-bottom:after,\n.uk-tooltip-bottom-left:after,\n.uk-tooltip-bottom-right:after {\n top: -5px;\n border-bottom-style: solid;\n border-top: none;\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: #333;\n}\n/*\n * Top/Bottom center\n */\n.uk-tooltip-top:after,\n.uk-tooltip-bottom:after {\n left: 50%;\n margin-left: -5px;\n}\n/*\n * Top/Bottom left\n */\n.uk-tooltip-top-left:after,\n.uk-tooltip-bottom-left:after {\n left: 10px;\n}\n/*\n * Top/Bottom right\n */\n.uk-tooltip-top-right:after,\n.uk-tooltip-bottom-right:after {\n right: 10px;\n}\n/*\n * Left\n */\n.uk-tooltip-left:after {\n right: -5px;\n top: 50%;\n margin-top: -5px;\n border-left-style: solid;\n border-right: none;\n border-top-color: transparent;\n border-bottom-color: transparent;\n border-left-color: #333;\n}\n/*\n * Right\n */\n.uk-tooltip-right:after {\n left: -5px;\n top: 50%;\n margin-top: -5px;\n border-right-style: solid;\n border-left: none;\n border-top-color: transparent;\n border-bottom-color: transparent;\n border-right-color: #333;\n}\n.uk-tooltip {\n background: #424242;\n color: #fff;\n font-size: 13px;\n padding: 3px 16px;\n line-height: 22px;\n text-shadow: none;\n min-width: 80px;\n text-align: center;\n z-index: 1304;\n opacity: 0;\n}\n.uk-tooltip .uk-tooltip-inner {\n text-overflow: ellipsis;\n display: inline-block;\n vertical-align: top;\n white-space: nowrap;\n overflow: hidden;\n width: 100%;\n}\n.uk-tooltip:after {\n display: none !important;\n}\n.uk-tooltip.long-text {\n text-align: left;\n}\n.uk-tooltip.long-text .uk-tooltip-inner {\n white-space: normal;\n overflow: visible;\n line-height: 18px;\n padding: 4px 0;\n}\n.uk-tooltip-small {\n transform: scale(0.85);\n}\n/* tabs */\n.uk-tab {\n border-bottom-color: rgba(0, 0, 0, 0.12);\n}\n.uk-sticky-placeholder .uk-tab {\n background: #fff;\n padding-top: 8px;\n}\n.uk-tab > li {\n margin-bottom: 0;\n margin-top: 0 ;\n z-index: 1;\n}\n.uk-tab > li > a {\n font-size: 13px;\n text-transform: uppercase;\n color: #212121;\n border: none;\n border-bottom: 2px solid transparent;\n border-radius: 0 !important;\n font-weight: 500;\n min-width: 100px;\n max-width: 100%;\n text-align: center;\n transition: all 220ms cubic-bezier(0.4, 0, 0.2, 1);\n padding: 8px !important;\n margin: 0 !important;\n box-sizing: border-box;\n position: relative;\n top: 1px;\n text-shadow: none;\n}\n.uk-tab > li > a:hover,\n.uk-tab > li > a:focus {\n background: none;\n color: #212121;\n border-bottom-color: #b2dbfb;\n}\n.uk-tab > li.uk-active > a {\n background: transparent !important;\n border-bottom-color: #2196f3;\n}\n.uk-tab > li.uk-disabled > a,\n.uk-tab > li.uk-disabled > a:hover,\n.uk-tab > li.uk-disabled > a:focus {\n color: #aaa;\n}\n.uk-tab-bottom li {\n margin-top: 0;\n}\n.uk-tab-bottom li > a {\n border-top: 2px solid transparent;\n border-bottom: none;\n top: auto;\n bottom: 1px;\n}\n.uk-tab-bottom li > a:hover,\n.uk-tab-bottom li > a:focus {\n border-top-color: #b2dbfb;\n}\n.uk-tab-bottom li.uk-active > a {\n border-top-color: #2196f3;\n}\n.uk-tab-left {\n border-bottom: none;\n}\n.uk-tab-left li > a {\n border-right: 2px solid transparent;\n border-bottom: none;\n text-align: right;\n top: auto;\n bottom: auto;\n}\n.uk-tab-left li > a:hover,\n.uk-tab-left li > a:focus {\n border-right-color: #b2dbfb;\n}\n.uk-tab-left li.uk-active > a {\n border-right-color: #2196f3;\n}\n.uk-tab-right {\n border-bottom: none;\n}\n.uk-tab-right li > a {\n border-left: 2px solid transparent;\n border-bottom: none;\n text-align: left;\n top: auto;\n bottom: auto;\n}\n.uk-tab-right li > a:hover,\n.uk-tab-right li > a:focus {\n border-left-color: #b2dbfb;\n}\n.uk-tab-right li.uk-active > a {\n border-left-color: #2196f3;\n}\n.uk-tab-responsive li a {\n border: none !important;\n}\n.uk-tab-responsive > a:before {\n content: '\\e5d2';\n font-family: \"Material Icons\";\n color: #727272;\n margin-right: 8px;\n vertical-align: -4px;\n font-size: 18px;\n}\n.uk-tab-icons > li > a {\n min-width: 64px;\n}\n.uk-tab-icons > li > a > .material-icons {\n font-size: 24px;\n}\n.uk-tab-double-header {\n margin: 10px 24px 0 !important;\n}\n.uk-tab-double-header > li > a {\n color: #fff;\n border-bottom: 4px solid transparent;\n}\n.uk-tab-double-header > li > a:hover,\n.uk-tab-double-header > li > a:focus {\n color: #fff;\n border-bottom-color: #39a1f4;\n}\n.uk-tab-double-header > li.uk-active > a {\n color: #fff;\n border-bottom-color: #7cb342;\n}\n.uk-tab-double-header > li.uk-tab-responsive > a {\n border-bottom: none;\n padding-bottom: 5px !important;\n}\n.uk-tab-double-header > li.uk-tab-responsive > a:before {\n color: #fff;\n}\n.uk-tab-large > li {\n margin-bottom: 0;\n margin-top: 0 ;\n z-index: 1;\n}\n.uk-tab-large > li > a {\n font-size: 16px;\n padding: 12px 24px !important;\n}\n/* text truncate */\n.uk-text-truncate {\n display: block;\n}\n.uk-switcher {\n overflow: hidden;\n}\n.uk-switcher > li {\n padding: 8px 4px;\n}\n/*\n* add extra Uikit grid sizes\n*\n* usage:\n* set custom breakpoint (1480px) and name (\"xlarge-x\")\n* @media (min-width: 1480px) {\n* .add-grid-sizes(xlarge-x);\n* }\n*/\n@media (min-width: 1480px) {\n /* Whole */\n .uk-width-xLarge-1-1,\n .uk-grid-width-xLarge-1-1 > * {\n width: 100%;\n }\n /* Halves */\n .uk-width-xLarge-1-2,\n .uk-width-xLarge-2-4,\n .uk-width-xLarge-3-6,\n .uk-width-xLarge-5-10,\n .uk-grid-width-xLarge-1-2 > *,\n .uk-grid-width-xLarge-2-4 > *,\n .uk-grid-width-xLarge-3-6 > *,\n .uk-grid-width-xLarge-5-10 > * {\n width: 50%;\n }\n /* Thirds */\n .uk-width-xLarge-1-3,\n .uk-width-xLarge-2-6,\n .uk-grid-width-xLarge-1-3 > *,\n .uk-grid-width-xLarge-2-6 > * {\n width: 33.333%;\n }\n .uk-width-xLarge-2-3,\n .uk-width-xLarge-4-6,\n .uk-grid-width-xLarge-2-3 > *,\n .uk-grid-width-xLarge-4-6 > * {\n width: 66.666%;\n }\n /* Quarters */\n .uk-width-xLarge-1-4,\n .uk-grid-width-xLarge-1-4 > * {\n width: 25%;\n }\n .uk-width-xLarge-3-4,\n .uk-grid-width-xLarge-3-4 > * {\n width: 75%;\n }\n /* Fifths */\n .uk-width-xLarge-1-5,\n .uk-width-xLarge-2-10,\n .uk-grid-width-xLarge-1-5 > *,\n .uk-grid-width-xLarge-2-10 > * {\n width: 20%;\n }\n .uk-width-xLarge-2-5,\n .uk-width-xLarge-4-10,\n .uk-grid-width-xLarge-2-5 > *,\n .uk-grid-width-xLarge-4-10 > * {\n width: 40%;\n }\n .uk-width-xLarge-3-5,\n .uk-width-xLarge-6-10,\n .uk-grid-width-xLarge-3-5 > *,\n .uk-grid-width-xLarge-6-10 > * {\n width: 60%;\n }\n .uk-width-xLarge-4-5,\n .uk-width-xLarge-8-10,\n .uk-grid-width-xLarge-4-5 > *,\n .uk-grid-width-xLarge-8-10 > * {\n width: 80%;\n }\n /* Sixths */\n .uk-width-xLarge-1-6,\n .uk-grid-width-xLarge-1-6 > * {\n width: 16.666%;\n }\n .uk-width-xLarge-5-6,\n .uk-grid-width-xLarge-5-6 > * {\n width: 83.333%;\n }\n /* Tenths */\n .uk-width-xLarge-1-10,\n .uk-grid-width-xLarge-1-10 > * {\n width: 10%;\n }\n .uk-width-xLarge-3-10,\n .uk-grid-width-xLarge-3-10 > * {\n width: 30%;\n }\n .uk-width-xLarge-7-10,\n .uk-grid-width-xLarge-7-10 > * {\n width: 70%;\n }\n .uk-width-xLarge-9-10,\n .uk-grid-width-xLarge-9-10 > * {\n width: 90%;\n }\n}\n/* ie9 fixes */\n.lte-ie9 *[class*=\"uk-animation-\"] {\n opacity: 1 !important;\n}\n/* 3. custom components ============================== */\n/* pricing tables */\n.pricing_table.pricing_table_a {\n text-align: center;\n}\n.pricing_table.pricing_table_a .pricing_table_plan {\n font-size: 18px;\n font-weight: 400;\n padding: 16px 0;\n margin-bottom: 16px;\n}\n.pricing_table.pricing_table_a .pricing_table_price {\n padding: 8px 0 0;\n font-size: 48px;\n margin-bottom: 24px;\n}\n.pricing_table.pricing_table_a .pricing_table_price .currency {\n vertical-align: top;\n font-size: 24px;\n padding: 0 4px;\n}\n.pricing_table.pricing_table_a .pricing_table_price .period {\n font-size: 14px;\n padding: 4px;\n color: #aaa;\n display: block;\n}\n.pricing_table.pricing_table_a .pricing_table_features {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.pricing_table.pricing_table_a .pricing_table_features > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.pricing_table.pricing_table_a .pricing_table_features li {\n font-size: 16px;\n padding: 8px 0;\n}\n.pricing_table.pricing_table_a .pricing_table_select {\n padding: 32px 0;\n}\n.pricing_table.pricing_table_b {\n text-align: center;\n}\n.pricing_table.pricing_table_b .pricing_table_plan {\n font-size: 16px;\n font-weight: 400;\n padding: 16px 0;\n margin-bottom: 16px;\n text-transform: uppercase;\n}\n.pricing_table.pricing_table_b .pricing_table_price {\n padding: 8px 0 0;\n font-size: 48px;\n margin-bottom: 24px;\n}\n.pricing_table.pricing_table_b .pricing_table_price .currency {\n vertical-align: top;\n font-size: 24px;\n padding: 0 4px;\n}\n.pricing_table.pricing_table_b .pricing_table_price .period {\n font-size: 14px;\n padding: 4px;\n color: #aaa;\n display: block;\n}\n.pricing_table.pricing_table_b .pricing_table_features {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.pricing_table.pricing_table_b .pricing_table_features > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.pricing_table.pricing_table_b .pricing_table_features li {\n font-size: 16px;\n padding: 8px 0;\n}\n.pricing_table.pricing_table_b .pricing_table_select {\n padding: 32px 0;\n}\n.pricing_table.pricing_table_c {\n text-align: center;\n}\n.pricing_table.pricing_table_c .pricing_table_plan {\n font-size: 16px;\n font-weight: 400;\n padding: 16px 0;\n margin-bottom: 8px;\n}\n.pricing_table.pricing_table_c .pricing_table_price {\n padding: 8px 0 0;\n font-size: 48px;\n margin-bottom: 24px;\n}\n.pricing_table.pricing_table_c .pricing_table_price .currency {\n vertical-align: top;\n font-size: 24px;\n padding: 0 4px;\n}\n.pricing_table.pricing_table_c .pricing_table_price .period {\n font-size: 14px;\n color: #aaa;\n vertical-align: 0;\n padding-left: 4px;\n}\n.pricing_table.pricing_table_c .pricing_table_features {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.pricing_table.pricing_table_c .pricing_table_features > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.pricing_table.pricing_table_c .pricing_table_features li {\n font-size: 16px;\n padding: 8px 0;\n}\n.pricing_table.pricing_table_c .pricing_table_select {\n padding: 32px 0;\n}\n.al_timeline {\n position: relative;\n padding: 24px 0 32px;\n}\n.al_timeline:after {\n position: absolute;\n top: 0;\n bottom: 0;\n margin-left: -2px;\n left: 50%;\n content: '';\n width: 4px;\n background: rgba(255, 255, 255, 0.5);\n display: block;\n}\n.al_timeline_block:before,\n.al_timeline_block:after {\n content: \" \";\n display: table;\n}\n.al_timeline_block:after {\n clear: both;\n}\n.al_timeline_block + * {\n margin-top: 48px;\n}\n.al_timeline_block:nth-child(even) .al_timeline_content {\n float: right;\n}\n.al_timeline_block:nth-child(even) .al_timeline_content:after {\n border-left-color: transparent;\n border-right-color: #fff;\n right: auto;\n left: -20px;\n}\n.al_timeline_content {\n box-sizing: border-box;\n background: #fff;\n width: 44%;\n padding: 16px;\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n position: relative;\n border-radius: 4px;\n}\n.al_timeline_content:after {\n position: absolute;\n top: 24px;\n right: -20px;\n content: '';\n display: block;\n border: 10px solid transparent;\n border-left-color: #fff;\n}\n.al_timeline_image {\n position: absolute;\n left: 50%;\n width: 64px;\n height: 64px;\n margin-left: -32px;\n background: #fff;\n border-radius: 50%;\n text-align: center;\n z-index: 10;\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n}\n.al_timeline_image > i {\n font-size: 32px;\n line-height: 64px;\n}\n@media only screen and (max-width: 959px) {\n .al_timeline:after {\n margin-left: 0;\n left: 30px;\n }\n .al_timeline_block {\n padding-left: 96px;\n }\n .al_timeline_content {\n width: 100%;\n }\n .al_timeline_content:after {\n border-left-color: transparent;\n border-right-color: #fff;\n right: auto;\n left: -20px;\n }\n .al_timeline_image {\n left: 0;\n margin-left: 0;\n }\n}\n@media only screen and (max-width: 767px) {\n .al_timeline:after {\n margin-left: 0;\n left: 22px;\n }\n .al_timeline_block {\n padding-left: 72px;\n }\n .al_timeline_content {\n width: 100%;\n }\n .al_timeline_content:after {\n border-left-color: transparent;\n border-right-color: #fff;\n right: auto;\n left: -20px;\n top: 14px;\n }\n .al_timeline_image {\n width: 48px;\n height: 48px;\n left: 0;\n margin-left: 0;\n }\n .al_timeline_image > i {\n line-height: 48px;\n font-size: 24px;\n }\n}\n/* 4. material designv styles ========================= */\n/* bg colors */\n.md-bg-cyan {\n background-color: #00acc1 !important;\n color: #fff;\n}\n.md-bg-light-green {\n background-color: #7cb342 !important;\n color: #fff;\n}\n.md-bg-grey {\n background-color: #616161 !important;\n color: #fff;\n}\n.md-bg-red {\n background-color: #d32f2f !important;\n color: #fff;\n}\n.md-bg-light-blue {\n background-color: #0288d1 !important;\n color: #fff;\n}\n.md-bg-teal {\n background-color: #00897b !important;\n color: #fff;\n}\n.md-bg-purple {\n background-color: #8e24aa !important;\n color: #fff;\n}\n/* buttons */\n.md-btn {\n background: #fff;\n border: none;\n border-radius: 2px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n min-height: 31px;\n min-width: 70px;\n padding: 2px 16px;\n text-align: center;\n text-shadow: none;\n text-transform: uppercase;\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n color: #212121;\n box-sizing: border-box;\n cursor: pointer;\n -webkit-appearance: none;\n display: inline-block;\n vertical-align: middle;\n font: 500 14px / 31px \"Roboto\", sans-serif !important;\n}\n.md-btn:hover,\n.md-btn:focus,\n.md-btn:active,\n.uk-button-dropdown.uk-open > .md-btn {\n background: #fff;\n outline: none;\n text-decoration: none;\n color: #212121;\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n}\n.md-btn:active,\n.uk-button-dropdown.uk-open > .md-btn {\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n}\n.md-btn-flat {\n box-shadow: none !important;\n background: none;\n}\n.md-btn-flat:hover,\n.md-btn-flat:focus {\n background: rgba(153, 153, 153, 0.2);\n}\n.md-btn-flat:active {\n background: rgba(153, 153, 153, 0.4);\n}\n.md-btn-flat-danger,\n.md-btn-flat-danger:hover,\n.md-btn-flat-danger:focus,\n.md-btn-flat-danger:active {\n color: #e53935;\n}\n.md-btn-flat-danger:hover,\n.md-btn-flat-danger:focus,\n.md-btn-flat-danger:active {\n background: #fceaea;\n}\n.md-btn-flat-primary,\n.md-btn-flat-primary:hover,\n.md-btn-flat-primary:focus,\n.md-btn-flat-primary:active {\n color: #1976d2;\n}\n.md-btn-flat-primary:hover,\n.md-btn-flat-primary:focus,\n.md-btn-flat-primary:active {\n background: #e3f2fd;\n}\n.md-btn-flat-success,\n.md-btn-flat-success:hover,\n.md-btn-flat-success:focus,\n.md-btn-flat-success:active {\n color: #7cb342;\n}\n.md-btn-flat-success:hover,\n.md-btn-flat-success:focus,\n.md-btn-flat-success:active {\n background: #e1efd2;\n}\n.md-btn-flat-warning,\n.md-btn-flat-warning:hover,\n.md-btn-flat-warning:focus,\n.md-btn-flat-warning:active {\n color: #ffa000;\n}\n.md-btn-flat-warning:hover,\n.md-btn-flat-warning:focus,\n.md-btn-flat-warning:active {\n background: #ffeccc;\n}\n.md-btn-flat.disabled {\n background: none !important;\n}\n.md-btn-danger,\n.md-btn-danger:hover,\n.md-btn-danger:focus,\n.md-btn-danger:active {\n background: #e53935;\n}\n.md-btn-primary,\n.md-btn-primary:hover,\n.md-btn-primary:focus,\n.md-btn-primary:active {\n background: #2196f3;\n}\n.md-btn-success,\n.md-btn-success:hover,\n.md-btn-success:focus,\n.md-btn-success:active {\n background: #7cb342;\n}\n.md-btn-warning,\n.md-btn-warning:hover,\n.md-btn-warning:focus,\n.md-btn-warning:active {\n background: #ffa000;\n}\n.md-btn-danger,\n.md-btn-primary,\n.md-btn-success,\n.md-btn-warning,\n.md-btn-danger:hover,\n.md-btn-primary:hover,\n.md-btn-success:hover,\n.md-btn-warning:hover,\n.md-btn-danger:focus,\n.md-btn-primary:focus,\n.md-btn-success:focus,\n.md-btn-warning:focus,\n.md-btn-danger:active,\n.md-btn-primary:active,\n.md-btn-success:active,\n.md-btn-warning:active,\n.md-btn-danger > i,\n.md-btn-primary > i,\n.md-btn-success > i,\n.md-btn-warning > i {\n color: #fff;\n}\n.md-btn.disabled,\n.md-btn.disabled:hover,\n.md-btn.disabled:focus,\n.md-btn.disabled:active {\n color: #a8a8a8;\n background: #eaeaea;\n box-shadow: none !important;\n cursor: default;\n pointer-events: none;\n}\n.md-btn > i.material-icons {\n margin-top: 5px;\n font-size: 18px;\n}\n.md-btn-mini {\n line-height: 21px !important;\n min-width: 12px;\n font-size: 10px !important;\n min-height: 24px;\n}\n.md-btn-small {\n line-height: 27px !important;\n min-width: 14px;\n font-size: 11px !important;\n}\n.md-btn-large {\n line-height: 42px !important;\n font-size: 16px !important;\n}\n.md-btn::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n.md-btn + .md-btn {\n margin-left: 8px;\n}\n.md-btn-block {\n width: 100%;\n}\n.md-btn-block + .md-btn-block {\n margin-left: 0;\n margin-top: 12px;\n}\n.md-btn + .md-btn-group {\n margin-left: 16px;\n}\n.md-btn-facebook {\n background: #3b5998 !important;\n}\n.md-btn-twitter {\n background: #00aced !important;\n}\n.md-btn-gplus {\n background: #dd4b39 !important;\n}\n.md-btn-facebook,\n.md-btn-twitter,\n.md-btn-gplus,\n.md-btn-facebook > i,\n.md-btn-twitter > i,\n.md-btn-gplus > i {\n color: #fff !important;\n}\n.md-btn-icon > i.no_margin {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n.md-btn-icon-large,\n.md-btn-icon.md-btn-large {\n min-width: 72px;\n}\n.md-btn-icon-large > i,\n.md-btn-icon.md-btn-large > i {\n font-size: 24px;\n margin-right: 12px;\n vertical-align: -3px;\n}\n.md-btn-icon-default,\n.md-btn-icon {\n min-width: 64px;\n}\n.md-btn-icon-default > i,\n.md-btn-icon > i {\n font-size: 18px;\n margin-right: 8px;\n vertical-align: -2px;\n}\n.md-btn-icon-small,\n.md-btn-icon.md-btn-small {\n min-width: 48px;\n}\n.md-btn-icon-small > i,\n.md-btn-icon.md-btn-small > i {\n font-size: 16px;\n margin-right: 6px;\n vertical-align: -2px;\n}\n.md-btn-icon-mini,\n.md-btn-icon.md-btn-mini {\n min-width: 36px;\n}\n.md-btn-icon-mini > i,\n.md-btn-icon.md-btn-mini > i {\n font-size: 16px;\n margin-right: 4px;\n vertical-align: -2px;\n}\n.md-fab {\n box-sizing: border-box;\n width: 64px;\n height: 64px;\n border-radius: 50%;\n background: #fff;\n color: #727272;\n display: block;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n border: none;\n position: relative;\n text-align: center;\n cursor: pointer;\n}\n.md-fab:hover,\n.md-fab:focus,\n.md-fab:active {\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n}\n.md-fab > i {\n font-size: 36px;\n line-height: 64px;\n height: inherit;\n width: inherit;\n position: absolute;\n left: 0;\n top: 0;\n color: #727272;\n}\n.md-fab.md-fab-accent {\n background: #7cb342;\n}\n.md-fab.md-fab-accent > i {\n color: #fff;\n}\n.md-fab.md-fab-success {\n background: #7cb342;\n}\n.md-fab.md-fab-success > i {\n color: #fff;\n}\n.md-fab.md-fab-danger {\n background: #e53935;\n}\n.md-fab.md-fab-danger > i {\n color: #fff;\n}\n.md-fab.md-fab-primary {\n background: #2196f3;\n}\n.md-fab.md-fab-primary > i {\n color: #fff;\n}\n.md-fab.md-fab-warning {\n background: #ffa000;\n}\n.md-fab.md-fab-warning > i {\n color: #fff;\n}\n.md-fab.md-fab-small {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n}\n.md-fab.md-fab-small > i {\n line-height: 48px;\n height: inherit;\n width: inherit;\n font-size: 24px;\n}\n.md-fab-speed-dial .md-fab-action-close {\n display: none;\n}\n.md-fab-wrapper {\n position: fixed;\n bottom: 24px;\n right: 24px;\n z-index: 1004;\n transition: margin 280ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n@media only screen and (max-width: 767px) {\n .md-fab-wrapper {\n bottom: 20px;\n right: 20px;\n }\n}\n.md-fab-wrapper > .md-fab + .md-fab {\n margin-top: 16px;\n}\n.md-fab-wrapper.md-fab-in-card {\n position: absolute;\n}\n.md-fab-speed-dial .md-fab-wrapper-small {\n position: absolute;\n bottom: 80px;\n right: 8px;\n min-height: 48px;\n width: 48px;\n z-index: -1;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small {\n transform: scale(0);\n opacity: 0;\n position: absolute;\n right: 0;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(1) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 50ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 50ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(2) {\n bottom: 64px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(2) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(3) {\n bottom: 128px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(3) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 150ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 150ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(4) {\n bottom: 192px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(4) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 200ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 200ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(5) {\n bottom: 256px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(5) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 250ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 250ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(6) {\n bottom: 320px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(6) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 300ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 300ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(7) {\n bottom: 384px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(7) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 350ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 350ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(8) {\n bottom: 448px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(8) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 400ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 400ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small {\n transform: scale(1);\n opacity: 1;\n z-index: 10;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(1) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 50ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 50ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(2) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(3) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 150ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 150ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(4) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 200ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 200ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(5) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 250ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 250ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(6) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 300ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 300ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(7) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 350ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 350ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(8) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 400ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 400ms;\n}\n.md-fab-toolbar {\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n cursor: default;\n}\n.md-fab-toolbar > i {\n cursor: pointer;\n}\n.md-fab-toolbar-actions {\n visibility: hidden;\n white-space: nowrap;\n padding: 0 16px;\n overflow: hidden;\n box-sizing: border-box;\n}\n.md-fab-toolbar-actions > a,\n.md-fab-toolbar-actions > button {\n display: block;\n float: left;\n opacity: 0;\n margin: 0 0 0 16px;\n height: 64px;\n width: 48px;\n box-sizing: border-box;\n transition: opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);\n background: none;\n border: none;\n outline: none;\n cursor: pointer;\n}\n.md-fab-toolbar-actions > a:first-child,\n.md-fab-toolbar-actions > button:first-child {\n margin-left: 0;\n}\n.md-fab-toolbar-actions .material-icons {\n font-size: 36px;\n line-height: 64px;\n}\n.md-fab-toolbar.md-fab-animated {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n border-radius: 4px;\n}\n.md-fab-toolbar.md-fab-animated > i {\n display: none;\n}\n.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions {\n visibility: visible;\n}\n.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions > a,\n.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions > button {\n opacity: 1;\n}\n.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions > a,\n.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions > button {\n height: 48px;\n width: 36px;\n padding: 0;\n margin: 0 0 0 8px;\n}\n.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions > a:first-child,\n.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions > button:first-child {\n margin-left: 0;\n}\n.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions .material-icons {\n font-size: 24px;\n line-height: 48px;\n height: inherit;\n}\n.md-fab-sheet {\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n cursor: default;\n}\n.md-fab-sheet > i {\n cursor: pointer;\n}\n.md-fab-sheet-actions {\n visibility: hidden;\n white-space: nowrap;\n overflow: hidden;\n box-sizing: border-box;\n padding: 4px 0;\n}\n.md-fab-sheet-actions > a {\n display: block;\n opacity: 0;\n padding: 4px 16px;\n box-sizing: border-box;\n font: 400 16px / 32px \"Roboto\", sans-serif;\n text-align: left;\n}\n.md-fab-sheet-actions > a,\n.md-fab-sheet-actions > a:hover {\n color: #212121;\n}\n.md-fab-sheet-actions .material-icons {\n font-size: 24px;\n margin-right: 8px;\n vertical-align: -6px;\n}\n.md-fab-sheet.md-fab-animated {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n border-radius: 4px;\n}\n.md-fab-sheet.md-fab-animated > i {\n display: none;\n}\n.md-fab-sheet.md-fab-active .md-fab-sheet-actions {\n visibility: visible;\n}\n.md-fab-sheet.md-fab-active .md-fab-sheet-actions > a {\n opacity: 1;\n}\n.sidebar_secondary_active .md-fab-wrapper {\n margin-right: 264px;\n}\n@media only screen and (max-width: 767px) {\n .sidebar_secondary_active .md-fab-wrapper {\n margin-right: 280px;\n }\n}\n.md-toggle-group .md-toggle-button {\n border-width: 0 0 2px;\n border-style: solid;\n border-color: transparent;\n background: none;\n line-height: 30px;\n min-width: 42px;\n text-align: center;\n padding: 0 8px;\n vertical-align: middle;\n cursor: pointer;\n}\n.md-toggle-group .md-toggle-button.md-toggle-active {\n border-bottom-color: #212121;\n}\n.md-toggle-group.md-toggle-group-small .md-toggle-button {\n font-size: 11px;\n line-height: 24px;\n min-width: 16px;\n padding: 0 6px;\n}\n.md-btn-group {\n display: inline-block;\n vertical-align: top;\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.md-btn-group .md-btn {\n vertical-align: top;\n margin-left: 0 !important;\n}\n.md-btn-group .md-btn:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.md-btn-group .md-btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.md-btn-group .md-btn:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.md-color-red-50 {\n color: #ffebee !important;\n}\n.md-bg-red-50 {\n background-color: #ffebee !important;\n}\n.md-color-red-100 {\n color: #ffcdd2 !important;\n}\n.md-bg-red-100 {\n background-color: #ffcdd2 !important;\n}\n.md-color-red-200 {\n color: #ef9a9a !important;\n}\n.md-bg-red-200 {\n background-color: #ef9a9a !important;\n}\n.md-color-red-300 {\n color: #e57373 !important;\n}\n.md-bg-red-300 {\n background-color: #e57373 !important;\n}\n.md-color-red-400 {\n color: #ef5350 !important;\n}\n.md-bg-red-400 {\n background-color: #ef5350 !important;\n}\n.md-color-red-500 {\n color: #f44336 !important;\n}\n.md-bg-red-500 {\n background-color: #f44336 !important;\n}\n.md-color-red-600 {\n color: #e53935 !important;\n}\n.md-bg-red-600 {\n background-color: #e53935 !important;\n}\n.md-color-red-700 {\n color: #d32f2f !important;\n}\n.md-bg-red-700 {\n background-color: #d32f2f !important;\n}\n.md-color-red-800 {\n color: #c62828 !important;\n}\n.md-bg-red-800 {\n background-color: #c62828 !important;\n}\n.md-color-red-900 {\n color: #b71c1c !important;\n}\n.md-bg-red-900 {\n background-color: #b71c1c !important;\n}\n.md-color-red-A100 {\n color: #ff8a80 !important;\n}\n.md-bg-red-A100 {\n background-color: #ff8a80 !important;\n}\n.md-color-red-A200 {\n color: #ff5252 !important;\n}\n.md-bg-red-A200 {\n background-color: #ff5252 !important;\n}\n.md-color-red-A400 {\n color: #ff1744 !important;\n}\n.md-bg-red-A400 {\n background-color: #ff1744 !important;\n}\n.md-color-red-A700 {\n color: #d50000 !important;\n}\n.md-bg-red-A700 {\n background-color: #d50000 !important;\n}\n.md-color-pink-50 {\n color: #fce4ec !important;\n}\n.md-bg-pink-50 {\n background-color: #fce4ec !important;\n}\n.md-color-pink-100 {\n color: #f8bbd0 !important;\n}\n.md-bg-pink-100 {\n background-color: #f8bbd0 !important;\n}\n.md-color-pink-200 {\n color: #f48fb1 !important;\n}\n.md-bg-pink-200 {\n background-color: #f48fb1 !important;\n}\n.md-color-pink-300 {\n color: #f06292 !important;\n}\n.md-bg-pink-300 {\n background-color: #f06292 !important;\n}\n.md-color-pink-400 {\n color: #ec407a !important;\n}\n.md-bg-pink-400 {\n background-color: #ec407a !important;\n}\n.md-color-pink-500 {\n color: #e91e63 !important;\n}\n.md-bg-pink-500 {\n background-color: #e91e63 !important;\n}\n.md-color-pink-600 {\n color: #d81b60 !important;\n}\n.md-bg-pink-600 {\n background-color: #d81b60 !important;\n}\n.md-color-pink-700 {\n color: #c2185b !important;\n}\n.md-bg-pink-700 {\n background-color: #c2185b !important;\n}\n.md-color-pink-800 {\n color: #ad1457 !important;\n}\n.md-bg-pink-800 {\n background-color: #ad1457 !important;\n}\n.md-color-pink-900 {\n color: #880e4f !important;\n}\n.md-bg-pink-900 {\n background-color: #880e4f !important;\n}\n.md-color-pink-A100 {\n color: #ff80ab !important;\n}\n.md-bg-pink-A100 {\n background-color: #ff80ab !important;\n}\n.md-color-pink-A200 {\n color: #ff4081 !important;\n}\n.md-bg-pink-A200 {\n background-color: #ff4081 !important;\n}\n.md-color-pink-A400 {\n color: #f50057 !important;\n}\n.md-bg-pink-A400 {\n background-color: #f50057 !important;\n}\n.md-color-pink-A700 {\n color: #c51162 !important;\n}\n.md-bg-pink-A700 {\n background-color: #c51162 !important;\n}\n.md-color-purple-50 {\n color: #f3e5f5 !important;\n}\n.md-bg-purple-50 {\n background-color: #f3e5f5 !important;\n}\n.md-color-purple-100 {\n color: #e1bee7 !important;\n}\n.md-bg-purple-100 {\n background-color: #e1bee7 !important;\n}\n.md-color-purple-200 {\n color: #ce93d8 !important;\n}\n.md-bg-purple-200 {\n background-color: #ce93d8 !important;\n}\n.md-color-purple-300 {\n color: #ba68c8 !important;\n}\n.md-bg-purple-300 {\n background-color: #ba68c8 !important;\n}\n.md-color-purple-400 {\n color: #ab47bc !important;\n}\n.md-bg-purple-400 {\n background-color: #ab47bc !important;\n}\n.md-color-purple-500 {\n color: #9c27b0 !important;\n}\n.md-bg-purple-500 {\n background-color: #9c27b0 !important;\n}\n.md-color-purple-600 {\n color: #8e24aa !important;\n}\n.md-bg-purple-600 {\n background-color: #8e24aa !important;\n}\n.md-color-purple-700 {\n color: #7b1fa2 !important;\n}\n.md-bg-purple-700 {\n background-color: #7b1fa2 !important;\n}\n.md-color-purple-800 {\n color: #6a1b9a !important;\n}\n.md-bg-purple-800 {\n background-color: #6a1b9a !important;\n}\n.md-color-purple-900 {\n color: #4a148c !important;\n}\n.md-bg-purple-900 {\n background-color: #4a148c !important;\n}\n.md-color-purple-A100 {\n color: #ea80fc !important;\n}\n.md-bg-purple-A100 {\n background-color: #ea80fc !important;\n}\n.md-color-purple-A200 {\n color: #e040fb !important;\n}\n.md-bg-purple-A200 {\n background-color: #e040fb !important;\n}\n.md-color-purple-A400 {\n color: #d500f9 !important;\n}\n.md-bg-purple-A400 {\n background-color: #d500f9 !important;\n}\n.md-color-purple-A700 {\n color: #aa00ff !important;\n}\n.md-bg-purple-A700 {\n background-color: #aa00ff !important;\n}\n.md-color-deep-purple-50 {\n color: #ede7f6 !important;\n}\n.md-bg-deep-purple-50 {\n background-color: #ede7f6 !important;\n}\n.md-color-deep-purple-100 {\n color: #d1c4e9 !important;\n}\n.md-bg-deep-purple-100 {\n background-color: #d1c4e9 !important;\n}\n.md-color-deep-purple-200 {\n color: #b39ddb !important;\n}\n.md-bg-deep-purple-200 {\n background-color: #b39ddb !important;\n}\n.md-color-deep-purple-300 {\n color: #9575cd !important;\n}\n.md-bg-deep-purple-300 {\n background-color: #9575cd !important;\n}\n.md-color-deep-purple-400 {\n color: #7e57c2 !important;\n}\n.md-bg-deep-purple-400 {\n background-color: #7e57c2 !important;\n}\n.md-color-deep-purple-500 {\n color: #673ab7 !important;\n}\n.md-bg-deep-purple-500 {\n background-color: #673ab7 !important;\n}\n.md-color-deep-purple-600 {\n color: #5e35b1 !important;\n}\n.md-bg-deep-purple-600 {\n background-color: #5e35b1 !important;\n}\n.md-color-deep-purple-700 {\n color: #512da8 !important;\n}\n.md-bg-deep-purple-700 {\n background-color: #512da8 !important;\n}\n.md-color-deep-purple-800 {\n color: #4527a0 !important;\n}\n.md-bg-deep-purple-800 {\n background-color: #4527a0 !important;\n}\n.md-color-deep-purple-900 {\n color: #311b92 !important;\n}\n.md-bg-deep-purple-900 {\n background-color: #311b92 !important;\n}\n.md-color-deep-purple-A100 {\n color: #b388ff !important;\n}\n.md-bg-deep-purple-A100 {\n background-color: #b388ff !important;\n}\n.md-color-deep-purple-A200 {\n color: #7c4dff !important;\n}\n.md-bg-deep-purple-A200 {\n background-color: #7c4dff !important;\n}\n.md-color-deep-purple-A400 {\n color: #651fff !important;\n}\n.md-bg-deep-purple-A400 {\n background-color: #651fff !important;\n}\n.md-color-deep-purple-A700 {\n color: #6200ea !important;\n}\n.md-bg-deep-purple-A700 {\n background-color: #6200ea !important;\n}\n.md-color-indigo-50 {\n color: #e8eaf6 !important;\n}\n.md-bg-indigo-50 {\n background-color: #e8eaf6 !important;\n}\n.md-color-indigo-100 {\n color: #c5cae9 !important;\n}\n.md-bg-indigo-100 {\n background-color: #c5cae9 !important;\n}\n.md-color-indigo-200 {\n color: #9fa8da !important;\n}\n.md-bg-indigo-200 {\n background-color: #9fa8da !important;\n}\n.md-color-indigo-300 {\n color: #7986cb !important;\n}\n.md-bg-indigo-300 {\n background-color: #7986cb !important;\n}\n.md-color-indigo-400 {\n color: #5c6bc0 !important;\n}\n.md-bg-indigo-400 {\n background-color: #5c6bc0 !important;\n}\n.md-color-indigo-500 {\n color: #3f51b5 !important;\n}\n.md-bg-indigo-500 {\n background-color: #3f51b5 !important;\n}\n.md-color-indigo-600 {\n color: #3949ab !important;\n}\n.md-bg-indigo-600 {\n background-color: #3949ab !important;\n}\n.md-color-indigo-700 {\n color: #303f9f !important;\n}\n.md-bg-indigo-700 {\n background-color: #303f9f !important;\n}\n.md-color-indigo-800 {\n color: #283593 !important;\n}\n.md-bg-indigo-800 {\n background-color: #283593 !important;\n}\n.md-color-indigo-900 {\n color: #1a237e !important;\n}\n.md-bg-indigo-900 {\n background-color: #1a237e !important;\n}\n.md-color-indigo-A100 {\n color: #8c9eff !important;\n}\n.md-bg-indigo-A100 {\n background-color: #8c9eff !important;\n}\n.md-color-indigo-A200 {\n color: #536dfe !important;\n}\n.md-bg-indigo-A200 {\n background-color: #536dfe !important;\n}\n.md-color-indigo-A400 {\n color: #3d5afe !important;\n}\n.md-bg-indigo-A400 {\n background-color: #3d5afe !important;\n}\n.md-color-indigo-A700 {\n color: #304ffe !important;\n}\n.md-bg-indigo-A700 {\n background-color: #304ffe !important;\n}\n.md-color-blue-50 {\n color: #e3f2fd !important;\n}\n.md-bg-blue-50 {\n background-color: #e3f2fd !important;\n}\n.md-color-blue-100 {\n color: #bbdefb !important;\n}\n.md-bg-blue-100 {\n background-color: #bbdefb !important;\n}\n.md-color-blue-200 {\n color: #90caf9 !important;\n}\n.md-bg-blue-200 {\n background-color: #90caf9 !important;\n}\n.md-color-blue-300 {\n color: #64b5f6 !important;\n}\n.md-bg-blue-300 {\n background-color: #64b5f6 !important;\n}\n.md-color-blue-400 {\n color: #42a5f5 !important;\n}\n.md-bg-blue-400 {\n background-color: #42a5f5 !important;\n}\n.md-color-blue-500 {\n color: #2196f3 !important;\n}\n.md-bg-blue-500 {\n background-color: #2196f3 !important;\n}\n.md-color-blue-600 {\n color: #1e88e5 !important;\n}\n.md-bg-blue-600 {\n background-color: #1e88e5 !important;\n}\n.md-color-blue-700 {\n color: #1976d2 !important;\n}\n.md-bg-blue-700 {\n background-color: #1976d2 !important;\n}\n.md-color-blue-800 {\n color: #1565c0 !important;\n}\n.md-bg-blue-800 {\n background-color: #1565c0 !important;\n}\n.md-color-blue-900 {\n color: #0d47a1 !important;\n}\n.md-bg-blue-900 {\n background-color: #0d47a1 !important;\n}\n.md-color-blue-A100 {\n color: #82b1ff !important;\n}\n.md-bg-blue-A100 {\n background-color: #82b1ff !important;\n}\n.md-color-blue-A200 {\n color: #448aff !important;\n}\n.md-bg-blue-A200 {\n background-color: #448aff !important;\n}\n.md-color-blue-A400 {\n color: #2979ff !important;\n}\n.md-bg-blue-A400 {\n background-color: #2979ff !important;\n}\n.md-color-blue-A700 {\n color: #2962ff !important;\n}\n.md-bg-blue-A700 {\n background-color: #2962ff !important;\n}\n.md-color-light-blue-50 {\n color: #e1f5fe !important;\n}\n.md-bg-light-blue-50 {\n background-color: #e1f5fe !important;\n}\n.md-color-light-blue-100 {\n color: #b3e5fc !important;\n}\n.md-bg-light-blue-100 {\n background-color: #b3e5fc !important;\n}\n.md-color-light-blue-200 {\n color: #81d4fa !important;\n}\n.md-bg-light-blue-200 {\n background-color: #81d4fa !important;\n}\n.md-color-light-blue-300 {\n color: #4fc3f7 !important;\n}\n.md-bg-light-blue-300 {\n background-color: #4fc3f7 !important;\n}\n.md-color-light-blue-400 {\n color: #29b6f6 !important;\n}\n.md-bg-light-blue-400 {\n background-color: #29b6f6 !important;\n}\n.md-color-light-blue-500 {\n color: #03a9f4 !important;\n}\n.md-bg-light-blue-500 {\n background-color: #03a9f4 !important;\n}\n.md-color-light-blue-600 {\n color: #039be5 !important;\n}\n.md-bg-light-blue-600 {\n background-color: #039be5 !important;\n}\n.md-color-light-blue-700 {\n color: #0288d1 !important;\n}\n.md-bg-light-blue-700 {\n background-color: #0288d1 !important;\n}\n.md-color-light-blue-800 {\n color: #0277bd !important;\n}\n.md-bg-light-blue-800 {\n background-color: #0277bd !important;\n}\n.md-color-light-blue-900 {\n color: #01579b !important;\n}\n.md-bg-light-blue-900 {\n background-color: #01579b !important;\n}\n.md-color-light-blue-A100 {\n color: #80d8ff !important;\n}\n.md-bg-light-blue-A100 {\n background-color: #80d8ff !important;\n}\n.md-color-light-blue-A200 {\n color: #40c4ff !important;\n}\n.md-bg-light-blue-A200 {\n background-color: #40c4ff !important;\n}\n.md-color-light-blue-A400 {\n color: #00b0ff !important;\n}\n.md-bg-light-blue-A400 {\n background-color: #00b0ff !important;\n}\n.md-color-light-blue-A700 {\n color: #0091ea !important;\n}\n.md-bg-light-blue-A700 {\n background-color: #0091ea !important;\n}\n.md-color-cyan-50 {\n color: #e0f7fa !important;\n}\n.md-bg-cyan-50 {\n background-color: #e0f7fa !important;\n}\n.md-color-cyan-100 {\n color: #b2ebf2 !important;\n}\n.md-bg-cyan-100 {\n background-color: #b2ebf2 !important;\n}\n.md-color-cyan-200 {\n color: #80deea !important;\n}\n.md-bg-cyan-200 {\n background-color: #80deea !important;\n}\n.md-color-cyan-300 {\n color: #4dd0e1 !important;\n}\n.md-bg-cyan-300 {\n background-color: #4dd0e1 !important;\n}\n.md-color-cyan-400 {\n color: #26c6da !important;\n}\n.md-bg-cyan-400 {\n background-color: #26c6da !important;\n}\n.md-color-cyan-500 {\n color: #00bcd4 !important;\n}\n.md-bg-cyan-500 {\n background-color: #00bcd4 !important;\n}\n.md-color-cyan-600 {\n color: #00acc1 !important;\n}\n.md-bg-cyan-600 {\n background-color: #00acc1 !important;\n}\n.md-color-cyan-700 {\n color: #0097a7 !important;\n}\n.md-bg-cyan-700 {\n background-color: #0097a7 !important;\n}\n.md-color-cyan-800 {\n color: #00838f !important;\n}\n.md-bg-cyan-800 {\n background-color: #00838f !important;\n}\n.md-color-cyan-900 {\n color: #006064 !important;\n}\n.md-bg-cyan-900 {\n background-color: #006064 !important;\n}\n.md-color-cyan-A100 {\n color: #84ffff !important;\n}\n.md-bg-cyan-A100 {\n background-color: #84ffff !important;\n}\n.md-color-cyan-A200 {\n color: #18ffff !important;\n}\n.md-bg-cyan-A200 {\n background-color: #18ffff !important;\n}\n.md-color-cyan-A400 {\n color: #00e5ff !important;\n}\n.md-bg-cyan-A400 {\n background-color: #00e5ff !important;\n}\n.md-color-cyan-A700 {\n color: #00b8d4 !important;\n}\n.md-bg-cyan-A700 {\n background-color: #00b8d4 !important;\n}\n.md-color-teal-50 {\n color: #e0f2f1 !important;\n}\n.md-bg-teal-50 {\n background-color: #e0f2f1 !important;\n}\n.md-color-teal-100 {\n color: #b2dfdb !important;\n}\n.md-bg-teal-100 {\n background-color: #b2dfdb !important;\n}\n.md-color-teal-200 {\n color: #80cbc4 !important;\n}\n.md-bg-teal-200 {\n background-color: #80cbc4 !important;\n}\n.md-color-teal-300 {\n color: #4db6ac !important;\n}\n.md-bg-teal-300 {\n background-color: #4db6ac !important;\n}\n.md-color-teal-400 {\n color: #26a69a !important;\n}\n.md-bg-teal-400 {\n background-color: #26a69a !important;\n}\n.md-color-teal-500 {\n color: #009688 !important;\n}\n.md-bg-teal-500 {\n background-color: #009688 !important;\n}\n.md-color-teal-600 {\n color: #00897b !important;\n}\n.md-bg-teal-600 {\n background-color: #00897b !important;\n}\n.md-color-teal-700 {\n color: #00796b !important;\n}\n.md-bg-teal-700 {\n background-color: #00796b !important;\n}\n.md-color-teal-800 {\n color: #00695c !important;\n}\n.md-bg-teal-800 {\n background-color: #00695c !important;\n}\n.md-color-teal-900 {\n color: #004d40 !important;\n}\n.md-bg-teal-900 {\n background-color: #004d40 !important;\n}\n.md-color-teal-A100 {\n color: #a7ffeb !important;\n}\n.md-bg-teal-A100 {\n background-color: #a7ffeb !important;\n}\n.md-color-teal-A200 {\n color: #64ffda !important;\n}\n.md-bg-teal-A200 {\n background-color: #64ffda !important;\n}\n.md-color-teal-A400 {\n color: #1de9b6 !important;\n}\n.md-bg-teal-A400 {\n background-color: #1de9b6 !important;\n}\n.md-color-teal-A700 {\n color: #00bfa5 !important;\n}\n.md-bg-teal-A700 {\n background-color: #00bfa5 !important;\n}\n.md-color-green-50 {\n color: #e8f5e9 !important;\n}\n.md-bg-green-50 {\n background-color: #e8f5e9 !important;\n}\n.md-color-green-100 {\n color: #c8e6c9 !important;\n}\n.md-bg-green-100 {\n background-color: #c8e6c9 !important;\n}\n.md-color-green-200 {\n color: #a5d6a7 !important;\n}\n.md-bg-green-200 {\n background-color: #a5d6a7 !important;\n}\n.md-color-green-300 {\n color: #81c784 !important;\n}\n.md-bg-green-300 {\n background-color: #81c784 !important;\n}\n.md-color-green-400 {\n color: #66bb6a !important;\n}\n.md-bg-green-400 {\n background-color: #66bb6a !important;\n}\n.md-color-green-500 {\n color: #4caf50 !important;\n}\n.md-bg-green-500 {\n background-color: #4caf50 !important;\n}\n.md-color-green-600 {\n color: #43a047 !important;\n}\n.md-bg-green-600 {\n background-color: #43a047 !important;\n}\n.md-color-green-700 {\n color: #388e3c !important;\n}\n.md-bg-green-700 {\n background-color: #388e3c !important;\n}\n.md-color-green-800 {\n color: #2e7d32 !important;\n}\n.md-bg-green-800 {\n background-color: #2e7d32 !important;\n}\n.md-color-green-900 {\n color: #1b5e20 !important;\n}\n.md-bg-green-900 {\n background-color: #1b5e20 !important;\n}\n.md-color-green-A100 {\n color: #b9f6ca !important;\n}\n.md-bg-green-A100 {\n background-color: #b9f6ca !important;\n}\n.md-color-green-A200 {\n color: #69f0ae !important;\n}\n.md-bg-green-A200 {\n background-color: #69f0ae !important;\n}\n.md-color-green-A400 {\n color: #00e676 !important;\n}\n.md-bg-green-A400 {\n background-color: #00e676 !important;\n}\n.md-color-green-A700 {\n color: #00c853 !important;\n}\n.md-bg-green-A700 {\n background-color: #00c853 !important;\n}\n.md-color-light-green-50 {\n color: #f1f8e9 !important;\n}\n.md-bg-light-green-50 {\n background-color: #f1f8e9 !important;\n}\n.md-color-light-green-100 {\n color: #dcedc8 !important;\n}\n.md-bg-light-green-100 {\n background-color: #dcedc8 !important;\n}\n.md-color-light-green-200 {\n color: #c5e1a5 !important;\n}\n.md-bg-light-green-200 {\n background-color: #c5e1a5 !important;\n}\n.md-color-light-green-300 {\n color: #aed581 !important;\n}\n.md-bg-light-green-300 {\n background-color: #aed581 !important;\n}\n.md-color-light-green-400 {\n color: #9ccc65 !important;\n}\n.md-bg-light-green-400 {\n background-color: #9ccc65 !important;\n}\n.md-color-light-green-500 {\n color: #8bc34a !important;\n}\n.md-bg-light-green-500 {\n background-color: #8bc34a !important;\n}\n.md-color-light-green-600 {\n color: #7cb342 !important;\n}\n.md-bg-light-green-600 {\n background-color: #7cb342 !important;\n}\n.md-color-light-green-700 {\n color: #689f38 !important;\n}\n.md-bg-light-green-700 {\n background-color: #689f38 !important;\n}\n.md-color-light-green-800 {\n color: #558b2f !important;\n}\n.md-bg-light-green-800 {\n background-color: #558b2f !important;\n}\n.md-color-light-green-900 {\n color: #33691e !important;\n}\n.md-bg-light-green-900 {\n background-color: #33691e !important;\n}\n.md-color-light-green-A100 {\n color: #ccff90 !important;\n}\n.md-bg-light-green-A100 {\n background-color: #ccff90 !important;\n}\n.md-color-light-green-A200 {\n color: #b2ff59 !important;\n}\n.md-bg-light-green-A200 {\n background-color: #b2ff59 !important;\n}\n.md-color-light-green-A400 {\n color: #76ff03 !important;\n}\n.md-bg-light-green-A400 {\n background-color: #76ff03 !important;\n}\n.md-color-light-green-A700 {\n color: #64dd17 !important;\n}\n.md-bg-light-green-A700 {\n background-color: #64dd17 !important;\n}\n.md-color-lime-50 {\n color: #f9fbe7 !important;\n}\n.md-bg-lime-50 {\n background-color: #f9fbe7 !important;\n}\n.md-color-lime-100 {\n color: #f0f4c3 !important;\n}\n.md-bg-lime-100 {\n background-color: #f0f4c3 !important;\n}\n.md-color-lime-200 {\n color: #e6ee9c !important;\n}\n.md-bg-lime-200 {\n background-color: #e6ee9c !important;\n}\n.md-color-lime-300 {\n color: #dce775 !important;\n}\n.md-bg-lime-300 {\n background-color: #dce775 !important;\n}\n.md-color-lime-400 {\n color: #d4e157 !important;\n}\n.md-bg-lime-400 {\n background-color: #d4e157 !important;\n}\n.md-color-lime-500 {\n color: #cddc39 !important;\n}\n.md-bg-lime-500 {\n background-color: #cddc39 !important;\n}\n.md-color-lime-600 {\n color: #c0ca33 !important;\n}\n.md-bg-lime-600 {\n background-color: #c0ca33 !important;\n}\n.md-color-lime-700 {\n color: #afb42b !important;\n}\n.md-bg-lime-700 {\n background-color: #afb42b !important;\n}\n.md-color-lime-800 {\n color: #9e9d24 !important;\n}\n.md-bg-lime-800 {\n background-color: #9e9d24 !important;\n}\n.md-color-lime-900 {\n color: #827717 !important;\n}\n.md-bg-lime-900 {\n background-color: #827717 !important;\n}\n.md-color-lime-A100 {\n color: #f4ff81 !important;\n}\n.md-bg-lime-A100 {\n background-color: #f4ff81 !important;\n}\n.md-color-lime-A200 {\n color: #eeff41 !important;\n}\n.md-bg-lime-A200 {\n background-color: #eeff41 !important;\n}\n.md-color-lime-A400 {\n color: #c6ff00 !important;\n}\n.md-bg-lime-A400 {\n background-color: #c6ff00 !important;\n}\n.md-color-lime-A700 {\n color: #aeea00 !important;\n}\n.md-bg-lime-A700 {\n background-color: #aeea00 !important;\n}\n.md-color-yellow-50 {\n color: #fffde7 !important;\n}\n.md-bg-yellow-50 {\n background-color: #fffde7 !important;\n}\n.md-color-yellow-100 {\n color: #fff9c4 !important;\n}\n.md-bg-yellow-100 {\n background-color: #fff9c4 !important;\n}\n.md-color-yellow-200 {\n color: #fff59d !important;\n}\n.md-bg-yellow-200 {\n background-color: #fff59d !important;\n}\n.md-color-yellow-300 {\n color: #fff176 !important;\n}\n.md-bg-yellow-300 {\n background-color: #fff176 !important;\n}\n.md-color-yellow-400 {\n color: #ffee58 !important;\n}\n.md-bg-yellow-400 {\n background-color: #ffee58 !important;\n}\n.md-color-yellow-500 {\n color: #ffeb3b !important;\n}\n.md-bg-yellow-500 {\n background-color: #ffeb3b !important;\n}\n.md-color-yellow-600 {\n color: #fdd835 !important;\n}\n.md-bg-yellow-600 {\n background-color: #fdd835 !important;\n}\n.md-color-yellow-700 {\n color: #fbc02d !important;\n}\n.md-bg-yellow-700 {\n background-color: #fbc02d !important;\n}\n.md-color-yellow-800 {\n color: #f9a825 !important;\n}\n.md-bg-yellow-800 {\n background-color: #f9a825 !important;\n}\n.md-color-yellow-900 {\n color: #f57f17 !important;\n}\n.md-bg-yellow-900 {\n background-color: #f57f17 !important;\n}\n.md-color-yellow-A100 {\n color: #ffff8d !important;\n}\n.md-bg-yellow-A100 {\n background-color: #ffff8d !important;\n}\n.md-color-yellow-A200 {\n color: #ffff00 !important;\n}\n.md-bg-yellow-A200 {\n background-color: #ffff00 !important;\n}\n.md-color-yellow-A400 {\n color: #ffea00 !important;\n}\n.md-bg-yellow-A400 {\n background-color: #ffea00 !important;\n}\n.md-color-yellow-A700 {\n color: #ffd600 !important;\n}\n.md-bg-yellow-A700 {\n background-color: #ffd600 !important;\n}\n.md-color-amber-50 {\n color: #fff8e1 !important;\n}\n.md-bg-amber-50 {\n background-color: #fff8e1 !important;\n}\n.md-color-amber-100 {\n color: #ffecb3 !important;\n}\n.md-bg-amber-100 {\n background-color: #ffecb3 !important;\n}\n.md-color-amber-200 {\n color: #ffe082 !important;\n}\n.md-bg-amber-200 {\n background-color: #ffe082 !important;\n}\n.md-color-amber-300 {\n color: #ffd54f !important;\n}\n.md-bg-amber-300 {\n background-color: #ffd54f !important;\n}\n.md-color-amber-400 {\n color: #ffca28 !important;\n}\n.md-bg-amber-400 {\n background-color: #ffca28 !important;\n}\n.md-color-amber-500 {\n color: #ffc107 !important;\n}\n.md-bg-amber-500 {\n background-color: #ffc107 !important;\n}\n.md-color-amber-600 {\n color: #ffb300 !important;\n}\n.md-bg-amber-600 {\n background-color: #ffb300 !important;\n}\n.md-color-amber-700 {\n color: #ffa000 !important;\n}\n.md-bg-amber-700 {\n background-color: #ffa000 !important;\n}\n.md-color-amber-800 {\n color: #ff8f00 !important;\n}\n.md-bg-amber-800 {\n background-color: #ff8f00 !important;\n}\n.md-color-amber-900 {\n color: #ff6f00 !important;\n}\n.md-bg-amber-900 {\n background-color: #ff6f00 !important;\n}\n.md-color-amber-A100 {\n color: #ffe57f !important;\n}\n.md-bg-amber-A100 {\n background-color: #ffe57f !important;\n}\n.md-color-amber-A200 {\n color: #ffd740 !important;\n}\n.md-bg-amber-A200 {\n background-color: #ffd740 !important;\n}\n.md-color-amber-A400 {\n color: #ffc400 !important;\n}\n.md-bg-amber-A400 {\n background-color: #ffc400 !important;\n}\n.md-color-amber-A700 {\n color: #ffab00 !important;\n}\n.md-bg-amber-A700 {\n background-color: #ffab00 !important;\n}\n.md-color-orange-50 {\n color: #fff3e0 !important;\n}\n.md-bg-orange-50 {\n background-color: #fff3e0 !important;\n}\n.md-color-orange-100 {\n color: #ffe0b2 !important;\n}\n.md-bg-orange-100 {\n background-color: #ffe0b2 !important;\n}\n.md-color-orange-200 {\n color: #ffcc80 !important;\n}\n.md-bg-orange-200 {\n background-color: #ffcc80 !important;\n}\n.md-color-orange-300 {\n color: #ffb74d !important;\n}\n.md-bg-orange-300 {\n background-color: #ffb74d !important;\n}\n.md-color-orange-400 {\n color: #ffa726 !important;\n}\n.md-bg-orange-400 {\n background-color: #ffa726 !important;\n}\n.md-color-orange-500 {\n color: #ff9800 !important;\n}\n.md-bg-orange-500 {\n background-color: #ff9800 !important;\n}\n.md-color-orange-600 {\n color: #fb8c00 !important;\n}\n.md-bg-orange-600 {\n background-color: #fb8c00 !important;\n}\n.md-color-orange-700 {\n color: #f57c00 !important;\n}\n.md-bg-orange-700 {\n background-color: #f57c00 !important;\n}\n.md-color-orange-800 {\n color: #ef6c00 !important;\n}\n.md-bg-orange-800 {\n background-color: #ef6c00 !important;\n}\n.md-color-orange-900 {\n color: #e65100 !important;\n}\n.md-bg-orange-900 {\n background-color: #e65100 !important;\n}\n.md-color-orange-A100 {\n color: #ffd180 !important;\n}\n.md-bg-orange-A100 {\n background-color: #ffd180 !important;\n}\n.md-color-orange-A200 {\n color: #ffab40 !important;\n}\n.md-bg-orange-A200 {\n background-color: #ffab40 !important;\n}\n.md-color-orange-A400 {\n color: #ff9100 !important;\n}\n.md-bg-orange-A400 {\n background-color: #ff9100 !important;\n}\n.md-color-orange-A700 {\n color: #ff6d00 !important;\n}\n.md-bg-orange-A700 {\n background-color: #ff6d00 !important;\n}\n.md-color-deep-orange-50 {\n color: #fbe9e7 !important;\n}\n.md-bg-deep-orange-50 {\n background-color: #fbe9e7 !important;\n}\n.md-color-deep-orange-100 {\n color: #ffccbc !important;\n}\n.md-bg-deep-orange-100 {\n background-color: #ffccbc !important;\n}\n.md-color-deep-orange-200 {\n color: #ffab91 !important;\n}\n.md-bg-deep-orange-200 {\n background-color: #ffab91 !important;\n}\n.md-color-deep-orange-300 {\n color: #ff8a65 !important;\n}\n.md-bg-deep-orange-300 {\n background-color: #ff8a65 !important;\n}\n.md-color-deep-orange-400 {\n color: #ff7043 !important;\n}\n.md-bg-deep-orange-400 {\n background-color: #ff7043 !important;\n}\n.md-color-deep-orange-500 {\n color: #ff5722 !important;\n}\n.md-bg-deep-orange-500 {\n background-color: #ff5722 !important;\n}\n.md-color-deep-orange-600 {\n color: #f4511e !important;\n}\n.md-bg-deep-orange-600 {\n background-color: #f4511e !important;\n}\n.md-color-deep-orange-700 {\n color: #e64a19 !important;\n}\n.md-bg-deep-orange-700 {\n background-color: #e64a19 !important;\n}\n.md-color-deep-orange-800 {\n color: #d84315 !important;\n}\n.md-bg-deep-orange-800 {\n background-color: #d84315 !important;\n}\n.md-color-deep-orange-900 {\n color: #bf360c !important;\n}\n.md-bg-deep-orange-900 {\n background-color: #bf360c !important;\n}\n.md-color-deep-orange-A100 {\n color: #ff9e80 !important;\n}\n.md-bg-deep-orange-A100 {\n background-color: #ff9e80 !important;\n}\n.md-color-deep-orange-A200 {\n color: #ff6e40 !important;\n}\n.md-bg-deep-orange-A200 {\n background-color: #ff6e40 !important;\n}\n.md-color-deep-orange-A400 {\n color: #ff3d00 !important;\n}\n.md-bg-deep-orange-A400 {\n background-color: #ff3d00 !important;\n}\n.md-color-deep-orange-A700 {\n color: #dd2c00 !important;\n}\n.md-bg-deep-orange-A700 {\n background-color: #dd2c00 !important;\n}\n.md-color-brown-50 {\n color: #efebe9 !important;\n}\n.md-bg-brown-50 {\n background-color: #efebe9 !important;\n}\n.md-color-brown-100 {\n color: #d7ccc8 !important;\n}\n.md-bg-brown-100 {\n background-color: #d7ccc8 !important;\n}\n.md-color-brown-200 {\n color: #bcaaa4 !important;\n}\n.md-bg-brown-200 {\n background-color: #bcaaa4 !important;\n}\n.md-color-brown-300 {\n color: #a1887f !important;\n}\n.md-bg-brown-300 {\n background-color: #a1887f !important;\n}\n.md-color-brown-400 {\n color: #8d6e63 !important;\n}\n.md-bg-brown-400 {\n background-color: #8d6e63 !important;\n}\n.md-color-brown-500 {\n color: #795548 !important;\n}\n.md-bg-brown-500 {\n background-color: #795548 !important;\n}\n.md-color-brown-600 {\n color: #6d4c41 !important;\n}\n.md-bg-brown-600 {\n background-color: #6d4c41 !important;\n}\n.md-color-brown-700 {\n color: #5d4037 !important;\n}\n.md-bg-brown-700 {\n background-color: #5d4037 !important;\n}\n.md-color-brown-800 {\n color: #4e342e !important;\n}\n.md-bg-brown-800 {\n background-color: #4e342e !important;\n}\n.md-color-brown-900 {\n color: #3e2723 !important;\n}\n.md-bg-brown-900 {\n background-color: #3e2723 !important;\n}\n.md-color-grey-50 {\n color: #fafafa !important;\n}\n.md-bg-grey-50 {\n background-color: #fafafa !important;\n}\n.md-color-grey-100 {\n color: #f5f5f5 !important;\n}\n.md-bg-grey-100 {\n background-color: #f5f5f5 !important;\n}\n.md-color-grey-200 {\n color: #eeeeee !important;\n}\n.md-bg-grey-200 {\n background-color: #eeeeee !important;\n}\n.md-color-grey-300 {\n color: #e0e0e0 !important;\n}\n.md-bg-grey-300 {\n background-color: #e0e0e0 !important;\n}\n.md-color-grey-400 {\n color: #bdbdbd !important;\n}\n.md-bg-grey-400 {\n background-color: #bdbdbd !important;\n}\n.md-color-grey-500 {\n color: #9e9e9e !important;\n}\n.md-bg-grey-500 {\n background-color: #9e9e9e !important;\n}\n.md-color-grey-600 {\n color: #757575 !important;\n}\n.md-bg-grey-600 {\n background-color: #757575 !important;\n}\n.md-color-grey-700 {\n color: #616161 !important;\n}\n.md-bg-grey-700 {\n background-color: #616161 !important;\n}\n.md-color-grey-800 {\n color: #424242 !important;\n}\n.md-bg-grey-800 {\n background-color: #424242 !important;\n}\n.md-color-grey-900 {\n color: #212121 !important;\n}\n.md-bg-grey-900 {\n background-color: #212121 !important;\n}\n.md-color-blue-grey-50 {\n color: #eceff1 !important;\n}\n.md-bg-blue-grey-50 {\n background-color: #eceff1 !important;\n}\n.md-color-blue-grey-100 {\n color: #cfd8dc !important;\n}\n.md-bg-blue-grey-100 {\n background-color: #cfd8dc !important;\n}\n.md-color-blue-grey-200 {\n color: #b0bec5 !important;\n}\n.md-bg-blue-grey-200 {\n background-color: #b0bec5 !important;\n}\n.md-color-blue-grey-300 {\n color: #90a4ae !important;\n}\n.md-bg-blue-grey-300 {\n background-color: #90a4ae !important;\n}\n.md-color-blue-grey-400 {\n color: #78909c !important;\n}\n.md-bg-blue-grey-400 {\n background-color: #78909c !important;\n}\n.md-color-blue-grey-500 {\n color: #607d8b !important;\n}\n.md-bg-blue-grey-500 {\n background-color: #607d8b !important;\n}\n.md-color-blue-grey-600 {\n color: #546e7a !important;\n}\n.md-bg-blue-grey-600 {\n background-color: #546e7a !important;\n}\n.md-color-blue-grey-700 {\n color: #455a64 !important;\n}\n.md-bg-blue-grey-700 {\n background-color: #455a64 !important;\n}\n.md-color-blue-grey-800 {\n color: #37474f !important;\n}\n.md-bg-blue-grey-800 {\n background-color: #37474f !important;\n}\n.md-color-blue-grey-900 {\n color: #263238 !important;\n}\n.md-bg-blue-grey-900 {\n background-color: #263238 !important;\n}\n.md-color-white {\n color: #fff !important;\n}\n/* cards */\n.md-card {\n background: #fff;\n position: relative;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n border: none;\n}\n.md-card + .md-card,\n.md-card + .uk-grid,\n.uk-grid + .md-card {\n margin-top: 25px;\n}\n.md-card .full_width_in_card {\n padding: 16px 24px;\n background: rgba(0, 0, 0, 0.085);\n}\n.md-card .md-card-toolbar {\n height: 64px;\n padding: 0 16px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n background: #fff;\n}\n.md-card .md-card-toolbar:before,\n.md-card .md-card-toolbar:after {\n content: \" \";\n display: table;\n}\n.md-card .md-card-toolbar:after {\n clear: both;\n}\n.md-card .md-card-toolbar-heading-text {\n font: 500 14px / 50px \"Roboto\", sans-serif;\n color: #212121;\n margin: 0;\n float: left;\n overflow: hidden;\n height: 48px;\n}\n.md-card .md-card-toolbar-heading-text.large {\n font-size: 18px;\n font-weight: 400;\n}\n.md-card .md-card-toolbar .md-toggle-group {\n float: left;\n margin: 8px 0 0 16px;\n}\n.md-card .md-card-toolbar .md-toggle-group.md-toggle-group-small {\n margin-top: 10px;\n}\n.md-card .md-card-toolbar .md-card-toolbar-actions {\n float: right;\n padding-top: 10px;\n}\n.md-card .md-card-toolbar .md-card-toolbar-actions .uk-open .md-card-toolbar-icon {\n background: rgba(0, 0, 0, 0.085);\n color: #212121;\n}\n.md-card .md-card-toolbar .md-card-toolbar-actions .md-card-dropdown {\n display: inline-block;\n position: relative;\n}\n.md-card .md-card-toolbar .md-card-toolbar-actions .selectize-control {\n min-width: 220px;\n margin-top: -3px;\n}\n.md-card .md-card-toolbar .md-card-toolbar-actions .selectize-control .selectize-input {\n min-height: 30px;\n padding: 4px 8px;\n}\n.md-card .md-card-toolbar .md-card-toolbar-actions .selectize-control .selectize-dropdown {\n margin-top: -34px;\n}\n.md-card .md-card-toolbar .md-icon + .md-card-dropdown {\n margin-left: 4px;\n}\n.md-card .md-card-toolbar .md-card-fullscreen-deactivate {\n margin: 9px 8px 0 0;\n}\n.md-card .md-card-toolbar-input {\n border: none;\n font: 400 18px / 24px \"Roboto\", sans-serif;\n height: auto;\n background: none !important;\n padding: 12px 0;\n width: 50%;\n box-sizing: border-box;\n}\n.md-card .md-card-toolbar .uk-tab {\n margin-top: -2px;\n border-bottom: none;\n}\n.md-card .md-card-toolbar .uk-tab li > a {\n padding: 10px 8px !important;\n}\n.md-card .md-card-head {\n height: 160px;\n position: relative;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.md-card .md-card-head-menu {\n position: absolute;\n right: 8px;\n top: 8px;\n}\n.md-card .md-card-head-avatar {\n width: 82px;\n height: 82px;\n border-radius: 50%;\n margin-top: 16px;\n border: 2px solid #fff;\n display: inline-block;\n}\n.md-card .md-card-head-text {\n padding: 8px 16px 16px;\n font: 500 16px / 22px \"Roboto\", sans-serif;\n color: #212121;\n margin: 0;\n}\n.md-card .md-card-head-text span {\n display: block;\n font: 400 12px / 18px \"Roboto\", sans-serif;\n margin-top: -2px;\n}\n.md-card .md-card-head-text.text_dark {\n color: #212121 !important;\n}\n.md-card .md-card-head-text-over {\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);\n}\n.md-card .md-card-head-subtext {\n position: absolute;\n bottom: 10px;\n left: 0;\n right: 0;\n padding: 0 16px;\n text-align: right;\n color: #fff;\n}\n.md-card .md-card-head-subtext span {\n font-size: 26px;\n}\n.md-card .md-card-head-icon {\n font-size: 48px;\n color: #fff;\n vertical-align: middle;\n}\n.md-card .md-card-head.head_background {\n background-repeat: no-repeat;\n background-position: center center;\n background-size: cover;\n border-bottom-color: transparent;\n}\n.md-card .md-card-head.head_background .md-card-head-text {\n color: #fff;\n}\n.md-card .md-card-head.head_background_top {\n background-repeat: no-repeat;\n background-position: center top;\n}\n.md-card .md-card-head.head_background_bottom {\n background-repeat: no-repeat;\n background-position: center bottom;\n}\n.md-card .md-card-head .head_chart {\n height: 100px;\n width: 100%;\n position: absolute !important;\n left: 0;\n top: 40px;\n}\n.md-card .md-card-head .fitVid_player {\n width: 100%;\n height: 160px;\n overflow: hidden;\n}\n.md-card .md-card-head-img {\n height: 100%;\n width: auto;\n}\n.md-card .md-card-head iframe {\n height: 160px;\n}\n.md-card .md-card-content {\n padding: 16px;\n}\n.md-card .md-card-content.padding-reset {\n padding: 0;\n}\n.md-card .md-card-content.large-padding {\n padding: 24px 35px;\n}\n.md-card .md-card-content.small-padding {\n padding: 8px;\n}\n.md-card .md-card-footer {\n padding: 16px;\n font-size: 14px;\n line-height: 18px;\n}\n.md-card .md-card-footer .md-card-footer-head {\n font: 500 16px / 20px \"Roboto\", sans-serif;\n margin: 0 0 4px;\n}\n.md-card.md-card-fullscreen {\n position: fixed;\n z-index: 9998;\n overflow-x: hidden;\n}\n.md-card.md-card-fullscreen .md-card-fullscreen-activate {\n display: none;\n}\n.md-card .md-card-fullscreen-content {\n display: none;\n padding: 16px 0;\n}\n.md-card-fullscreen-content-hidden .md-card .md-card-fullscreen-content {\n display: block;\n visibility: hidden;\n padding: 0;\n}\n.md-card.mdToolbar_fixed {\n overflow-y: hidden;\n}\n.md-card.mdToolbar_fixed > .md-card-toolbar {\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n z-index: 9999;\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n}\n.md-card.mdToolbar_fixed > .md-card-content {\n overflow-y: scroll;\n box-sizing: border-box;\n position: absolute;\n width: 100%;\n top: 64px;\n bottom: 0;\n}\n.md-card.md-card-overlay {\n overflow: hidden;\n padding-bottom: 54px;\n}\n.md-card.md-card-overlay .md-card-content {\n height: 142px;\n overflow: hidden;\n box-sizing: border-box;\n}\n.md-card.md-card-overlay .md-card-content.no_truncate {\n position: relative;\n}\n.md-card.md-card-overlay .md-card-content.no_truncate:after {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 8px;\n background-image: linear-gradient(to top, #ffffff 50%, rgba(255, 255, 255, 0) 100%);\n display: block;\n content: '';\n z-index: 10;\n}\n.md-card.md-card-overlay .md-card-content > pre {\n margin-top: 0;\n max-height: 110px;\n}\n.md-card.md-card-overlay .md-card-content > pre > code {\n overflow: hidden;\n}\n.md-card.md-card-overlay .md-card-overlay-content {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n padding: 0 16px;\n margin-top: -54px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n text-align: left;\n bottom: 0;\n background: #fff;\n z-index: 10;\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.md-card.md-card-overlay .md-card-overlay-content p {\n margin: 0;\n}\n.md-card.md-card-overlay .md-card-overlay-content p + * {\n margin-top: 16px;\n}\n.md-card.md-card-overlay .md-card-overlay-content p + p {\n margin-top: 4px;\n}\n.md-card.md-card-overlay .md-card-overlay-header {\n padding: 12px 0;\n}\n.md-card.md-card-overlay .md-card-overlay-header:before,\n.md-card.md-card-overlay .md-card-overlay-header:after {\n content: \" \";\n display: table;\n}\n.md-card.md-card-overlay .md-card-overlay-header:after {\n clear: both;\n}\n.md-card.md-card-overlay .md-card-overlay-header h3,\n.md-card.md-card-overlay .md-card-overlay-header h4 {\n margin: 0;\n text-overflow: ellipsis;\n display: inline-block;\n vertical-align: top;\n white-space: nowrap;\n overflow: hidden;\n width: 100%;\n padding-right: 32px;\n box-sizing: border-box;\n}\n.md-card.md-card-overlay .md-card-overlay-header h3 {\n font: 400 16px / 30px \"Roboto\", sans-serif;\n}\n.md-card.md-card-overlay .md-card-overlay-header h4 {\n font: 500 14px / 30px \"Roboto\", sans-serif;\n}\n.md-card.md-card-overlay .md-card-overlay-header .md-icon {\n position: absolute;\n right: 12px;\n top: 11px;\n}\n.md-card.md-card-overlay-active .md-card-overlay-content {\n top: -1px;\n margin-top: 0;\n}\n.md-card.md-card-hover {\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n will-change: box-shadow;\n}\n.md-card.md-card-hover:hover {\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n}\n.uk-sortable-dragged .md-card {\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n}\n.uk-sortable-dragged .md-card canvas {\n margin: 0 auto;\n display: block;\n}\n.md-card .heading_list {\n padding: 0;\n}\n.md-card-primary,\n.md-card-success,\n.md-card-danger,\n.md-card-warning {\n border-left: 4px solid transparent;\n}\n.md-card-primary {\n border-left-color: #2196f3;\n}\n.md-card-success {\n border-left-color: #7cb342;\n}\n.md-card-danger {\n border-left-color: #e53935;\n}\n.md-card-warning {\n border-left-color: #ffa000;\n}\n.md-expand,\n.md-expand-group > * {\n opacity: 0;\n}\n.md-card-placeholder {\n min-width: 100%;\n}\n.md-card-list-wrapper,\n.md-card-list-wrapper:before,\n.md-card-list-wrapper:after,\n.md-card-list-wrapper *,\n.md-card-list-wrapper *:before,\n.md-card-list-wrapper *:after {\n box-sizing: border-box;\n}\n.md-card-list-wrapper .md-card-list-header {\n position: absolute;\n top: -24px;\n left: 0;\n}\n.md-card-list-wrapper .md-card-list {\n margin: 48px 0 0 0;\n position: relative;\n}\n.md-card-list-wrapper .md-card-list:first-child {\n margin-top: 24px;\n}\n.md-card-list-wrapper .md-card-list > ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.md-card-list-wrapper .md-card-list > ul > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.md-card-list-wrapper .md-card-list > ul > li {\n min-height: 34px;\n padding: 8px 16px;\n font-size: 13px;\n transition: background 150ms,padding 200ms;\n background: #fff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n}\n.md-card-list-wrapper .md-card-list > ul > li:before,\n.md-card-list-wrapper .md-card-list > ul > li:after {\n content: \" \";\n display: table;\n}\n.md-card-list-wrapper .md-card-list > ul > li:after {\n clear: both;\n}\n.md-card-list-wrapper .md-card-list > ul > li.item-shown {\n background: #fff;\n padding: 8px 36px;\n}\n@media only screen and (max-width: 767px) {\n .md-card-list-wrapper .md-card-list > ul > li.item-shown .md-card-list-item-subject {\n clear: both;\n float: none;\n padding-top: 16px;\n }\n .md-card-list-wrapper .md-card-list > ul > li.item-shown .md-card-list-item-subject > span {\n white-space: normal;\n }\n}\n.md-card-list-wrapper .md-card-list > ul > li.item-shown .md-card-list-item-sender {\n width: auto;\n overflow: hidden;\n}\n.md-card-list-wrapper .md-card-list > ul > li.item-shown.md-card-list-item-selected {\n position: relative;\n}\n.md-card-list-wrapper .md-card-list > ul > li.item-shown.md-card-list-item-selected:before {\n content: '';\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n bottom: 0;\n width: 8px;\n background: #e3f2fd;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-select,\n.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper,\n.md-card-list-wrapper .md-card-list .md-card-list-item-sender {\n float: left;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-select {\n padding: 6px 8px 0 0;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper,\n.md-card-list-wrapper .md-card-list .md-card-list-item-sender,\n.md-card-list-wrapper .md-card-list .md-card-list-item-subject,\n.md-card-list-wrapper .md-card-list .md-card-list-item-date {\n padding: 0 8px;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper .md-card-list-item-avatar {\n background: #757575;\n color: #fff;\n width: 34px;\n border-radius: 50%;\n display: block;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper .md-card-list-item-avatar-large {\n width: 82px;\n border-radius: 50%;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper span.md-card-list-item-avatar {\n line-height: 34px;\n text-transform: uppercase;\n text-align: center;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-sender {\n width: 220px;\n line-height: 34px;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-sender > span {\n text-overflow: ellipsis;\n display: inline-block;\n vertical-align: top;\n white-space: nowrap;\n overflow: hidden;\n width: 100%;\n}\n@media only screen and (max-width: 1219px) {\n .md-card-list-wrapper .md-card-list .md-card-list-item-sender {\n display: none;\n }\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-subject {\n overflow: hidden;\n font-weight: 500;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-subject > span {\n line-height: 34px;\n text-overflow: ellipsis;\n display: inline-block;\n vertical-align: top;\n white-space: nowrap;\n overflow: hidden;\n width: 100%;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small {\n display: none;\n}\n@media only screen and (max-width: 1219px) {\n .md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small {\n display: block;\n }\n .md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small + span {\n line-height: inherit;\n }\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small > span {\n text-overflow: ellipsis;\n display: inline-block;\n vertical-align: top;\n white-space: nowrap;\n overflow: hidden;\n width: 100%;\n font-size: 12px;\n color: #999;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-date {\n line-height: 34px;\n float: right;\n color: #999;\n}\n@media only screen and (max-width: 479px) {\n .md-card-list-wrapper .md-card-list .md-card-list-item-date {\n display: none;\n }\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-menu {\n float: right;\n margin: 0 0 0 8px;\n position: relative;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-menu .uk-dropdown .material-icons {\n margin-right: 8px;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-content-wrapper {\n display: none;\n clear: both;\n opacity: 0;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-content {\n padding: 16px 16px 0 0;\n max-height: 360px;\n overflow-x: hidden;\n margin: 0 0 40px;\n top: 20px;\n position: relative;\n font-size: 14px;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-content + .md-card-list-item-reply {\n padding-top: 10px;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-reply {\n padding: 16px 0;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-selected {\n background: #e3f2fd;\n}\n/* forms */\nselect,\ntextarea,\ninput:not([type]),\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"datetime\"],\ninput[type=\"datetime-local\"],\ninput[type=\"date\"],\ninput[type=\"month\"],\ninput[type=\"time\"],\ninput[type=\"week\"],\ninput[type=\"number\"],\ninput[type=\"email\"],\ninput[type=\"url\"],\ninput[type=\"search\"],\ninput[type=\"tel\"],\ninput[type=\"color\"] {\n outline: none;\n}\nselect.md-input,\ntextarea.md-input,\ninput:not([type]).md-input,\ninput[type=\"text\"].md-input,\ninput[type=\"password\"].md-input,\ninput[type=\"datetime\"].md-input,\ninput[type=\"datetime-local\"].md-input,\ninput[type=\"date\"].md-input,\ninput[type=\"month\"].md-input,\ninput[type=\"time\"].md-input,\ninput[type=\"week\"].md-input,\ninput[type=\"number\"].md-input,\ninput[type=\"email\"].md-input,\ninput[type=\"url\"].md-input,\ninput[type=\"search\"].md-input,\ninput[type=\"tel\"].md-input,\ninput[type=\"color\"].md-input {\n border-radius: 0;\n border-width: 0 0 1px;\n border-style: solid;\n border-color: rgba(0, 0, 0, 0.12);\n font: 400 15px / 18px \"Roboto\", sans-serif;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0);\n box-sizing: border-box;\n padding: 12px 4px;\n background: transparent;\n width: 100%;\n display: block;\n}\nselect.md-input.md-input-danger,\ntextarea.md-input.md-input-danger,\ninput:not([type]).md-input.md-input-danger,\ninput[type=\"text\"].md-input.md-input-danger,\ninput[type=\"password\"].md-input.md-input-danger,\ninput[type=\"datetime\"].md-input.md-input-danger,\ninput[type=\"datetime-local\"].md-input.md-input-danger,\ninput[type=\"date\"].md-input.md-input-danger,\ninput[type=\"month\"].md-input.md-input-danger,\ninput[type=\"time\"].md-input.md-input-danger,\ninput[type=\"week\"].md-input.md-input-danger,\ninput[type=\"number\"].md-input.md-input-danger,\ninput[type=\"email\"].md-input.md-input-danger,\ninput[type=\"url\"].md-input.md-input-danger,\ninput[type=\"search\"].md-input.md-input-danger,\ninput[type=\"tel\"].md-input.md-input-danger,\ninput[type=\"color\"].md-input.md-input-danger {\n border-color: #e53935;\n}\nselect.md-input.md-input-danger:focus,\ntextarea.md-input.md-input-danger:focus,\ninput:not([type]).md-input.md-input-danger:focus,\ninput[type=\"text\"].md-input.md-input-danger:focus,\ninput[type=\"password\"].md-input.md-input-danger:focus,\ninput[type=\"datetime\"].md-input.md-input-danger:focus,\ninput[type=\"datetime-local\"].md-input.md-input-danger:focus,\ninput[type=\"date\"].md-input.md-input-danger:focus,\ninput[type=\"month\"].md-input.md-input-danger:focus,\ninput[type=\"time\"].md-input.md-input-danger:focus,\ninput[type=\"week\"].md-input.md-input-danger:focus,\ninput[type=\"number\"].md-input.md-input-danger:focus,\ninput[type=\"email\"].md-input.md-input-danger:focus,\ninput[type=\"url\"].md-input.md-input-danger:focus,\ninput[type=\"search\"].md-input.md-input-danger:focus,\ninput[type=\"tel\"].md-input.md-input-danger:focus,\ninput[type=\"color\"].md-input.md-input-danger:focus {\n border-bottom-color: #e53935;\n}\nselect.md-input.md-input-success,\ntextarea.md-input.md-input-success,\ninput:not([type]).md-input.md-input-success,\ninput[type=\"text\"].md-input.md-input-success,\ninput[type=\"password\"].md-input.md-input-success,\ninput[type=\"datetime\"].md-input.md-input-success,\ninput[type=\"datetime-local\"].md-input.md-input-success,\ninput[type=\"date\"].md-input.md-input-success,\ninput[type=\"month\"].md-input.md-input-success,\ninput[type=\"time\"].md-input.md-input-success,\ninput[type=\"week\"].md-input.md-input-success,\ninput[type=\"number\"].md-input.md-input-success,\ninput[type=\"email\"].md-input.md-input-success,\ninput[type=\"url\"].md-input.md-input-success,\ninput[type=\"search\"].md-input.md-input-success,\ninput[type=\"tel\"].md-input.md-input-success,\ninput[type=\"color\"].md-input.md-input-success {\n border-color: #7cb342;\n}\nselect.md-input.md-input-success:focus,\ntextarea.md-input.md-input-success:focus,\ninput:not([type]).md-input.md-input-success:focus,\ninput[type=\"text\"].md-input.md-input-success:focus,\ninput[type=\"password\"].md-input.md-input-success:focus,\ninput[type=\"datetime\"].md-input.md-input-success:focus,\ninput[type=\"datetime-local\"].md-input.md-input-success:focus,\ninput[type=\"date\"].md-input.md-input-success:focus,\ninput[type=\"month\"].md-input.md-input-success:focus,\ninput[type=\"time\"].md-input.md-input-success:focus,\ninput[type=\"week\"].md-input.md-input-success:focus,\ninput[type=\"number\"].md-input.md-input-success:focus,\ninput[type=\"email\"].md-input.md-input-success:focus,\ninput[type=\"url\"].md-input.md-input-success:focus,\ninput[type=\"search\"].md-input.md-input-success:focus,\ninput[type=\"tel\"].md-input.md-input-success:focus,\ninput[type=\"color\"].md-input.md-input-success:focus {\n border-bottom-color: #7cb342;\n}\nselect.md-input:focus,\ntextarea.md-input:focus,\ninput:not([type]).md-input:focus,\ninput[type=\"text\"].md-input:focus,\ninput[type=\"password\"].md-input:focus,\ninput[type=\"datetime\"].md-input:focus,\ninput[type=\"datetime-local\"].md-input:focus,\ninput[type=\"date\"].md-input:focus,\ninput[type=\"month\"].md-input:focus,\ninput[type=\"time\"].md-input:focus,\ninput[type=\"week\"].md-input:focus,\ninput[type=\"number\"].md-input:focus,\ninput[type=\"email\"].md-input:focus,\ninput[type=\"url\"].md-input:focus,\ninput[type=\"search\"].md-input:focus,\ninput[type=\"tel\"].md-input:focus,\ninput[type=\"color\"].md-input:focus {\n background: transparent;\n border-color: rgba(0, 0, 0, 0.12);\n}\nselect.md-input-small,\ntextarea.md-input-small,\ninput:not([type]).md-input-small,\ninput[type=\"text\"].md-input-small,\ninput[type=\"password\"].md-input-small,\ninput[type=\"datetime\"].md-input-small,\ninput[type=\"datetime-local\"].md-input-small,\ninput[type=\"date\"].md-input-small,\ninput[type=\"month\"].md-input-small,\ninput[type=\"time\"].md-input-small,\ninput[type=\"week\"].md-input-small,\ninput[type=\"number\"].md-input-small,\ninput[type=\"email\"].md-input-small,\ninput[type=\"url\"].md-input-small,\ninput[type=\"search\"].md-input-small,\ninput[type=\"tel\"].md-input-small,\ninput[type=\"color\"].md-input-small {\n padding: 4px;\n}\nselect.md-input.uk-form-width-mini,\ntextarea.md-input.uk-form-width-mini,\ninput:not([type]).md-input.uk-form-width-mini,\ninput[type=\"text\"].md-input.uk-form-width-mini,\ninput[type=\"password\"].md-input.uk-form-width-mini,\ninput[type=\"datetime\"].md-input.uk-form-width-mini,\ninput[type=\"datetime-local\"].md-input.uk-form-width-mini,\ninput[type=\"date\"].md-input.uk-form-width-mini,\ninput[type=\"month\"].md-input.uk-form-width-mini,\ninput[type=\"time\"].md-input.uk-form-width-mini,\ninput[type=\"week\"].md-input.uk-form-width-mini,\ninput[type=\"number\"].md-input.uk-form-width-mini,\ninput[type=\"email\"].md-input.uk-form-width-mini,\ninput[type=\"url\"].md-input.uk-form-width-mini,\ninput[type=\"search\"].md-input.uk-form-width-mini,\ninput[type=\"tel\"].md-input.uk-form-width-mini,\ninput[type=\"color\"].md-input.uk-form-width-mini {\n width: 40px;\n}\nselect.md-input.uk-form-width-small,\ntextarea.md-input.uk-form-width-small,\ninput:not([type]).md-input.uk-form-width-small,\ninput[type=\"text\"].md-input.uk-form-width-small,\ninput[type=\"password\"].md-input.uk-form-width-small,\ninput[type=\"datetime\"].md-input.uk-form-width-small,\ninput[type=\"datetime-local\"].md-input.uk-form-width-small,\ninput[type=\"date\"].md-input.uk-form-width-small,\ninput[type=\"month\"].md-input.uk-form-width-small,\ninput[type=\"time\"].md-input.uk-form-width-small,\ninput[type=\"week\"].md-input.uk-form-width-small,\ninput[type=\"number\"].md-input.uk-form-width-small,\ninput[type=\"email\"].md-input.uk-form-width-small,\ninput[type=\"url\"].md-input.uk-form-width-small,\ninput[type=\"search\"].md-input.uk-form-width-small,\ninput[type=\"tel\"].md-input.uk-form-width-small,\ninput[type=\"color\"].md-input.uk-form-width-small {\n width: 130px;\n}\nselect.md-input.uk-form-width-medium,\ntextarea.md-input.uk-form-width-medium,\ninput:not([type]).md-input.uk-form-width-medium,\ninput[type=\"text\"].md-input.uk-form-width-medium,\ninput[type=\"password\"].md-input.uk-form-width-medium,\ninput[type=\"datetime\"].md-input.uk-form-width-medium,\ninput[type=\"datetime-local\"].md-input.uk-form-width-medium,\ninput[type=\"date\"].md-input.uk-form-width-medium,\ninput[type=\"month\"].md-input.uk-form-width-medium,\ninput[type=\"time\"].md-input.uk-form-width-medium,\ninput[type=\"week\"].md-input.uk-form-width-medium,\ninput[type=\"number\"].md-input.uk-form-width-medium,\ninput[type=\"email\"].md-input.uk-form-width-medium,\ninput[type=\"url\"].md-input.uk-form-width-medium,\ninput[type=\"search\"].md-input.uk-form-width-medium,\ninput[type=\"tel\"].md-input.uk-form-width-medium,\ninput[type=\"color\"].md-input.uk-form-width-medium {\n width: 200px;\n}\nselect.md-input.uk-form-width-large,\ntextarea.md-input.uk-form-width-large,\ninput:not([type]).md-input.uk-form-width-large,\ninput[type=\"text\"].md-input.uk-form-width-large,\ninput[type=\"password\"].md-input.uk-form-width-large,\ninput[type=\"datetime\"].md-input.uk-form-width-large,\ninput[type=\"datetime-local\"].md-input.uk-form-width-large,\ninput[type=\"date\"].md-input.uk-form-width-large,\ninput[type=\"month\"].md-input.uk-form-width-large,\ninput[type=\"time\"].md-input.uk-form-width-large,\ninput[type=\"week\"].md-input.uk-form-width-large,\ninput[type=\"number\"].md-input.uk-form-width-large,\ninput[type=\"email\"].md-input.uk-form-width-large,\ninput[type=\"url\"].md-input.uk-form-width-large,\ninput[type=\"search\"].md-input.uk-form-width-large,\ninput[type=\"tel\"].md-input.uk-form-width-large,\ninput[type=\"color\"].md-input.uk-form-width-large {\n width: 500px;\n}\nselect.md-input.uk-form-width-mini {\n width: 65px;\n}\n.md-input-width-small {\n min-width: 80px !important;\n}\n.md-input-width-medium {\n min-width: 160px !important;\n}\n.md-input-width-large {\n min-width: 320px !important;\n}\ntextarea.md-input {\n min-height: 80px;\n resize: none;\n overflow: hidden;\n transition: height 200ms ease-out;\n line-height: 24px;\n}\ntextarea.no_autosize {\n min-height: inherit;\n overflow: auto;\n transition: none;\n resize: both;\n}\n.md-input-wrapper {\n position: relative;\n padding-top: 4px;\n width: 100%;\n display: block;\n}\n.md-input-wrapper .md-input-bar {\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n}\n.md-input-wrapper .md-input-bar:before,\n.md-input-wrapper .md-input-bar:after {\n content: '';\n display: block;\n position: absolute;\n bottom: 0;\n width: 0;\n height: 2px;\n background: #1976d2;\n transition: width 400ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.md-input-wrapper .md-input-bar:before {\n left: 50%;\n}\n.md-input-wrapper .md-input-bar:after {\n right: 50%;\n}\n.md-input-wrapper .md-input-bar.uk-form-width-mini {\n width: 40px;\n}\n.md-input-wrapper .md-input-bar.uk-form-width-small {\n width: 130px;\n}\n.md-input-wrapper .md-input-bar.uk-form-width-medium {\n width: 200px;\n}\n.md-input-wrapper .md-input-bar.uk-form-width-large {\n width: 500px;\n}\n.md-input-wrapper > label {\n color: #727272;\n position: absolute;\n top: 16px;\n left: 4px;\n right: 0;\n pointer-events: none;\n transition: all 150ms ease-out;\n}\n.md-input-wrapper + * {\n margin-top: 10px;\n}\n.md-input-wrapper.md-input-wrapper-disabled > label {\n color: rgba(0, 0, 0, 0.26);\n}\n.md-input-wrapper-count {\n padding-bottom: 24px;\n}\n.md-input-wrapper-count .md-input-bar {\n bottom: 24px;\n}\n.md-input-wrapper-count .text-count-wrapper {\n font-size: 12px;\n position: absolute;\n right: 0;\n bottom: 0;\n opacity: 0;\n transition: opacity 200ms ease-in;\n}\n.md-input-wrapper-count > .md-input-wrapper-count .text-count-wrapper {\n position: absolute;\n bottom: 0;\n right: 0;\n}\n.md-input-filled > label,\n.md-input-focus > label {\n top: -6px;\n font-size: 12px;\n}\n.md-input-filled.md-input-wrapper-count .text-count-wrapper,\n.md-input-focus.md-input-wrapper-count .text-count-wrapper {\n opacity: 1;\n}\n.md-input-focus .md-input-bar:before,\n.md-input-focus .md-input-bar:after {\n width: 50%;\n}\n.md-input-wrapper-danger .md-input-bar:before,\n.md-input-wrapper-danger .md-input-bar:after {\n background: #e53935;\n}\n.md-input-wrapper-danger.md-input-wrapper-count .text-count-wrapper {\n color: #e53935;\n}\n.md-input-wrapper-success .md-input-bar:before,\n.md-input-wrapper-success .md-input-bar:after {\n background: #7cb342;\n}\n.md-input-wrapper-success.md-input-wrapper-count .text-count-wrapper {\n color: #7cb342;\n}\n.md-form-group {\n position: relative;\n}\nlabel.md-label {\n color: #999;\n padding: 0 6px;\n font-size: 11px;\n}\n@font-face {\n font-family: 'Material Icons';\n font-style: normal;\n font-weight: 400;\n src: url(\"../icons/material-design-icons/MaterialIcons-Regular.eot\");\n /* For IE6-8 */\n src: local('Material Icons'), local('MaterialIcons-Regular'), url(\"../icons/material-design-icons/MaterialIcons-Regular.woff2\") format('woff2'), url(\"../icons/material-design-icons/MaterialIcons-Regular.woff\") format('woff'), url(\"../icons/material-design-icons/MaterialIcons-Regular.ttf\") format('truetype');\n}\n.material-icons {\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 18px;\n /* Preferred icon size */\n display: inline-block;\n width: 1em;\n height: 1em;\n line-height: 1;\n text-transform: none;\n letter-spacing: normal;\n /* Support for all WebKit browsers. */\n -webkit-font-smoothing: antialiased;\n /* Support for Safari and Chrome. */\n text-rendering: optimizeLegibility;\n /* Support for Firefox. */\n -moz-osx-font-smoothing: grayscale;\n /* Support for IE. */\n font-feature-settings: 'liga';\n vertical-align: -4px;\n color: rgba(0, 0, 0, 0.54);\n}\n.material-icons.md-inactive {\n color: rgba(0, 0, 0, 0.26);\n}\n.material-icons.md-24 {\n font-size: 24px;\n vertical-align: -8px;\n}\n.material-icons.md-36 {\n font-size: 36px;\n vertical-align: -16px;\n}\n.material-icons.md-48 {\n font-size: 48px;\n vertical-align: -24px;\n}\n.material-icons.md-light {\n color: #ffffff;\n}\n.material-icons.md-light.md-inactive {\n color: rgba(255, 255, 255, 0.3);\n}\n/* list */\n.md-list {\n margin: 0;\n padding: 0;\n list-style: none;\n /*&-outside-wrapper {\n overflow: hidden;\n }*/\n}\n.md-list > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.md-list,\n.md-list:before,\n.md-list:after,\n.md-list *,\n.md-list *:before,\n.md-list *:after {\n box-sizing: border-box;\n}\n.md-list .uk-nestable-list > li,\n.md-list > li {\n min-height: 48px;\n padding: 8px 4px;\n box-sizing: border-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n position: relative;\n}\n.md-list .uk-nestable-list > li > .md-list-content,\n.md-list > li > .md-list-content {\n overflow: hidden;\n}\n.md-list .uk-nestable-list > li > .md-list-content > span,\n.md-list > li > .md-list-content > span {\n display: block;\n}\n.md-list .uk-nestable-list > li > .md-list-content .md-list-heading,\n.md-list > li > .md-list-content .md-list-heading {\n margin: 0;\n font-weight: 500;\n display: block;\n overflow: hidden;\n padding-bottom: 1px;\n}\n.md-list .uk-nestable-list > li > .md-list-content .md-list-menu,\n.md-list > li > .md-list-content .md-list-menu {\n float: right;\n}\n.md-list .uk-nestable-list > li > .md-list-content .md-list-menu .md-list-menu-toggle,\n.md-list > li > .md-list-content .md-list-menu .md-list-menu-toggle {\n display: block;\n font-size: 18px;\n color: rgba(0, 0, 0, 0.8);\n width: 28px;\n height: 28px;\n line-height: 28px;\n border-radius: 14px;\n text-align: center;\n}\n.md-list .uk-nestable-list > li > .md-list-content .uk-badge,\n.md-list > li > .md-list-content .uk-badge {\n float: right;\n color: #fff !important;\n}\n.md-list .uk-nestable-list > li > .md-list-content .md-list-action,\n.md-list > li > .md-list-content .md-list-action {\n float: right;\n margin-left: 8px;\n margin-top: 2px;\n display: none;\n}\n.md-list .uk-nestable-list > li > .md-list-content .md-list-action-placeholder,\n.md-list > li > .md-list-content .md-list-action-placeholder {\n float: right;\n margin-left: 8px;\n display: none;\n width: 32px;\n height: 32px;\n}\n.md-list .uk-nestable-list > li .md-list-action-dropdown,\n.md-list > li .md-list-action-dropdown {\n position: absolute;\n right: 16px;\n top: 10px;\n display: none;\n}\n.md-list .uk-nestable-list > li > a.md-list-content,\n.md-list > li > a.md-list-content {\n display: block;\n color: #212121;\n}\n.md-list .uk-nestable-list > li:last-child,\n.md-list > li:last-child {\n border-bottom: none;\n}\n.md-list .uk-nestable-list > li.md-list-item-active,\n.md-list > li.md-list-item-active {\n color: #7cb342;\n background: #ededed;\n}\n.md-list .uk-nestable-list > li.md-list-item-disabled > .md-list-content,\n.md-list > li.md-list-item-disabled > .md-list-content {\n color: #bdbdbd;\n}\n.md-list .uk-nestable-list > li.md-list-item-disabled > .md-list-content span,\n.md-list > li.md-list-item-disabled > .md-list-content span {\n color: #bdbdbd !important;\n}\n.md-list .uk-nestable-list > li.heading_list,\n.md-list > li.heading_list {\n min-height: 32px;\n padding: 32px 8px 16px;\n border-bottom: none;\n background: transparent !important;\n text-transform: uppercase;\n}\n.uk-touch .md-list .uk-nestable-list > li > .md-list-addon-element .uk-nestable-handle,\n.uk-touch .md-list > li > .md-list-addon-element .uk-nestable-handle,\n.md-list .uk-nestable-list > li:hover > .md-list-addon-element .uk-nestable-handle,\n.md-list > li:hover > .md-list-addon-element .uk-nestable-handle {\n display: block;\n}\n.uk-touch .md-list .uk-nestable-list > li > .md-list-content .md-list-action,\n.uk-touch .md-list > li > .md-list-content .md-list-action,\n.md-list .uk-nestable-list > li:hover > .md-list-content .md-list-action,\n.md-list > li:hover > .md-list-content .md-list-action,\n.uk-touch .md-list .uk-nestable-list > li > .md-list-content .md-list-action-placeholder,\n.uk-touch .md-list > li > .md-list-content .md-list-action-placeholder,\n.md-list .uk-nestable-list > li:hover > .md-list-content .md-list-action-placeholder,\n.md-list > li:hover > .md-list-content .md-list-action-placeholder {\n display: block;\n}\n.uk-touch .md-list .uk-nestable-list > li .md-list-action-dropdown,\n.uk-touch .md-list > li .md-list-action-dropdown,\n.md-list .uk-nestable-list > li:hover .md-list-action-dropdown,\n.md-list > li:hover .md-list-action-dropdown {\n display: block;\n}\n.md-list .uk-nestable-list > li {\n margin-left: 64px;\n}\n.md-list-addon > li {\n margin-left: 64px;\n position: relative;\n}\n.md-list-addon > li:last-child .md-list-addon-element {\n border-bottom: none;\n bottom: 0;\n}\n.md-list-addon > li:first-child .md-list-addon-element {\n top: 0;\n}\n.md-list-addon > li.md-list-item-active .md-list-addon-element,\n.md-list-addon > li.md-list-item-active .md-list-addon-element .material-icons {\n color: #7cb342;\n}\n.md-list-addon-element {\n position: absolute;\n left: -64px;\n top: -1px;\n bottom: -1px;\n width: 64px;\n text-align: center;\n padding: 8px 0;\n display: block;\n}\n.md-list-addon-element .element-status {\n position: absolute;\n right: 12px;\n top: 10px;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: #bdbdbd;\n border: 1px solid #fff;\n}\n.md-list-addon-element .element-status-danger {\n background: #e53935;\n}\n.md-list-addon-element .element-status-success {\n background: #7cb342;\n}\n.md-list-addon-element .element-status-warning {\n background: #ffa000;\n}\n.md-list-addon-element > .md-list-addon-avatar {\n margin-top: 2px;\n}\n.md-list-addon-element > .md-list-addon-icon {\n font-size: 28px;\n margin-top: 4px;\n color: #727272;\n}\n.md-list-addon-element > .material-icons {\n margin-top: 6px;\n}\n.md-list-addon-element .iradio_md,\n.md-list-addon-element .icheckbox_md {\n margin-top: 10px;\n}\n.md-list-addon-element .uk-nestable-handle {\n position: absolute;\n left: -2px;\n top: 12px;\n display: none;\n}\n.md-list-interactive li {\n cursor: pointer;\n}\n.md-list-bg {\n background: #fff;\n}\n.md-list-separated li {\n background: #fff;\n padding: 8px;\n}\n.md-list-separated li + li {\n border-top: none;\n margin-top: 8px;\n}\n.md-list-bg-no-sep {\n background: #fff;\n padding: 8px;\n}\n.md-list-bg-no-sep li > .md-list-content {\n padding: 0 4px;\n}\n.md-list-outside > li {\n padding: 0;\n}\n.md-list-outside > li > .md-list-content {\n padding: 8px 16px;\n display: block;\n color: #212121;\n}\n.md-list-outside > li.md-list-item-active,\n.md-list-outside > li:hover:not(.heading_list) {\n background: rgba(0, 0, 0, 0.085);\n}\n.md-list-outside > li.heading_list {\n padding: 32px 16px 16px;\n}\n.md-list-outside.md-list-addon li {\n margin-left: 0;\n}\n.md-list-outside.md-list-addon li .md-list-addon-element {\n position: relative;\n top: auto;\n left: auto;\n float: left;\n}\n.md-list-outside.md-list-addon li .md-list-content {\n padding-left: 0;\n}\n.md-list .uk-nestable-list {\n padding-left: 0;\n}\n.md-list .uk-nestable-list .uk-nestable-item {\n padding-right: 0;\n}\n.md-list .uk-nestable-item + .uk-nestable-item {\n margin-top: 0;\n}\n.md-list-right.md-list-addon > li {\n margin-left: 0;\n margin-right: 64px;\n}\n.md-list-right.md-list-addon > li .md-list-addon-element {\n left: auto;\n right: -64px;\n}\n.md-list-borderless > li {\n border-bottom: none;\n}\n.uk-touch .md-list-addon-element .uk-nestable-handle {\n display: block !important;\n}\n.uk-touch .md-list-content .md-list-action,\n.uk-touch .md-list-content .md-list-action-placeholder {\n display: block !important;\n}\n.uk-touch .md-list-action-dropdown {\n display: block !important;\n}\n/* panels */\n.md-panel-full {\n position: relative;\n overflow: hidden;\n min-height: 100%;\n}\n.md-panel-full,\n.md-panel-full:before,\n.md-panel-full:after,\n.md-panel-full *,\n.md-panel-full *:before,\n.md-panel-full *:after {\n box-sizing: border-box;\n}\n.md-panel-full > .uk-grid {\n height: 100%;\n}\n.md-panel-full > .uk-grid [class*=uk-width] {\n height: 100%;\n}\n.md-panel-full .md-panel-full-aside {\n margin: 16px 16px 32px;\n padding: 16px;\n}\n.md-panel-full .md-panel-full-aside.md-panel-full-aside-bg {\n background: #fff;\n}\n.md-panel-full .md-panel-full-content {\n background: #fff;\n padding: 25px 25px 90px;\n width: inherit;\n min-width: 100%;\n min-height: 100%;\n}\n.md-panel-full .md-panel-full-content > .md-panel-full-content-inner {\n position: relative;\n z-index: 10;\n}\n.md-panel-full .md-panel-full-content:before {\n width: inherit;\n content: '';\n position: absolute;\n background: #fff;\n display: block;\n right: 0;\n top: 0;\n bottom: 0;\n box-shadow: -2px 2px 5px rgba(0, 0, 0, 0.26);\n z-index: 5;\n}\n.md-panel-full .md-panel-full-content .md-panel-full-content-header {\n margin-bottom: 24px;\n}\n.md-panel-full .md-panel-full-content .md-panel-full-content-header .md-panel-full-content-menu {\n float: right;\n}\n/* top bar */\n.md-top-bar .md-top-bar-checkbox {\n padding-top: 10px;\n}\n.md-top-bar .md-top-bar-icons {\n margin-top: 5px;\n}\n.md-top-bar .md-top-bar-icons,\n.md-top-bar .md-top-bar-checkbox {\n display: inline-block;\n}\n.md-top-bar .md-btn-group {\n margin-top: 4px;\n}\n.md-top-bar .md-top-bar-actions-left {\n float: left;\n padding-left: 16px;\n}\n.md-top-bar .md-top-bar-actions-left .md-btn-group {\n margin-left: 8px;\n}\n.md-top-bar .md-top-bar-actions-right {\n float: right;\n padding-right: 16px;\n}\n.md-top-bar .md-top-bar-actions-right .md-btn-group {\n margin-right: 8px;\n}\n.md-top-bar .md-btn-small {\n padding: 2px 12px;\n}\n/*** utils ***/\n/* avatar */\n.md-user-image {\n width: 34px;\n border-radius: 50%;\n}\n.md-user-image-large {\n width: 82px;\n border-radius: 50%;\n}\n.md-user-placeholder {\n background-color: rgba(0, 0, 0, 0.085);\n width: 34px;\n height: 34px;\n border-radius: 50%;\n}\n.md-user-letters {\n display: inline-block;\n line-height: 35px;\n width: 34px;\n height: 34px;\n border-radius: 50%;\n text-align: center;\n text-transform: uppercase;\n font-weight: 500;\n background-color: rgba(0, 0, 0, 0.085);\n}\n/* icons */\n.md-icon {\n font-size: 24px;\n line-height: 32px !important;\n height: 32px !important;\n color: #727272;\n border-radius: 50%;\n cursor: pointer;\n transition: background 280ms ease-out, color 280ms ease-out;\n width: 32px !important;\n text-align: center;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.md-icon:hover,\n.md-icon:focus,\n.md-icon:active,\n.md-icon.active {\n color: #212121;\n background: rgba(0, 0, 0, 0.08);\n}\n.md-icon-light {\n color: #fff;\n}\n.md-icon-light:hover,\n.md-icon-light:focus,\n.md-icon-light:active {\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n}\n.md-icon-dark {\n color: #212121;\n}\n.md-icon-dark:hover,\n.md-icon-dark:focus,\n.md-icon-dark:active {\n color: #212121;\n background: rgba(255, 255, 255, 0.6);\n}\n.md-icon + .md-icon {\n margin-left: 4px;\n}\n.md-icon-btn {\n display: inline-block;\n}\n.md-icon-btn.active .md-icon {\n color: #212121;\n background: rgba(0, 0, 0, 0.08);\n}\nbutton.md-icon {\n background: none;\n border: none;\n outline: none;\n}\n.uk-open .md-icon {\n color: #212121;\n background: rgba(0, 0, 0, 0.08);\n}\n.uk-open .md-icon-light {\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n}\n.uk-open .md-icon-dark {\n color: #212121;\n background: rgba(255, 255, 255, 0.6);\n}\n/* dropdown list */\n.md-list-inputs {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.md-list-inputs > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.md-list-inputs li + li {\n margin-top: 8px;\n}\n.md-list-inputs li .icheckbox_md {\n float: left;\n}\n.md-list-inputs li label {\n overflow: hidden;\n padding-left: 8px;\n display: block;\n cursor: pointer;\n}\n/* hr */\n.md-hr {\n margin: 32px 0;\n height: 0;\n border-top: 2px solid rgba(0, 0, 0, 0.12);\n}\n/* animated show */\n@keyframes hierarchical_show {\n 0% {\n opacity: 0;\n transform: scale3d(0.2, 0.2, 2);\n }\n 50% {\n opacity: 1;\n }\n 100% {\n transform: scale3d(1, 1, 1);\n }\n}\n.hierarchical_show {\n will-change: transform, opacity;\n}\n.hierarchical_show > * {\n visibility: hidden;\n}\n.hierarchical_show_inView > * {\n animation-fill-mode: both;\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n animation-duration: 700ms;\n animation-name: hierarchical_show;\n visibility: visible;\n}\n@keyframes hierarchical_slide {\n 0% {\n opacity: 0;\n transform: translate3d(0, 160%, 0);\n }\n 33% {\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 0, 0);\n }\n}\n.hierarchical_slide {\n will-change: transform, opacity;\n}\n.hierarchical_slide > * {\n visibility: hidden;\n}\n.hierarchical_slide_inView > * {\n animation-fill-mode: both;\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n animation-duration: 700ms;\n animation-name: hierarchical_slide;\n visibility: visible;\n}\n.fast_animation {\n animation-duration: 350ms;\n}\n/* 5. partials (header,sidebars,top bar) ============= */\n/* 6. altair landing page styles ===================== */\nhtml {\n background: #fff;\n}\nbody {\n font: 400 15px / 1.42857143 \"Roboto\", sans-serif;\n box-sizing: border-box;\n overflow-x: hidden;\n}\n/*html, body {\n height: 100%;\n}*/\na,\nbutton {\n outline: none !important;\n}\na {\n color: #1e88e5;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\na:hover,\na:active {\n color: #0d47a1;\n text-decoration: none;\n}\n.uk-text-upper {\n text-transform: uppercase;\n}\n.animate > * {\n visibility: hidden;\n}\n.animated {\n visibility: visible;\n}\n[class*=uk-animation-] {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n animation-duration: 840ms;\n}\n.heading_a {\n margin: 0;\n font: 300 42px / 48px \"Roboto\", sans-serif;\n}\n.heading_a .sub-heading {\n font-weight: 300;\n font-size: 24px;\n line-height: 30px;\n display: block;\n padding-top: 10px;\n}\n@media only screen and (max-width: 959px) {\n .heading_a {\n font: 300 32px / 36px \"Roboto\", sans-serif;\n }\n .heading_a .sub-heading {\n font-size: 20px;\n line-height: 24px;\n }\n}\n.heading_b {\n margin: 0;\n font: 300 32px / 36px \"Roboto\", sans-serif;\n}\n.heading_b .sub-heading {\n font-weight: 300;\n font-size: 20px;\n line-height: 26px;\n display: block;\n padding-top: 10px;\n}\n@media only screen and (max-width: 959px) {\n .heading_b {\n font: 300 28px / 32px \"Roboto\", sans-serif;\n }\n .heading_b .sub-heading {\n font-size: 18px;\n line-height: 22px;\n }\n}\n.heading_c {\n margin: 0;\n font: 400 24px / 28px \"Roboto\", sans-serif;\n}\n.heading_c .sub-heading {\n font-weight: 300;\n font-size: 18px;\n line-height: 20px;\n display: block;\n padding-top: 10px;\n}\n@media only screen and (max-width: 959px) {\n .heading_c {\n font: 300 22px / 25px \"Roboto\", sans-serif;\n }\n .heading_c .sub-heading {\n font-size: 16px;\n line-height: 20px;\n }\n}\n.heading_a + .uk-grid,\n.heading_b + .uk-grid,\n.heading_c + .uk-grid {\n margin-top: 24px;\n}\n.heading_a .material-icons,\n.heading_b .material-icons,\n.heading_c .material-icons {\n vertical-align: middle;\n}\n.heading_light,\n.heading_light .sub-heading {\n color: #fff;\n}\n.icon_large {\n font-size: 64px;\n}\n@media only screen and (max-width: 959px) {\n .icon_large {\n font-size: 48px;\n }\n}\n.icon_dark {\n color: #727272;\n}\n#header_main {\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n position: relative;\n z-index: 10;\n}\n#header_main .uk-navbar {\n background: #fff;\n}\n#header_main .uk-navbar-nav > li > a {\n color: #727272;\n text-transform: uppercase;\n font-size: 14px;\n font-family: \"Roboto\", sans-serif;\n font-weight: 500;\n box-shadow: inset 0 -4px 0 rgba(255, 255, 255, 0);\n background: none !important;\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n#header_main .uk-navbar-nav > li > a:hover,\n#header_main .uk-navbar-nav > li > a:active {\n color: #727272;\n}\n#header_main .uk-navbar-nav > li.current_active a {\n box-shadow: inset 0 -4px 0 #7cb342;\n}\n#header_main.header-light {\n background: #fff;\n}\n#header_main .header_cta {\n margin-top: 14px;\n}\n@media only screen and (max-width: 959px) {\n #header_main .header_cta {\n margin-top: 6px;\n }\n}\n#mobile_navigation_toggle {\n display: none;\n}\n#mobile_navigation .uk-offcanvas-bar {\n background: #fff;\n box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.26);\n transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n#mobile_navigation .uk-offcanvas-bar:after {\n display: none;\n}\n#mobile_navigation .uk-offcanvas-bar ul {\n margin: 32px 0 0 0;\n padding: 0;\n list-style: none;\n}\n#mobile_navigation .uk-offcanvas-bar ul > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n#mobile_navigation .uk-offcanvas-bar ul li a {\n display: block;\n font-size: 16px;\n font-weight: 500;\n line-height: 25px;\n padding: 8px 20px;\n color: #212121;\n}\n#mobile_navigation .uk-offcanvas-bar ul li a small {\n font-size: 12px;\n color: #727272;\n display: block;\n margin-top: -2px;\n}\n#mobile_navigation .uk-offcanvas-bar ul li a .menu_icon {\n width: 48px;\n text-align: left;\n display: inline-block;\n color: #727272;\n float: left;\n}\n#mobile_navigation .uk-offcanvas-bar ul li a .menu_icon .material-icons {\n font-size: 24px;\n vertical-align: top;\n}\n#mobile_navigation .uk-offcanvas-bar ul li a .menu_title {\n display: block;\n overflow: hidden;\n}\n.uk-offcanvas-page {\n transition: margin 280ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.header_sticky {\n padding-top: 64px;\n}\n@media only screen and (max-width: 959px) {\n .header_sticky {\n padding-top: 48px;\n }\n}\n.header_sticky #header_main {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: 1000;\n}\n.header_shadow #header_main {\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);\n}\n.banner {\n color: #fff;\n position: relative;\n}\n.banner .uk-slideshow,\n.banner .uk-slideshow > li {\n height: 640px;\n}\n.banner .uk-slideshow > li {\n background-size: 100% auto;\n background-position: center center;\n background-repeat: no-repeat;\n}\n.banner .uk-slideshow > li .slide_content_a {\n margin: 160px 0 0 640px;\n}\n.banner .uk-slideshow > li .slide_content_b {\n margin: 320px 0 0 0;\n background: rgba(0, 0, 0, 0.4);\n padding: 24px;\n}\n.banner .uk-slideshow > li .slide_content_c {\n margin: 120px 540px 0 0;\n}\n.banner .uk-slideshow > li .slide_content_c .slide_header,\n.banner .uk-slideshow > li .slide_content_c p {\n color: #212121;\n}\n.banner .uk-slideshow > li .slide_header {\n color: #fff;\n font: 400 38px / 42px \"Roboto\", sans-serif;\n margin: 0 0 18px;\n}\n.banner .uk-slideshow > li p {\n margin: 0;\n font-size: 20px;\n font-weight: 300;\n}\n.banner .uk-slideshow > li p + * {\n margin-top: 32px;\n}\n.banner .slide_navigation {\n display: none;\n}\n.banner:hover .slide_navigation {\n display: block;\n}\n.uk-touch .slide_navigation {\n display: block !important;\n}\n.uk-slidenav {\n position: absolute;\n top: 50%;\n margin-top: -30px;\n color: #fff !important;\n background: rgba(0, 0, 0, 0.2);\n border-radius: 12px;\n font-size: 48px;\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.uk-slidenav-previous {\n left: 16px;\n}\n.uk-slidenav-previous:before {\n position: relative;\n left: -2px;\n top: -2px;\n}\n.uk-slidenav-next {\n right: 16px;\n}\n.uk-slidenav-next:before {\n position: relative;\n right: -2px;\n top: -2px;\n}\n.uk-slidenav:active,\n.uk-slidenav:hover {\n background: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n}\n.uk-dotnav > li {\n border: 2px solid rgba(255, 255, 255, 0.8);\n padding: 2px;\n margin-right: 6px;\n border-radius: 50%;\n}\n.uk-dotnav > li.uk-active {\n border-color: #fff;\n}\n.uk-dotnav > li.uk-active > a {\n background: #7cb342;\n}\n.uk-dotnav > li > a {\n margin: 0;\n width: 14px;\n height: 14px;\n}\n.section {\n padding: 48px 0;\n position: relative;\n}\n.section_large {\n padding: 64px 0;\n}\n.section_dark {\n color: #fff;\n}\n.section_gallery {\n position: relative;\n}\n.section_gallery .slide_navigation {\n display: none;\n}\n.section_gallery:hover .slide_navigation {\n display: block;\n}\n[class*=uk-width].uk-container-center {\n float: none;\n}\n@media only screen and (max-width: 1219px) {\n .banner .uk-slideshow,\n .banner .uk-slideshow > li {\n height: auto;\n min-height: 360px;\n }\n .banner .uk-slideshow > li .slide_content_a,\n .banner .uk-slideshow > li .slide_content_b,\n .banner .uk-slideshow > li .slide_content_c {\n margin: 0;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n padding: 48px 48px 0;\n text-align: center;\n }\n .banner .uk-slideshow > li .slide_header {\n margin-bottom: 20px;\n color: #fff !important;\n }\n .banner .uk-slideshow > li p {\n font-size: 20px;\n color: #fff !important;\n }\n .banner .uk-slideshow > li p + * {\n margin-top: 24px;\n }\n}\n@media only screen and (max-width: 959px) {\n #header_main {\n height: 48px;\n }\n #header_main .uk-navbar-brand {\n line-height: 48px;\n padding: 0;\n }\n #main_navigation {\n display: none;\n }\n #mobile_navigation_toggle {\n padding: 12px 4px 10px;\n display: inline-block;\n }\n #mobile_navigation_toggle i {\n font-size: 24px;\n }\n}\n@media only screen and (max-width: 767px) {\n .banner .uk-slideshow > li {\n background-size: auto 100%;\n }\n .banner .uk-slideshow > li .slide_content_a,\n .banner .uk-slideshow > li .slide_content_b,\n .banner .uk-slideshow > li .slide_content_c {\n margin: 0;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n padding: 24px 12px;\n text-align: center;\n }\n .banner .uk-slideshow > li .slide_header {\n font: 400 24px / 28px \"Roboto\", sans-serif;\n margin-bottom: 6px;\n color: #fff !important;\n }\n .banner .uk-slideshow > li p {\n font-size: 15px;\n color: #fff !important;\n }\n .banner .uk-slideshow > li p + * {\n margin-top: 24px;\n }\n .uk-container {\n padding-left: 15px;\n padding-right: 15px;\n }\n}\n/* theme */\n","// uikit custom styles\r\n\r\n/* animations */\r\n[class*=\"uk-animation-\"] {\r\n animation-timing-function: @md_easing;\r\n animation-duration: 560ms;\r\n}\r\n\r\n/* alerts */\r\n.uk-alert {\r\n border: none;\r\n background: @theme_dark_color;\r\n color: @white;\r\n text-shadow: none;\r\n padding-right: 32px;\r\n position: relative;\r\n display: block;\r\n &-success {\r\n background: @md-color-light-green-500 !important;\r\n }\r\n &-danger {\r\n background: @md-color-red-600 !important;\r\n }\r\n &-warning {\r\n background: @md-color-amber-700 !important;\r\n }\r\n &-info {\r\n background: @md-color-cyan-700 !important;\r\n }\r\n &-large {\r\n padding: 24px 32px 24px 24px;\r\n }\r\n &-close {\r\n position: absolute;\r\n top: 10px;\r\n right: 8px;\r\n float: none !important;\r\n margin: 0 !important;\r\n &:after {\r\n color: @white !important;\r\n }\r\n }\r\n}\r\n\r\n/* badges */\r\n.uk-badge {\r\n background: @md-color-cyan-700;\r\n padding: 2px 6px;\r\n border: none;\r\n border-radius: 2px;\r\n text-shadow: none;\r\n font-size: 11px;\r\n line-height: 15px;\r\n font-weight: 400;\r\n &-primary {\r\n background: @theme_primary_color;\r\n }\r\n &-danger {\r\n background: @danger_color;\r\n }\r\n &-warning {\r\n background: @warning_color;\r\n }\r\n &-success {\r\n background: @success_color;\r\n }\r\n &-muted {\r\n background: @muted_color;\r\n }\r\n &-notification {\r\n border-radius: 20px;\r\n }\r\n &.inline-label {\r\n vertical-align: 1px;\r\n margin-left: 4px;\r\n }\r\n &-outline {\r\n border: 1px solid @border_color;\r\n background: @white;\r\n color: @text_primary_color;\r\n padding-bottom: 0;\r\n line-height: 16px;\r\n }\r\n}\r\n\r\n/* buttons */\r\n.uk-button {\r\n font-weight: 400;\r\n border-radius: 2px;\r\n transition: all 0.2s @md_easing;\r\n}\r\n\r\n/* comments */\r\n.uk-comment-list {\r\n > li + li {\r\n border-top: 1px dashed @border_color;\r\n margin-top: 16px !important;\r\n }\r\n .uk-comment + ul {\r\n margin: 8px 0 0 0;\r\n @media @screen_medium {\r\n padding-left: 48px;\r\n }\r\n }\r\n}\r\n.uk-comment {\r\n &-header {\r\n padding: 16px 8px 8px;\r\n border: none;\r\n background: none;\r\n margin-bottom: 0;\r\n }\r\n &-title {\r\n margin: 0;\r\n font-size: 14px;\r\n line-height: 20px;\r\n }\r\n}\r\n\r\n\r\n/* dialog modals */\r\n.uk-modal {\r\n z-index: @header_main_zIndex + 200;\r\n background: rgba(0,0,0,0.5);\r\n transition: opacity 250ms ease-out;\r\n overflow: auto !important;\r\n &.uk-modal-no-backdrop {\r\n background: transparent;\r\n }\r\n &-dialog {\r\n border-radius: 2px;\r\n .boxShadowHelper(5);\r\n padding: 24px;\r\n display: block !important;\r\n animation: none !important;\r\n transition: transform 280ms @md_easing, opacity 280ms ease-in;\r\n transform: scale(0);\r\n .uk-open & {\r\n transform: scale(1);\r\n }\r\n .uk-modal-header {\r\n background: none;\r\n border-bottom: none;\r\n margin: 0 -24px 24px;\r\n padding: 0 32px 0 24px;\r\n overflow: hidden;\r\n .uk-modal-title {\r\n margin: 0;\r\n .md_font(500, 18px, 28px);\r\n span {\r\n font-size: 16px;\r\n display: block;\r\n color: @text_secondary_color;\r\n }\r\n }\r\n .material-icons {\r\n font-size: 24px;\r\n vertical-align: -4px;\r\n cursor: default;\r\n }\r\n }\r\n .uk-modal-footer {\r\n margin: 16px -16px -16px;\r\n padding: 16px;\r\n background: @white;\r\n border-top: none;\r\n .clearfix();\r\n .md-icon-btn {\r\n margin-top: 2px;\r\n }\r\n }\r\n .uk-modal-caption {\r\n bottom: 16px;\r\n margin: 0 32px;\r\n }\r\n > .uk-close:first-child {\r\n top: 8px;\r\n right: 8px;\r\n position: absolute;\r\n float: none;\r\n margin: 0;\r\n }\r\n &-lightbox {\r\n padding: 0;\r\n > .uk-close:first-child {\r\n top: -11px;\r\n right: -11px;\r\n .boxShadowHelper(3);\r\n border: none;\r\n }\r\n }\r\n .uk-overflow-container {\r\n margin: 16px 0;\r\n }\r\n }\r\n .uk-margin.uk-modal-content {\r\n margin-bottom: 0;\r\n }\r\n &.uk-modal-dialog-replace {\r\n .uk-modal-content {\r\n font-size: 18px;\r\n }\r\n }\r\n &-spinner {\r\n animation: uk-rotate 2s infinite linear;\r\n margin-left: -12px;\r\n margin-top: -17px;\r\n left: 50%;\r\n right: auto;\r\n }\r\n}\r\n\r\n/* dropdowns */\r\n.uk-dropdown {\r\n transform: scale(0.25,0);\r\n opacity: 0;\r\n transition: all 280ms @md_easing;\r\n animation: none !important;\r\n transform-origin: 50% 0 !important;\r\n .boxShadowHelper(2);\r\n border: none;\r\n border-radius: 2px;\r\n &.uk-dropdown-xlarge {\r\n width: 360px;\r\n @media @screen_small_max {\r\n width: 260px;\r\n }\r\n }\r\n &.uk-dropdown-large {\r\n width: 260px;\r\n }\r\n &.uk-dropdown-small {\r\n width: 160px;\r\n }\r\n > ul {\r\n > li {\r\n > a {\r\n font-size: 14px;\r\n color: @text_primary_color;\r\n &:hover {\r\n background: @background_color_default;\r\n }\r\n }\r\n &.uk-active {\r\n > a {\r\n background: @background_color_default;\r\n }\r\n }\r\n &.padding_sm {\r\n padding: 2px 4px;\r\n }\r\n &.padding_md {\r\n padding: 4px 8px;\r\n }\r\n }\r\n }\r\n &.dropdown-modal {\r\n z-index: 1310;\r\n }\r\n &.dropdown-fs {\r\n z-index: 9999;\r\n }\r\n &.uk-dropdown-scrollable {\r\n -webkit-overflow-scrolling: touch;\r\n }\r\n}\r\n[data-uk-dropdown*=\"top-\"] {\r\n .uk-dropdown {\r\n transform-origin: 50% 100% !important;\r\n }\r\n}\r\n[data-uk-dropdown*=\"left-\"] {\r\n .uk-dropdown {\r\n transform-origin: 100% 50% !important;\r\n }\r\n}\r\n[data-uk-dropdown*=\"right-\"] {\r\n .uk-dropdown {\r\n transform-origin: 0 50% !important;\r\n }\r\n}\r\n[data-uk-dropdown*='justify'] {\r\n position: static !important;\r\n [class*=\"uk-dropdown-width\"] {\r\n left: 0 !important;\r\n width: 100% !important;\r\n min-width: inherit !important;\r\n margin-left: 0 !important;\r\n }\r\n}\r\n.uk-dropdown-active {\r\n display: block !important;\r\n}\r\n.uk-dropdown-shown {\r\n transform: scale(1,1);\r\n opacity: 1;\r\n}\r\n\r\n.uk-nav-dropdown {\r\n > li {\r\n > a {\r\n &:focus,\r\n &:hover {\r\n text-shadow: none;\r\n box-shadow: none;\r\n color: @text_primary_color;\r\n background: @hover_btn;\r\n }\r\n }\r\n }\r\n}\r\n\r\n/* forms */\r\n.uk-form {\r\n input:not([type]),\r\n input[type=color],\r\n input[type=date],\r\n input[type=datetime-local],\r\n input[type=email],\r\n input[type=month],\r\n input[type=number],\r\n input[type=password],\r\n input[type=search],\r\n input[type=tel],\r\n input[type=text],\r\n input[type=time],\r\n input[type=url],\r\n input[type=week],\r\n select,\r\n textarea {\r\n box-sizing: border-box;\r\n padding: 8px;\r\n border: 1px solid @border_color;\r\n transition: border 200ms ease-in;\r\n resize: none;\r\n &:focus {\r\n background: none;\r\n border-color: @primary_color;\r\n }\r\n }\r\n textarea {\r\n transition: border-color 200ms ease-in, height 280ms ease-in;\r\n }\r\n &-row {\r\n transition: all 200ms ease-out;\r\n + .uk-form-row {\r\n margin-top: 24px\r\n }\r\n }\r\n &-stacked {\r\n .uk-form-label {\r\n font-weight: 500;\r\n font-size: 13px;\r\n display: block;\r\n padding-bottom: 8px;\r\n + p {\r\n margin-top: 0;\r\n }\r\n }\r\n }\r\n &-help-block {\r\n display: block;\r\n font-size: 12px;\r\n color: @text_secondary_color;\r\n padding: 4px 0 0 0;\r\n font-style: italic;\r\n }\r\n &-width {\r\n &-large,\r\n &-medium,\r\n &-small,\r\n &-mini {\r\n max-width: 100%;\r\n }\r\n }\r\n}\r\n\r\n/* grid */\r\n.uk-grid + .uk-grid,\r\n.uk-grid-margin,\r\n.uk-grid > * > .uk-panel + .uk-panel {\r\n margin-top: 48px;\r\n}\r\n.uk-grid.uk-grid-small + .uk-grid-small,\r\n.uk-grid.uk-grid-small > * > .uk-panel + .uk-panel,\r\n.uk-grid.uk-grid-small > .uk-grid-margin {\r\n margin-top: 10px;\r\n}\r\n\r\n/* icons */\r\n[class*=\"uk-icon-\"] {\r\n color: @text_secondary_color;\r\n}\r\n\r\n/* navbar */\r\n.uk-navbar {\r\n border-radius: 0;\r\n border: none;\r\n box-sizing: border-box;\r\n &-brand {\r\n line-height: @header_main_height;\r\n display: inline-block;\r\n margin: 0;\r\n text-shadow: none;\r\n color: @white;\r\n }\r\n &-nav {\r\n > li > a {\r\n height: @header_main_height;\r\n text-shadow: none;\r\n font-size: 16px;\r\n border-radius: 0 !important;\r\n line-height: @header_main_height + 4;\r\n border: none !important;\r\n margin: 0;\r\n &:hover,\r\n &:active {\r\n background: none;\r\n }\r\n &.uk-navbar-nav-subtitle {\r\n line-height: @header_main_height - 14;\r\n margin: 0;\r\n > div {\r\n margin-top: -12px;\r\n font-size: 11px;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/* panels */\r\n.uk-panel-box {\r\n border-radius: 2px;\r\n background: @white;\r\n border-color: @border_color;\r\n .uk-panel-teaser {\r\n border-radius: 2px 2px 0 0;\r\n }\r\n}\r\n\r\n/* tables */\r\n.uk-table {\r\n td {\r\n border-bottom-color: @border_color;\r\n }\r\n th {\r\n border-bottom: 1px #444;\r\n }\r\n &-nowrap {\r\n td,\r\n th {\r\n white-space: nowrap;\r\n }\r\n }\r\n &-align-vertical {\r\n td,\r\n th {\r\n vertical-align: middle;\r\n }\r\n }\r\n}\r\n.uk-table-no-border td {\r\n border-bottom-color: transparent;\r\n}\r\n\r\n/* sticky */\r\n.uk-sticky-placeholder {\r\n .uk-active {\r\n z-index: @header_main_zIndex - 10;\r\n }\r\n}\r\n\r\n/* subnav */\r\n.uk-subnav {\r\n &-pill {\r\n > * {\r\n > * {\r\n color: @text_primary_color;\r\n }\r\n }\r\n > .uk-active {\r\n > * {\r\n background: @accent_color;\r\n }\r\n }\r\n }\r\n}\r\n\r\n/* tables */\r\n.uk-table {\r\n thead th {\r\n border-bottom: 2px solid @border_color;\r\n }\r\n thead th,\r\n tfoot td,\r\n tfoot th {\r\n font-style: normal;\r\n font-weight: 400;\r\n color: @text_secondary_color;\r\n font-size: 14px;\r\n }\r\n td {\r\n border-bottom-color: @border_color_hex;\r\n }\r\n tfoot td,\r\n tfoot th {\r\n border-top: 2px solid @border_color;\r\n border-bottom: none;\r\n }\r\n &-striped tbody tr:nth-of-type(odd) {\r\n background: @background_color_default;\r\n }\r\n &-hover tbody tr:hover {\r\n background: @background_color_default;\r\n }\r\n}\r\n\r\n/* thumbnails */\r\n.uk-thumbnail {\r\n border-radius: 0;\r\n border-color: @border_color;\r\n &-caption {\r\n padding: 4px 4px 0;\r\n line-height: 20px;\r\n color: @text_secondary_color;\r\n font-size: 12px;\r\n }\r\n}\r\n\r\n\r\n/* utilities */\r\n.uk-text-small {\r\n font-size: 12px;\r\n}\r\n.uk-text-muted {\r\n color: #757575 !important;\r\n}\r\n.uk-text-primary {\r\n color: @primary_color !important;\r\n}\r\n.uk-text-danger {\r\n color: @danger_color !important;\r\n}\r\n.uk-text-success {\r\n color: @success_color !important;\r\n}\r\n.uk-text-warning {\r\n color: @warning_color !important;\r\n}\r\n.uk-margin {\r\n &-bottom {\r\n margin-bottom: 16px !important;\r\n }\r\n &-small-bottom {\r\n margin-bottom: 8px !important;\r\n }\r\n &-medium-bottom {\r\n margin-bottom: 32px !important;\r\n }\r\n &-large-bottom {\r\n margin-bottom: 48px !important;\r\n }\r\n &-medium-top {\r\n margin-top: 32px !important;\r\n }\r\n &-large-top {\r\n margin-top: 48px !important;\r\n }\r\n &-right {\r\n margin-right: 16px !important;\r\n }\r\n &-medium-right {\r\n margin-right: 32px !important;\r\n }\r\n}\r\n.uk-close {\r\n font-size: 18px;\r\n opacity: 1;\r\n &:hover,\r\n &:focus {\r\n opacity: 1;\r\n }\r\n &:after {\r\n opacity: 1 !important;\r\n color: @text_secondary_color;\r\n content: '\\e5cd';\r\n font-family: \"Material Icons\";\r\n }\r\n}\r\n\r\n/* ------------ Components ------------ */\r\n\r\n/* accordion */\r\n@import (less) \"../../bower_components/uikit/css/components/accordion.almost-flat.css\";\r\n.uk-accordion {\r\n &-title {\r\n background: @hover_btn;\r\n border-radius: 0;\r\n border: none;\r\n margin: 0 0 4px;\r\n font-size: 15px;\r\n font-weight: 400;\r\n padding: 8px 24px 8px 16px;\r\n position: relative;\r\n &:after {\r\n content: '\\e313';\r\n font-family: \"Material Icons\";\r\n font-size: 18px;\r\n position: absolute;\r\n top: 8px;\r\n right: 8px;\r\n display: block;\r\n color: @text_secondary_color;\r\n transition: transform 280ms;\r\n }\r\n &.uk-active {\r\n &:after {\r\n transform: rotate(-180deg);\r\n }\r\n }\r\n &-primary {\r\n background: @primary_color;\r\n color: @white;\r\n &:after {\r\n color: @white;\r\n }\r\n }\r\n &-danger {\r\n background: @danger_color;\r\n color: @white;\r\n &:after {\r\n color: @white;\r\n }\r\n }\r\n &-success {\r\n background: @success_color;\r\n color: @white;\r\n &:after {\r\n color: @white;\r\n }\r\n }\r\n &-warning {\r\n background: @warning_color;\r\n color: @white;\r\n &:after {\r\n color: @white;\r\n }\r\n }\r\n }\r\n &-content {\r\n padding: 16px;\r\n }\r\n &-alt {\r\n .uk-accordion-title {\r\n background: @white;\r\n margin: 0;\r\n padding: 16px 24px 16px 48px;\r\n border-top: 1px solid @border_color;\r\n &:first-child {\r\n border-top: none;\r\n }\r\n &:after {\r\n color: @theme_primary_color;\r\n content: '\\e145';\r\n right: auto;\r\n left: 16px;\r\n top: 16px;\r\n }\r\n &.uk-active {\r\n &:after {\r\n transform: rotate(-180deg);\r\n content: '\\e15b';\r\n }\r\n }\r\n }\r\n .uk-accordion-content {\r\n padding: 24px;\r\n }\r\n }\r\n}\r\n\r\n/* dotnav */\r\n@import (less) \"../../bower_components/uikit/css/components/dotnav.css\";\r\n\r\n/* autocomplete, timepicker */\r\n.uk-autocomplete {\r\n .uk-dropdown {\r\n display: block;\r\n max-height: 0;\r\n padding: 0;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n border-radius: 0;\r\n border: none;\r\n transform: scale(0.25,0);\r\n opacity: 0;\r\n transition: all 280ms @md_easing;\r\n animation: none !important;\r\n transform-origin: 0 0;\r\n }\r\n &.uk-open {\r\n .uk-dropdown {\r\n transform: scale(1);\r\n opacity: 1;\r\n max-height: 210px;\r\n }\r\n }\r\n}\r\n[data-uk-autocomplete] {\r\n .uk-dropdown {\r\n width: 100%;\r\n box-sizing: border-box;\r\n .uk-nav {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\n/* slideshow */\r\n@import (less) \"../../bower_components/uikit/css/components/slideshow.almost-flat.css\";\r\n\r\n/* slider */\r\n@import (less) \"../../bower_components/uikit/css/components/slider.almost-flat.css\";\r\n\r\n.uk-slider-container {\r\n padding: 8px 0;\r\n}\r\n\r\n/* slidenav */\r\n@import (less) \"../../bower_components/uikit/css/components/slidenav.almost-flat.css\";\r\n\r\n/* tooltips */\r\n@import (less) \"../../bower_components/uikit/css/components/tooltip.almost-flat.css\";\r\n\r\n.uk-tooltip {\r\n background: @md-color-grey-800;\r\n color: @white;\r\n font-size: 13px;\r\n padding: 3px 16px;\r\n line-height: 22px;\r\n text-shadow: none;\r\n min-width: 80px;\r\n text-align: center;\r\n z-index: @header_main_zIndex + 200;\r\n opacity: 0;\r\n .uk-tooltip-inner {\r\n .truncate_line;\r\n }\r\n &:after {\r\n display: none !important;\r\n }\r\n &.long-text {\r\n text-align: left;\r\n .uk-tooltip-inner {\r\n white-space: normal;\r\n overflow: visible;\r\n line-height: 18px;\r\n padding: 4px 0;\r\n }\r\n }\r\n &-small {\r\n transform: scale(0.85);\r\n }\r\n}\r\n\r\n/* tabs */\r\n.uk-tab {\r\n border-bottom-color: @border_color;\r\n .uk-sticky-placeholder & {\r\n background: @white;\r\n padding-top: 8px;\r\n }\r\n > li {\r\n margin-bottom: 0;\r\n margin-top: 0 ;\r\n // fix for animation ghost overlay (webkit)\r\n z-index: 1;\r\n > a {\r\n font-size: 13px;\r\n text-transform: uppercase;\r\n color: @text_primary_color;\r\n border: none;\r\n border-bottom: 2px solid transparent;\r\n border-radius: 0 !important;\r\n font-weight: 500;\r\n min-width: 100px;\r\n max-width: 100%;\r\n text-align: center;\r\n transition: all 220ms @md_easing;\r\n padding: 8px !important;\r\n margin: 0 !important;\r\n box-sizing: border-box;\r\n position: relative;\r\n top: 1px;\r\n text-shadow: none;\r\n &:hover,\r\n &:focus {\r\n background: none;\r\n color: @text_primary_color;\r\n border-bottom-color: lighten(@theme_primary_color,30%);\r\n }\r\n }\r\n &.uk-active {\r\n > a {\r\n background: transparent !important;\r\n border-bottom-color: @theme_primary_color;\r\n }\r\n }\r\n &.uk-disabled {\r\n > a {\r\n &,\r\n &:hover,\r\n &:focus {\r\n color: @text_muted;\r\n }\r\n }\r\n }\r\n }\r\n &-bottom {\r\n li {\r\n margin-top: 0;\r\n > a {\r\n border-top: 2px solid transparent;\r\n border-bottom: none;\r\n top: auto;\r\n bottom: 1px;\r\n &:hover,\r\n &:focus {\r\n border-top-color: lighten(@theme_primary_color,30%);\r\n }\r\n }\r\n &.uk-active {\r\n > a {\r\n border-top-color: @theme_primary_color;\r\n }\r\n }\r\n }\r\n }\r\n &-left {\r\n border-bottom: none;\r\n li {\r\n > a {\r\n border-right: 2px solid transparent;\r\n border-bottom: none;\r\n text-align: right;\r\n top: auto;\r\n bottom: auto;\r\n &:hover,\r\n &:focus {\r\n border-right-color: lighten(@theme_primary_color,30%);\r\n }\r\n }\r\n &.uk-active {\r\n > a {\r\n border-right-color: @theme_primary_color;\r\n }\r\n }\r\n }\r\n }\r\n &-right {\r\n border-bottom: none;\r\n li {\r\n > a {\r\n border-left: 2px solid transparent;\r\n border-bottom: none;\r\n text-align: left;\r\n top: auto;\r\n bottom: auto;\r\n &:hover,\r\n &:focus {\r\n border-left-color: lighten(@theme_primary_color,30%);\r\n }\r\n }\r\n &.uk-active {\r\n > a {\r\n border-left-color: @theme_primary_color;\r\n }\r\n }\r\n }\r\n }\r\n &-responsive {\r\n li a {\r\n border: none !important;\r\n\r\n }\r\n > a {\r\n &:before {\r\n content: '\\e5d2';\r\n font-family: \"Material Icons\";\r\n color: @text_secondary_color;\r\n margin-right: 8px;\r\n vertical-align: -4px;\r\n font-size: 18px;\r\n }\r\n }\r\n }\r\n &-icons {\r\n > li {\r\n > a {\r\n min-width: 64px;\r\n > .material-icons {\r\n font-size: 24px;\r\n }\r\n }\r\n }\r\n }\r\n &-double-header {\r\n margin: 10px 24px 0 !important;\r\n > li {\r\n > a {\r\n color: @white;\r\n border-bottom: 4px solid transparent;\r\n &:hover,\r\n &:focus {\r\n color: @white;\r\n border-bottom-color: lighten(@theme_primary_color,5%);\r\n }\r\n }\r\n &.uk-active {\r\n > a {\r\n color: @white;\r\n border-bottom-color: @accent_color;\r\n }\r\n }\r\n &.uk-tab-responsive {\r\n > a {\r\n border-bottom: none;\r\n padding-bottom: 5px !important;\r\n &:before {\r\n color: @white;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n &-large {\r\n > li {\r\n margin-bottom: 0;\r\n margin-top: 0 ;\r\n // fix for animation ghost overlay (webkit)\r\n z-index: 1;\r\n > a {\r\n font-size: 16px;\r\n padding: 12px 24px !important;\r\n }\r\n }\r\n }\r\n}\r\n\r\n/* text truncate */\r\n.uk-text-truncate {\r\n display: block;\r\n}\r\n\r\n.uk-switcher {\r\n overflow: hidden;\r\n > li {\r\n padding: 8px 4px;\r\n }\r\n}\r\n\r\n/*\r\n* add extra Uikit grid sizes\r\n*\r\n* usage:\r\n* set custom breakpoint (1480px) and name (\"xlarge-x\")\r\n* @media (min-width: 1480px) {\r\n* .add-grid-sizes(xlarge-x);\r\n* }\r\n*/\r\n\r\n.add-grid-sizes(@size) {\r\n\r\n /* Whole */\r\n .uk-width-@{size}-1-1,\r\n .uk-grid-width-@{size}-1-1 > * {\r\n width: 100%;\r\n }\r\n\r\n /* Halves */\r\n .uk-width-@{size}-1-2,\r\n .uk-width-@{size}-2-4,\r\n .uk-width-@{size}-3-6,\r\n .uk-width-@{size}-5-10,\r\n .uk-grid-width-@{size}-1-2 > *,\r\n .uk-grid-width-@{size}-2-4 > *,\r\n .uk-grid-width-@{size}-3-6 > *,\r\n .uk-grid-width-@{size}-5-10 > * {\r\n width: 50%;\r\n }\r\n\r\n /* Thirds */\r\n .uk-width-@{size}-1-3,\r\n .uk-width-@{size}-2-6,\r\n .uk-grid-width-@{size}-1-3 > *,\r\n .uk-grid-width-@{size}-2-6 > * {\r\n width: 33.333%;\r\n }\r\n\r\n .uk-width-@{size}-2-3,\r\n .uk-width-@{size}-4-6,\r\n .uk-grid-width-@{size}-2-3 > *,\r\n .uk-grid-width-@{size}-4-6 > * {\r\n width: 66.666%;\r\n }\r\n\r\n /* Quarters */\r\n .uk-width-@{size}-1-4,\r\n .uk-grid-width-@{size}-1-4 > * {\r\n width: 25%;\r\n }\r\n\r\n .uk-width-@{size}-3-4,\r\n .uk-grid-width-@{size}-3-4 > * {\r\n width: 75%;\r\n }\r\n\r\n /* Fifths */\r\n .uk-width-@{size}-1-5,\r\n .uk-width-@{size}-2-10,\r\n .uk-grid-width-@{size}-1-5 > *,\r\n .uk-grid-width-@{size}-2-10 > * {\r\n width: 20%;\r\n }\r\n\r\n .uk-width-@{size}-2-5,\r\n .uk-width-@{size}-4-10,\r\n .uk-grid-width-@{size}-2-5 > *,\r\n .uk-grid-width-@{size}-4-10 > * {\r\n width: 40%;\r\n }\r\n\r\n .uk-width-@{size}-3-5,\r\n .uk-width-@{size}-6-10,\r\n .uk-grid-width-@{size}-3-5 > *,\r\n .uk-grid-width-@{size}-6-10 > * {\r\n width: 60%;\r\n }\r\n\r\n .uk-width-@{size}-4-5,\r\n .uk-width-@{size}-8-10,\r\n .uk-grid-width-@{size}-4-5 > *,\r\n .uk-grid-width-@{size}-8-10 > * {\r\n width: 80%;\r\n }\r\n\r\n /* Sixths */\r\n .uk-width-@{size}-1-6,\r\n .uk-grid-width-@{size}-1-6 > * {\r\n width: 16.666%;\r\n }\r\n\r\n .uk-width-@{size}-5-6,\r\n .uk-grid-width-@{size}-5-6 > * {\r\n width: 83.333%;\r\n }\r\n\r\n /* Tenths */\r\n .uk-width-@{size}-1-10,\r\n .uk-grid-width-@{size}-1-10 > * {\r\n width: 10%;\r\n }\r\n\r\n .uk-width-@{size}-3-10,\r\n .uk-grid-width-@{size}-3-10 > * {\r\n width: 30%;\r\n }\r\n\r\n .uk-width-@{size}-7-10,\r\n .uk-grid-width-@{size}-7-10 > * {\r\n width: 70%;\r\n }\r\n\r\n .uk-width-@{size}-9-10,\r\n .uk-grid-width-@{size}-9-10 > * {\r\n width: 90%;\r\n }\r\n}\r\n\r\n@media (min-width: 1480px) {\r\n .add-grid-sizes(xLarge);\r\n}\r\n\r\n/* ie9 fixes */\r\n.lte-ie9 {\r\n *[class*=\"uk-animation-\"] {\r\n opacity: 1 !important\r\n }\r\n}","// shadows\r\n.boxShadowHelper(@level: 1){\r\n & when (@level = 0) {\r\n box-shadow: none !important;\r\n }\r\n & when (@level = 1) {\r\n box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);\r\n }\r\n & when (@level = 2) {\r\n box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);\r\n }\r\n & when (@level = 3) {\r\n box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);\r\n }\r\n & when (@level = 4) {\r\n box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);\r\n }\r\n & when (@level = 5) {\r\n box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22);\r\n }\r\n}\r\n\r\n.md-box-shadow-left() {\r\n box-shadow: -2px 2px 5px rgba(0,0,0,.26);\r\n}\r\n.md-box-shadow-right() {\r\n box-shadow: 2px 2px 5px rgba(0,0,0,.26);\r\n}\r\n.md-box-shadow-medium-right() {\r\n box-shadow: 4px 0 8px rgba(0,0,0,.26);\r\n}\r\n\r\n/* bg colors */\r\n.md-bg-cyan {\r\n background-color: @md-color-cyan-600 !important;\r\n color: @white;\r\n}\r\n.md-bg-light-green {\r\n background-color: @md-color-light-green-600 !important;\r\n color: @white;\r\n}\r\n.md-bg-grey {\r\n background-color: @md-color-grey-700 !important;\r\n color: @white;\r\n}\r\n.md-bg-red {\r\n background-color: @md-color-red-700 !important;\r\n color: @white;\r\n}\r\n.md-bg-light-blue {\r\n background-color: @md-color-light-blue-700 !important;\r\n color: @white;\r\n}\r\n.md-bg-teal {\r\n background-color: @md-color-teal-600 !important;\r\n color: @white;\r\n}\r\n.md-bg-purple {\r\n background-color: @md-color-purple-600 !important;\r\n color: @white;\r\n}","// colors\r\n@text_primary_color:\t\t\t#212121;\r\n@text_secondary_color:\t\t\t#727272;\r\n@text_muted: #aaa;\r\n@site_background: #fff;\r\n\r\n@border_color: rgba(0,0,0,0.12);\r\n@border_color_hex: #e0e0e0;\r\n@border_color_light: rgba(0,0,0,0.08);\r\n@background_color_default: rgba(0,0,0,0.085);\r\n@background_color_default_hex: #ededed;\r\n@hover_bg: #f5f5f5;\r\n\r\n@white: #fff;\r\n\r\n@danger_color: @md-color-red-600;\r\n@primary_color: @md-color-blue-500;\r\n@primary_color_dark: @md-color-blue-700;\r\n@success_color: @md-color-light-green-600;\r\n@warning_color: @md-color-amber-700;\r\n@muted_color: @md-color-grey-400;\r\n\r\n// theme\r\n@theme_primary_color: @md-color-blue-500;\r\n@theme_light_color: @md-color-blue-50;\r\n@theme_dark_color: @md-color-blue-700;\r\n@accent_color: @md-color-light-green-600;\r\n\r\n/* md buttons */\r\n@hover_btn: rgba(153,153,153,0.2);\r\n@active_btn: rgba(153,153,153,0.4);\r\n\r\n// input colors\r\n@input_on_color: @md-color-teal-500;\r\n@input_off_color: rgba(0,0,0,.54);\r\n@input_disabled_color: rgba(0,0,0,.26);\r\n@input_disabled_color_hex: #bdbdbd;\r\n\r\n// swiftOut easing\r\n@md_easing: cubic-bezier(0.4,0,0.2,1);\r\n\r\n// main header\r\n@header_main_height: 64px;\r\n@header_main_mobile_height: 48px;\r\n@header_main_height_double: (@header_main_height*2)+10;\r\n@header_main_zIndex: 1104;\r\n\r\n// top bar\r\n@top_bar_height: 40px;\r\n\r\n// main sidebar\r\n@sidebar_main_width: 240px;\r\n@sidebar_main_width_mini: 60px;\r\n\r\n// secondary sidebar\r\n@sidebar_secondary_width: 280px;\r\n\r\n// media queries\r\n@screen_xlarge: ~\"only screen and (min-width: 1220px)\";\r\n@screen_large: ~\"only screen and (min-width: 960px)\";\r\n@screen_medium: ~\"only screen and (min-width: 768px)\";\r\n@screen_small: ~\"only screen and (min-width: 480px)\";\r\n\r\n@screen_xlarge_max: ~\"only screen and (max-width: 1219px)\";\r\n@screen_large_max: ~\"only screen and (max-width: 959px)\";\r\n@screen_medium_max: ~\"only screen and (max-width: 767px)\";\r\n@screen_small_max: ~\"only screen and (max-width: 479px)\";\r\n\r\n// box-sizing: border-box (this and all childrens)\r\n.border-box() {\r\n &,\r\n &:before,\r\n &:after,\r\n *,\r\n *:before,\r\n *:after {\r\n box-sizing: border-box;\r\n }\r\n}\r\n\r\n// Retina background-image support with non-retina fall back\r\n.retina_image(@file-1x, @file-2x, @width-1x, @height-1x) {\r\n background-image: url(\"@{file-1x}\");\r\n background-repeat: no-repeat;\r\n @media only screen and (-webkit-min-device-pixel-ratio: 2),\r\n only screen and ( min--moz-device-pixel-ratio: 2),\r\n only screen and ( -o-min-device-pixel-ratio: 2/1),\r\n only screen and ( min-device-pixel-ratio: 2),\r\n only screen and ( min-resolution: 192dppx),\r\n only screen and ( min-resolution: 2dppx) {\r\n background-image: url(\"@{file-2x}\");\r\n background-size: @width-1x @height-1x;\r\n }\r\n}\r\n\r\n// remove default styles for ordered/unordered list\r\n.reset_list(@margin: 0, @padding: 0) {\r\n margin: @margin;\r\n padding: @padding;\r\n list-style: none;\r\n > li {\r\n padding: 0;\r\n margin: 0;\r\n list-style: none;\r\n }\r\n}\r\n\r\n// clearfix\r\n.clearfix() {\r\n &:before,\r\n &:after {\r\n content: \" \";\r\n display: table;\r\n }\r\n &:after {\r\n clear: both;\r\n }\r\n}\r\n\r\n// custom fonts\r\n.md_font(@weight: 400, @size: 14px, @height: 20px) {\r\n font: @weight @size e('/') @height \"Roboto\", sans-serif;\r\n}\r\n.code_font(@weight: 400, @size: 14px, @height: 18px) {\r\n font: @weight @size e('/') @height \"Source Code Pro\",Consolas, Monaco, 'Andale Mono', monospace !important;\r\n}\r\n\r\n.md_font_family() {\r\n font-family: \"Roboto\", sans-serif;\r\n}\r\n\r\n// text truncate\r\n.truncate_line(@width: 100%) {\r\n text-overflow: ellipsis;\r\n display: inline-block;\r\n vertical-align: top;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n width: @width;\r\n}","/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Accordion\n ========================================================================== */\n/* Sub-object: `uk-accordion-title`\n ========================================================================== */\n.uk-accordion-title {\n margin-top: 0;\n margin-bottom: 15px;\n padding: 5px 15px;\n background: #f5f5f5;\n font-size: 18px;\n line-height: 24px;\n cursor: pointer;\n border: 1px solid #ddd;\n border-radius: 4px;\n}\n/* Sub-object: `uk-accordion-content`\n ========================================================================== */\n.uk-accordion-content {\n padding: 0 15px 15px 15px;\n}\n/*\n * Micro clearfix to make panels more robust\n */\n.uk-accordion-content:before,\n.uk-accordion-content:after {\n content: \"\";\n display: table;\n}\n.uk-accordion-content:after {\n clear: both;\n}\n/*\n * Remove margin from the last-child\n */\n.uk-accordion-content > :last-child {\n margin-bottom: 0;\n}\n","/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Dotnav\n ========================================================================== */\n/*\n * 1. Gutter\n * 2. Remove default list style\n */\n.uk-dotnav {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -ms-flex-wrap: wrap;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n /* 1 */\n margin-left: -15px;\n margin-top: -15px;\n /* 2 */\n padding: 0;\n list-style: none;\n}\n/*\n * 1. Space is allocated solely based on content dimensions\n * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied\n */\n.uk-dotnav > * {\n /* 1 */\n -ms-flex: none;\n -webkit-flex: none;\n flex: none;\n /* 2 */\n padding-left: 15px;\n margin-top: 15px;\n}\n/*\n * DEPRECATED IE9 Support\n */\n.uk-dotnav:before,\n.uk-dotnav:after {\n content: \"\";\n display: block;\n overflow: hidden;\n}\n.uk-dotnav:after {\n clear: both;\n}\n.uk-dotnav > * {\n float: left;\n}\n/* Items\n ========================================================================== */\n/*\n * Items\n * 1. Hide text if present\n */\n.uk-dotnav > * > * {\n display: block;\n box-sizing: content-box;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: rgba(50, 50, 50, 0.1);\n /* 1 */\n text-indent: 100%;\n overflow: hidden;\n white-space: nowrap;\n}\n/*\n * Hover\n * 1. Apply hover style also to focus state\n * 2. Remove default focus style\n */\n.uk-dotnav > * > :hover,\n.uk-dotnav > * > :focus {\n background: rgba(50, 50, 50, 0.4);\n /* 2 */\n outline: none;\n}\n/* OnClick */\n.uk-dotnav > * > :active {\n background: rgba(50, 50, 50, 0.6);\n}\n/* Active */\n.uk-dotnav > .uk-active > * {\n background: rgba(50, 50, 50, 0.4);\n}\n/* Modifier: `uk-dotnav-contrast`\n ========================================================================== */\n.uk-dotnav-contrast > * > * {\n background: rgba(255, 255, 255, 0.4);\n}\n/*\n * Hover\n * 1. Apply hover style also to focus state\n */\n.uk-dotnav-contrast > * > :hover,\n.uk-dotnav-contrast > * > :focus {\n background: rgba(255, 255, 255, 0.7);\n}\n/* OnClick */\n.uk-dotnav-contrast > * > :active {\n background: rgba(255, 255, 255, 0.9);\n}\n/* Active */\n.uk-dotnav-contrast > .uk-active > * {\n background: rgba(255, 255, 255, 0.9);\n}\n/* Modifier: 'uk-dotnav-vertical'\n ========================================================================== */\n/*\n * DEPRECATED\n */\n.uk-dotnav-vertical {\n -ms-flex-direction: column;\n -webkit-flex-direction: column;\n flex-direction: column;\n}\n/*\n * DEPRECATED IE9 Support\n */\n.uk-dotnav-vertical > * {\n float: none;\n}\n","/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Slideshow\n ========================================================================== */\n/*\n * 1. Create position context\n * 2. Create stacking context to prevent z-index issues with other components\n * 3. Set width because child elements are positioned absolute. Height is set via JS\n * 4. Reset list style\n * 5. Clip child elements\n * 6. Deactivate browser history navigation in IE11\n */\n.uk-slideshow {\n /* 1 */\n position: relative;\n /* 2 */\n z-index: 0;\n /* 3 */\n width: 100%;\n /* 4 */\n margin: 0;\n padding: 0;\n list-style: none;\n /* 5 */\n overflow: hidden;\n /* 6 */\n touch-action: pan-y;\n}\n/*\n * Sub-object item\n * 1. Position items above each other\n * 2. Expand to parent container width\n * 3. Hide by default\n */\n.uk-slideshow > li {\n /* 1 */\n position: absolute;\n top: 0;\n left: 0;\n /* 2 */\n width: 100%;\n /* 3 */\n opacity: 0;\n}\n/*\n * Active\n * 1. Stack at first\n * 2. Show slide\n */\n.uk-slideshow > .uk-active {\n /* 1 */\n z-index: 10;\n /* 2 */\n opacity: 1;\n}\n/*\n * Hide default images which is only relevant to keep existing proportions\n */\n.uk-slideshow > li > img {\n visibility: hidden;\n}\n/*\n * Pointer for controls\n */\n[data-uk-slideshow-slide] {\n cursor: pointer;\n}\n/* Modifier: `uk-slideshow-fullscreen`\n ========================================================================== */\n.uk-slideshow-fullscreen,\n.uk-slideshow-fullscreen > li {\n height: 100vh;\n}\n/* Animations\n ========================================================================== */\n/*\n * Fade\n */\n.uk-slideshow-fade-in {\n -webkit-animation: uk-fade 0.5s linear;\n animation: uk-fade 0.5s linear;\n}\n.uk-slideshow-fade-out {\n -webkit-animation: uk-fade 0.5s linear reverse;\n animation: uk-fade 0.5s linear reverse;\n}\n/*\n * Scroll\n */\n.uk-slideshow-scroll-forward-in {\n -webkit-animation: uk-slide-right 0.5s ease-in-out;\n animation: uk-slide-right 0.5s ease-in-out;\n}\n.uk-slideshow-scroll-forward-out {\n -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;\n animation: uk-slide-left 0.5s ease-in-out reverse;\n}\n.uk-slideshow-scroll-backward-in {\n -webkit-animation: uk-slide-left 0.5s ease-in-out;\n animation: uk-slide-left 0.5s ease-in-out;\n}\n.uk-slideshow-scroll-backward-out {\n -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;\n animation: uk-slide-right 0.5s ease-in-out reverse;\n}\n/*\n * Scale\n */\n.uk-slideshow-scale-out {\n -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse;\n animation: uk-fade-scale-15 0.5s ease-in-out reverse;\n}\n/*\n * Swipe\n */\n.uk-slideshow-swipe-forward-in {\n -webkit-animation: uk-slide-left-33 0.5s ease-in-out;\n animation: uk-slide-left-33 0.5s ease-in-out;\n}\n.uk-slideshow-swipe-forward-out {\n -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;\n animation: uk-slide-left 0.5s ease-in-out reverse;\n}\n.uk-slideshow-swipe-backward-in {\n -webkit-animation: uk-slide-right-33 0.5s ease-in-out;\n animation: uk-slide-right-33 0.5s ease-in-out;\n}\n.uk-slideshow-swipe-backward-out {\n -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;\n animation: uk-slide-right 0.5s ease-in-out reverse;\n}\n.uk-slideshow-swipe-forward-in:before,\n.uk-slideshow-swipe-backward-in:before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n background: rgba(0, 0, 0, 0.6);\n -webkit-animation: uk-fade 0.5s ease-in-out reverse;\n animation: uk-fade 0.5s ease-in-out reverse;\n}\n","/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Slider\n ========================================================================== */\n/*\n * RTL Compatibility\n */\n[data-uk-slider] {\n direction: ltr;\n}\nhtml[dir=\"rtl\"] .uk-slider > * {\n direction: rtl;\n}\n/*\n * 1. Create position context\n * 2. Create stacking context to prevent z-index issues with other components\n * 3. Deactivate browser history navigation in IE11\n */\n.uk-slider {\n /* 1 */\n position: relative;\n /* 2 */\n z-index: 0;\n /* 3 */\n touch-action: pan-y;\n}\n/*\n * 1. Reset list style without interfering with grid\n */\n.uk-slider:not(.uk-grid) {\n /* 1 */\n margin: 0;\n padding: 0;\n list-style: none;\n}\n/*\n * Sub-object item\n * 1. Position items above each other\n */\n.uk-slider > * {\n /* 1 */\n position: absolute;\n top: 0;\n left: 0;\n}\n/*\n * Clip child elements\n */\n.uk-slider-container {\n overflow: hidden;\n}\n/*\n * Dragged\n */\n.uk-slider:not(.uk-drag) {\n -webkit-transition: -webkit-transform 200ms linear;\n transition: transform 200ms linear;\n}\n/*\n * 1. Makes text unselectable\n */\n.uk-slider.uk-drag {\n cursor: col-resize;\n /* 1 */\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n/*\n * 1. Prevents images and links from being dragged (default browser behavior)\n * 2. Disables the default callout shown when you touch and hold a touch target\n * Currently only works in Webkit\n */\n.uk-slider a,\n.uk-slider img {\n /* 1 */\n -webkit-user-drag: none;\n user-drag: none;\n /* 2 */\n -webkit-touch-callout: none;\n}\n/*\n * 1. Prevents images and links from being dragged in Firefox\n */\n.uk-slider img {\n pointer-events: none;\n}\n/* Modifier: `uk-slider-fullscreen`\n ========================================================================== */\n.uk-slider-fullscreen,\n.uk-slider-fullscreen > li {\n height: 100vh;\n}\n","/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Slidenav\n ========================================================================== */\n/*\n * 1. Required for `a` elements\n * 2. Dimension\n * 3. Style\n */\n.uk-slidenav {\n /* 1 */\n display: inline-block;\n /* 2 */\n box-sizing: border-box;\n width: 60px;\n height: 60px;\n /* 3 */\n line-height: 60px;\n color: rgba(50, 50, 50, 0.4);\n font-size: 60px;\n text-align: center;\n}\n/*\n * Hover\n * 1. Apply hover style also to focus state\n * 2. Remove default focus style\n * 3. Required for `a` elements\n * 4. Style\n */\n.uk-slidenav:hover,\n.uk-slidenav:focus {\n /* 2 */\n outline: none;\n /* 3 */\n text-decoration: none;\n /* 4 */\n color: rgba(50, 50, 50, 0.7);\n cursor: pointer;\n}\n/* Active */\n.uk-slidenav:active {\n color: rgba(50, 50, 50, 0.9);\n}\n/*\n * Icons\n */\n.uk-slidenav-previous:before {\n content: \"\\f104\";\n font-family: FontAwesome;\n}\n.uk-slidenav-next:before {\n content: \"\\f105\";\n font-family: FontAwesome;\n}\n/* Sub-object: `uk-slidenav-position`\n ========================================================================== */\n/*\n * Create position context\n */\n.uk-slidenav-position {\n position: relative;\n}\n/*\n * Center vertically\n */\n.uk-slidenav-position .uk-slidenav {\n display: none;\n position: absolute;\n top: 50%;\n z-index: 1;\n margin-top: -30px;\n}\n.uk-slidenav-position:hover .uk-slidenav {\n display: block;\n}\n.uk-slidenav-position .uk-slidenav-previous {\n left: 20px;\n}\n.uk-slidenav-position .uk-slidenav-next {\n right: 20px;\n}\n/* Modifier: `uk-slidenav-contrast`\n ========================================================================== */\n.uk-slidenav-contrast {\n color: rgba(255, 255, 255, 0.5);\n}\n/*\n * Hover\n * 1. Apply hover style also to focus state\n */\n.uk-slidenav-contrast:hover,\n.uk-slidenav-contrast:focus {\n color: rgba(255, 255, 255, 0.7);\n}\n/* Active */\n.uk-slidenav-contrast:active {\n color: rgba(255, 255, 255, 0.9);\n}\n","/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Tooltip\n ========================================================================== */\n/*\n * 1. Hide by default\n * 2. Set fixed position\n * 3. Set dimensions\n * 4. Set style\n */\n.uk-tooltip {\n /* 1 */\n display: none;\n /* 2 */\n position: absolute;\n z-index: 1030;\n /* 3 */\n box-sizing: border-box;\n max-width: 200px;\n padding: 5px 8px;\n /* 4 */\n background: #333;\n color: rgba(255, 255, 255, 0.7);\n font-size: 12px;\n line-height: 18px;\n border-radius: 3px;\n text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);\n}\n/* Triangle\n ========================================================================== */\n/*\n * 1. Dashed is less antialised than solid\n */\n.uk-tooltip:after {\n content: \"\";\n display: block;\n position: absolute;\n width: 0;\n height: 0;\n /* 1 */\n border: 5px dashed #333;\n}\n/* Direction modifiers\n ========================================================================== */\n/*\n * Top\n */\n.uk-tooltip-top:after,\n.uk-tooltip-top-left:after,\n.uk-tooltip-top-right:after {\n bottom: -5px;\n border-top-style: solid;\n border-bottom: none;\n border-left-color: transparent;\n border-right-color: transparent;\n border-top-color: #333;\n}\n/*\n * Bottom\n */\n.uk-tooltip-bottom:after,\n.uk-tooltip-bottom-left:after,\n.uk-tooltip-bottom-right:after {\n top: -5px;\n border-bottom-style: solid;\n border-top: none;\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: #333;\n}\n/*\n * Top/Bottom center\n */\n.uk-tooltip-top:after,\n.uk-tooltip-bottom:after {\n left: 50%;\n margin-left: -5px;\n}\n/*\n * Top/Bottom left\n */\n.uk-tooltip-top-left:after,\n.uk-tooltip-bottom-left:after {\n left: 10px;\n}\n/*\n * Top/Bottom right\n */\n.uk-tooltip-top-right:after,\n.uk-tooltip-bottom-right:after {\n right: 10px;\n}\n/*\n * Left\n */\n.uk-tooltip-left:after {\n right: -5px;\n top: 50%;\n margin-top: -5px;\n border-left-style: solid;\n border-right: none;\n border-top-color: transparent;\n border-bottom-color: transparent;\n border-left-color: #333;\n}\n/*\n * Right\n */\n.uk-tooltip-right:after {\n left: -5px;\n top: 50%;\n margin-top: -5px;\n border-right-style: solid;\n border-left: none;\n border-top-color: transparent;\n border-bottom-color: transparent;\n border-right-color: #333;\n}\n","/* cards */\r\n.md-card {\r\n background: @white;\r\n position: relative;\r\n .boxShadowHelper(1);\r\n border: none;\r\n & + &,\r\n & + .uk-grid,\r\n .uk-grid + & {\r\n margin-top: 25px;\r\n }\r\n .full_width_in_card {\r\n padding: 16px 24px;\r\n background: @background_color_default;\r\n }\r\n .md-card-toolbar {\r\n height: @header_main_height;\r\n //position: relative;\r\n //z-index: 11;\r\n padding: 0 16px;\r\n border-bottom: 1px solid @border_color;\r\n background: @white;\r\n .clearfix();\r\n &-heading-text {\r\n .md_font(500,14px,50px);\r\n color: @text_primary_color;\r\n margin: 0;\r\n float: left;\r\n overflow: hidden;\r\n height: 48px;\r\n &.large {\r\n font-size: 18px;\r\n font-weight: 400;\r\n }\r\n }\r\n .md-toggle-group {\r\n float: left;\r\n margin: 8px 0 0 16px;\r\n &.md-toggle-group-small {\r\n margin-top: 10px;\r\n }\r\n }\r\n .md-card-toolbar-actions {\r\n float: right;\r\n padding-top: 10px;\r\n .uk-open {\r\n .md-card-toolbar-icon {\r\n background: @background_color_default;\r\n color: @text_primary_color;\r\n }\r\n }\r\n .md-card-dropdown {\r\n display: inline-block;\r\n position: relative;\r\n }\r\n .selectize-control {\r\n min-width: 220px;\r\n margin-top: -3px;\r\n .selectize-input {\r\n min-height: 30px;\r\n padding: 4px 8px;\r\n }\r\n .selectize-dropdown {\r\n margin-top: -34px;\r\n }\r\n }\r\n }\r\n .md-icon {\r\n + .md-card-dropdown {\r\n margin-left: 4px;\r\n }\r\n }\r\n .md-card-fullscreen-deactivate {\r\n margin: 9px 8px 0 0;\r\n }\r\n &-input {\r\n border: none;\r\n .md_font(400,18px,24px);\r\n height: auto;\r\n background: none !important;\r\n padding: 12px 0;\r\n width: 50%;\r\n box-sizing: border-box;\r\n }\r\n .uk-tab {\r\n margin-top: -2px;\r\n border-bottom: none;\r\n li > a {\r\n padding: 10px 8px !important;\r\n }\r\n }\r\n }\r\n .md-card-head {\r\n height: 160px;\r\n position: relative;\r\n border-bottom: 1px solid @border_color;\r\n &-menu {\r\n position: absolute;\r\n right: 8px;\r\n top: 8px;\r\n }\r\n &-avatar {\r\n width: 82px;\r\n height: 82px;\r\n border-radius: 50%;\r\n margin-top: 16px;\r\n border: 2px solid @white;\r\n display: inline-block;\r\n }\r\n &-text {\r\n padding: 8px 16px 16px;\r\n .md_font(500,16px,22px);\r\n color: @text_primary_color;\r\n margin: 0;\r\n span {\r\n display: block;\r\n .md_font(400,12px,18px);\r\n margin-top: -2px;\r\n }\r\n &.text_dark {\r\n color: @text_primary_color !important;\r\n }\r\n &-over {\r\n background-image: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);\r\n }\r\n }\r\n &-subtext {\r\n position: absolute;\r\n bottom: 10px;\r\n left: 0;\r\n right: 0;\r\n padding: 0 16px;\r\n text-align: right;\r\n color: @white;\r\n span {\r\n font-size: 26px;\r\n }\r\n }\r\n &-icon {\r\n font-size: 48px;\r\n color: @white;\r\n vertical-align: middle;\r\n }\r\n &.head_background {\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n background-size: cover;\r\n border-bottom-color: transparent;\r\n .md-card-head-text {\r\n color: @white;\r\n }\r\n &_top {\r\n background-repeat: no-repeat;\r\n background-position: center top;\r\n }\r\n &_bottom {\r\n background-repeat: no-repeat;\r\n background-position: center bottom;\r\n }\r\n }\r\n .head_chart {\r\n height: 100px;\r\n width: 100%;\r\n position: absolute !important;\r\n left: 0;\r\n top: 40px;\r\n }\r\n .fitVid_player {\r\n width: 100%;\r\n height: 160px;\r\n overflow: hidden;\r\n }\r\n &-img {\r\n height: 100%;\r\n width: auto;\r\n }\r\n iframe {\r\n height: 160px;\r\n }\r\n }\r\n .md-card-content {\r\n padding: 16px;\r\n &.padding-reset {\r\n padding: 0;\r\n }\r\n &.large-padding {\r\n padding: 24px 35px;\r\n }\r\n &.small-padding {\r\n padding: 8px;\r\n }\r\n }\r\n .md-card-footer {\r\n padding: 16px;\r\n font-size: 14px;\r\n line-height: 18px;\r\n .md-card-footer-head {\r\n .md_font(500,16px,20px);\r\n margin: 0 0 4px;\r\n }\r\n }\r\n &.md-card-fullscreen {\r\n position: fixed;\r\n z-index: 9998;\r\n overflow-x: hidden;\r\n .md-card-fullscreen-activate {\r\n display: none;\r\n }\r\n }\r\n .md-card-fullscreen-content {\r\n display: none;\r\n padding: 16px 0;\r\n .md-card-fullscreen-content-hidden & {\r\n display: block;\r\n visibility: hidden;\r\n padding: 0;\r\n }\r\n }\r\n &.mdToolbar_fixed {\r\n overflow-y: hidden;\r\n > .md-card-toolbar {\r\n position: fixed;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n z-index: 9999;\r\n .boxShadowHelper(2);\r\n }\r\n > .md-card-content {\r\n overflow-y: scroll;\r\n box-sizing: border-box;\r\n position: absolute;\r\n width: 100%;\r\n top: @header_main_height;\r\n bottom: 0;\r\n }\r\n }\r\n &.md-card-overlay {\r\n overflow: hidden;\r\n padding-bottom: 54px;\r\n .md-card-content {\r\n height: 142px;\r\n overflow: hidden;\r\n box-sizing: border-box;\r\n &.no_truncate {\r\n position: relative;\r\n &:after {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n height: 8px;\r\n background-image: linear-gradient(to top, rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%);\r\n display: block;\r\n content: '';\r\n z-index: 10;\r\n }\r\n }\r\n > pre {\r\n margin-top: 0;\r\n max-height: 110px;\r\n > code {\r\n overflow: hidden;\r\n }\r\n }\r\n }\r\n .md-card-overlay-content {\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n right: 0;\r\n padding: 0 16px;\r\n margin-top: -54px;\r\n border-top: 1px solid @border_color;\r\n text-align: left;\r\n bottom: 0;\r\n background: @white;\r\n z-index: 10;\r\n transition: all 280ms @md_easing;\r\n p {\r\n margin: 0;\r\n + * {\r\n margin-top: 16px\r\n }\r\n + p {\r\n margin-top: 4px\r\n }\r\n }\r\n }\r\n .md-card-overlay-header {\r\n .clearfix;\r\n padding: 12px 0;\r\n h3,\r\n h4 {\r\n margin: 0;\r\n .truncate_line;\r\n padding-right: 32px;\r\n box-sizing: border-box;\r\n }\r\n h3 {\r\n .md_font(400, 16px, 30px);\r\n }\r\n h4 {\r\n .md_font(500, 14px, 30px);\r\n }\r\n .md-icon {\r\n position: absolute;\r\n right: 12px;\r\n top: 11px;\r\n }\r\n }\r\n &-active {\r\n .md-card-overlay-content {\r\n top: -1px;\r\n margin-top: 0;\r\n }\r\n }\r\n }\r\n &.md-card-hover {\r\n transition: all 280ms @md_easing;\r\n will-change: box-shadow;\r\n &:hover {\r\n .boxShadowHelper(3);\r\n }\r\n }\r\n // ui-kit sortable\r\n .uk-sortable-dragged & {\r\n .boxShadowHelper(3);\r\n canvas {\r\n margin: 0 auto;\r\n display: block;\r\n }\r\n }\r\n .heading_list {\r\n padding: 0;\r\n }\r\n &-primary,\r\n &-success,\r\n &-danger,\r\n &-warning {\r\n border-left: 4px solid transparent;\r\n }\r\n &-primary {\r\n border-left-color: @primary_color;\r\n }\r\n &-success {\r\n border-left-color: @success_color;\r\n }\r\n &-danger {\r\n border-left-color: @danger_color;\r\n }\r\n &-warning {\r\n border-left-color: @warning_color;\r\n }\r\n}\r\n.md-expand,\r\n.md-expand-group > * {\r\n opacity: 0;\r\n}\r\n.md-card-placeholder {\r\n min-width: 100%;\r\n}\r\n.md-card-list-wrapper {\r\n .border-box();\r\n .md-card-list-header {\r\n position: absolute;\r\n top: -24px;\r\n left: 0;\r\n }\r\n .md-card-list {\r\n margin: 48px 0 0 0;\r\n position: relative;\r\n &:first-child {\r\n margin-top: 24px;\r\n }\r\n > ul {\r\n .reset_list();\r\n > li {\r\n min-height: 34px;\r\n padding: 8px 16px;\r\n font-size: 13px;\r\n .clearfix();\r\n transition: background 150ms,padding 200ms;\r\n background: @white;\r\n .boxShadowHelper(1);\r\n &.item-shown {\r\n background: @white;\r\n padding: 8px 36px;\r\n .md-card-list-item {\r\n &-subject {\r\n @media @screen_medium_max {\r\n clear: both;\r\n float: none;\r\n padding-top: 16px;\r\n > span {\r\n white-space: normal;\r\n }\r\n }\r\n }\r\n &-sender {\r\n width: auto;\r\n overflow: hidden;\r\n }\r\n }\r\n &.md-card-list-item-selected {\r\n position: relative;\r\n &:before {\r\n content: '';\r\n position: absolute;\r\n display: block;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n width: 8px;\r\n background: @theme_light_color;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n .md-card-list-item {\r\n &-select,\r\n &-avatar-wrapper,\r\n &-sender {\r\n float: left;\r\n }\r\n &-select {\r\n padding: 6px 8px 0 0;\r\n }\r\n &-avatar-wrapper,\r\n &-sender,\r\n &-subject,\r\n &-date {\r\n padding: 0 8px;\r\n }\r\n &-avatar-wrapper {\r\n .md-card-list-item-avatar {\r\n background: #757575;\r\n color: @white;\r\n .md-user-image;\r\n display: block;\r\n }\r\n span.md-card-list-item-avatar {\r\n line-height: 34px;\r\n text-transform: uppercase;\r\n text-align: center;\r\n }\r\n\r\n }\r\n &-sender {\r\n width: 220px;\r\n line-height: 34px;\r\n > span {\r\n .truncate_line();\r\n }\r\n @media @screen_xlarge_max {\r\n display: none;\r\n }\r\n }\r\n &-subject {\r\n overflow: hidden;\r\n font-weight: 500;\r\n > span {\r\n line-height: 34px;\r\n .truncate_line();\r\n }\r\n .md-card-list-item-sender-small {\r\n display: none;\r\n @media @screen_xlarge_max {\r\n display: block;\r\n + span {\r\n line-height: inherit;\r\n }\r\n }\r\n > span {\r\n .truncate_line();\r\n font-size: 12px;\r\n color: #999;\r\n }\r\n }\r\n }\r\n &-date {\r\n line-height: 34px;\r\n float: right;\r\n color: #999;\r\n @media @screen_small_max {\r\n display: none;\r\n }\r\n }\r\n &-menu {\r\n float: right;\r\n margin: 0 0 0 8px;\r\n position: relative;\r\n .uk-dropdown {\r\n .material-icons {\r\n margin-right: 8px;\r\n }\r\n }\r\n }\r\n &-content-wrapper {\r\n display: none;\r\n clear: both;\r\n opacity: 0;\r\n }\r\n &-content {\r\n padding: 16px 16px 0 0;\r\n max-height: 360px;\r\n overflow-x: hidden;\r\n margin: 0 0 40px;\r\n top: 20px;\r\n position: relative;\r\n font-size: 14px;\r\n + .md-card-list-item-reply {\r\n padding-top: 10px;\r\n }\r\n }\r\n &-reply {\r\n padding: 16px 0;\r\n }\r\n &-selected {\r\n background: @theme_light_color;\r\n }\r\n }\r\n }\r\n}\r\n","/* pricing tables */\r\n.pricing_table {\r\n &.pricing_table_a {\r\n text-align: center;\r\n .pricing_table_plan {\r\n font-size: 18px;\r\n font-weight: 400;\r\n padding: 16px 0;\r\n margin-bottom: 16px;\r\n }\r\n .pricing_table_price {\r\n padding: 8px 0 0;\r\n font-size: 48px;\r\n margin-bottom: 24px;\r\n .currency {\r\n vertical-align: top;\r\n font-size: 24px;\r\n padding: 0 4px;\r\n }\r\n .period {\r\n font-size: 14px;\r\n padding: 4px;\r\n color: @text_muted;\r\n display: block;\r\n }\r\n }\r\n .pricing_table_features {\r\n .reset_list();\r\n li {\r\n font-size: 16px;\r\n padding: 8px 0;\r\n }\r\n }\r\n .pricing_table_select {\r\n padding: 32px 0;\r\n }\r\n }\r\n &.pricing_table_b {\r\n text-align: center;\r\n .pricing_table_plan {\r\n font-size: 16px;\r\n font-weight: 400;\r\n padding: 16px 0;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n }\r\n .pricing_table_price {\r\n padding: 8px 0 0;\r\n font-size: 48px;\r\n margin-bottom: 24px;\r\n .currency {\r\n vertical-align: top;\r\n font-size: 24px;\r\n padding: 0 4px;\r\n }\r\n .period {\r\n font-size: 14px;\r\n padding: 4px;\r\n color: @text_muted;\r\n display: block;\r\n }\r\n }\r\n .pricing_table_features {\r\n .reset_list();\r\n li {\r\n font-size: 16px;\r\n padding: 8px 0;\r\n }\r\n }\r\n .pricing_table_select {\r\n padding: 32px 0;\r\n }\r\n }\r\n &.pricing_table_c {\r\n text-align: center;\r\n .pricing_table_plan {\r\n font-size: 16px;\r\n font-weight: 400;\r\n padding: 16px 0;\r\n margin-bottom: 8px;\r\n }\r\n .pricing_table_price {\r\n padding: 8px 0 0;\r\n font-size: 48px;\r\n margin-bottom: 24px;\r\n .currency {\r\n vertical-align: top;\r\n font-size: 24px;\r\n padding: 0 4px;\r\n }\r\n .period {\r\n font-size: 14px;\r\n color: @text_muted;\r\n vertical-align: 0;\r\n padding-left: 4px;\r\n }\r\n }\r\n .pricing_table_features {\r\n .reset_list();\r\n li {\r\n font-size: 16px;\r\n padding: 8px 0;\r\n }\r\n }\r\n .pricing_table_select {\r\n padding: 32px 0;\r\n }\r\n }\r\n}",".al_timeline {\r\n position: relative;\r\n padding: 24px 0 32px;\r\n &:after {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n margin-left: -2px;\r\n left: 50%;\r\n content: '';\r\n width: 4px;\r\n background: rgba(255,255,255,.5);\r\n display: block;\r\n }\r\n &_block {\r\n .clearfix;\r\n + * {\r\n margin-top: 48px;\r\n }\r\n &:nth-child(even) {\r\n .al_timeline {\r\n &_content {\r\n float: right;\r\n &:after {\r\n border-left-color: transparent;\r\n border-right-color: @white;\r\n right: auto;\r\n left: -20px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n &_content {\r\n box-sizing: border-box;\r\n background: @white;\r\n width: 44%;\r\n padding: 16px;\r\n .boxShadowHelper(2);\r\n position: relative;\r\n border-radius: 4px;\r\n &:after {\r\n position: absolute;\r\n top: 24px;\r\n right: -20px;\r\n content: '';\r\n display: block;\r\n border: 10px solid transparent;\r\n border-left-color: @white;\r\n }\r\n }\r\n &_image {\r\n position: absolute;\r\n left: 50%;\r\n width: 64px;\r\n height: 64px;\r\n margin-left: -32px;\r\n background: @white;\r\n border-radius: 50%;\r\n text-align: center;\r\n z-index: 10;\r\n .boxShadowHelper(2);\r\n > i {\r\n font-size: 32px;\r\n line-height: 64px;\r\n }\r\n }\r\n}\r\n\r\n@media @screen_large_max {\r\n .al_timeline {\r\n &:after {\r\n margin-left: 0;\r\n left: 30px;\r\n }\r\n &_block {\r\n padding-left: 96px;\r\n }\r\n &_content {\r\n width: 100%;\r\n &:after {\r\n border-left-color: transparent;\r\n border-right-color: @white;\r\n right: auto;\r\n left: -20px;\r\n }\r\n }\r\n &_image {\r\n left: 0;\r\n margin-left: 0;\r\n }\r\n }\r\n}\r\n\r\n@media @screen_medium_max {\r\n .al_timeline {\r\n &:after {\r\n margin-left: 0;\r\n left: 22px;\r\n }\r\n &_block {\r\n padding-left: 72px;\r\n }\r\n &_content {\r\n width: 100%;\r\n &:after {\r\n border-left-color: transparent;\r\n border-right-color: @white;\r\n right: auto;\r\n left: -20px;\r\n top: 14px;\r\n }\r\n }\r\n &_image {\r\n width: 48px;\r\n height: 48px;\r\n left: 0;\r\n margin-left: 0;\r\n > i {\r\n line-height: 48px;\r\n font-size: 24px;\r\n }\r\n }\r\n }\r\n}","/* buttons */\r\n\r\n@fab_large_size: 64px;\r\n@fab_small_size: 48px;\r\n@fab_transition_delay: 50ms;\r\n\r\n.md-btn {\r\n background: @white;\r\n border: none;\r\n border-radius: 2px;\r\n .boxShadowHelper(1);\r\n min-height: 31px;\r\n min-width: 70px;\r\n padding: 2px 16px;\r\n text-align: center;\r\n text-shadow: none;\r\n text-transform: uppercase;\r\n transition: all 280ms @md_easing;\r\n color: @text_primary_color;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n -webkit-appearance: none;\r\n display: inline-block;\r\n vertical-align: middle;\r\n .md_font(500, 14px, 31px) !important;\r\n &:hover,\r\n &:focus,\r\n &:active,\r\n .uk-button-dropdown.uk-open > & {\r\n background: @white;\r\n outline: none;\r\n text-decoration: none;\r\n color: @text_primary_color;\r\n .boxShadowHelper(2);\r\n }\r\n &:active,\r\n .uk-button-dropdown.uk-open > & {\r\n .boxShadowHelper(3);\r\n }\r\n &-flat {\r\n .boxShadowHelper(0);\r\n background: none;\r\n &:hover,\r\n &:focus {\r\n background: @hover_btn;\r\n }\r\n &:active {\r\n background: @active_btn;\r\n }\r\n &-danger {\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n color: @danger_color;\r\n }\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n background: lighten(@danger_color,40%);\r\n }\r\n }\r\n &-primary {\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n color: @primary_color_dark;\r\n }\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n background: lighten(@primary_color,40%);\r\n }\r\n }\r\n &-success {\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n color: @success_color;\r\n }\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n background: lighten(@success_color,40%);\r\n }\r\n }\r\n &-warning {\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n color: @warning_color;\r\n }\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n background: lighten(@warning_color,40%);\r\n }\r\n }\r\n &.disabled {\r\n background: none !important;\r\n }\r\n }\r\n &-danger {\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n background: @danger_color;\r\n }\r\n }\r\n &-primary {\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n background: @primary_color;\r\n }\r\n }\r\n &-success {\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n background: @success_color;\r\n }\r\n }\r\n &-warning {\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n background: @warning_color;\r\n }\r\n }\r\n &-danger,\r\n &-primary,\r\n &-success,\r\n &-warning {\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:active,\r\n > i {\r\n color: @white;\r\n }\r\n }\r\n &.disabled {\r\n &,\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n color: #a8a8a8;\r\n background: #eaeaea;\r\n box-shadow: none !important;\r\n cursor: default;\r\n pointer-events: none;\r\n }\r\n }\r\n > i {\r\n &.material-icons {\r\n margin-top: 5px;\r\n font-size: 18px;\r\n }\r\n }\r\n &-mini {\r\n line-height: 21px !important;\r\n min-width: 12px;\r\n font-size: 10px !important;\r\n min-height: 24px;\r\n }\r\n &-small {\r\n line-height: 27px !important;\r\n min-width: 14px;\r\n font-size: 11px !important;\r\n }\r\n &-large {\r\n line-height: 42px !important;\r\n font-size: 16px !important;\r\n }\r\n &::-moz-focus-inner {\r\n border: 0;\r\n padding: 0;\r\n }\r\n + .md-btn {\r\n margin-left: 8px;\r\n }\r\n &-block {\r\n width: 100%;\r\n & + & {\r\n margin-left: 0;\r\n margin-top: 12px;\r\n }\r\n }\r\n + .md-btn-group {\r\n margin-left: 16px;\r\n }\r\n &-facebook {\r\n background: #3b5998 !important;\r\n }\r\n &-twitter {\r\n background: #00aced !important;\r\n }\r\n &-gplus {\r\n background: #dd4b39 !important;\r\n }\r\n &-facebook,\r\n &-twitter,\r\n &-gplus {\r\n &,\r\n > i {\r\n color: @white !important;\r\n }\r\n }\r\n &-icon {\r\n &:extend(.md-btn-icon-default);\r\n > i {\r\n &:extend(.md-btn-icon-default > i);\r\n &.no_margin {\r\n margin-right: 0 !important;\r\n margin-left: 0 !important;\r\n }\r\n }\r\n &.md-btn-large {\r\n &:extend(.md-btn-icon-large);\r\n > i {\r\n &:extend(.md-btn-icon-large > i);\r\n }\r\n }\r\n &.md-btn-small {\r\n &:extend(.md-btn-icon-small);\r\n > i {\r\n &:extend(.md-btn-icon-small > i);\r\n }\r\n }\r\n &.md-btn-mini {\r\n &:extend(.md-btn-icon-mini);\r\n > i {\r\n &:extend(.md-btn-icon-mini > i);\r\n }\r\n }\r\n }\r\n}\r\n.md-btn-icon-large {\r\n min-width: 72px;\r\n > i {\r\n font-size: 24px;\r\n margin-right: 12px;\r\n vertical-align: -3px;\r\n }\r\n}\r\n.md-btn-icon-default {\r\n min-width: 64px;\r\n > i {\r\n font-size: 18px;\r\n margin-right: 8px;\r\n vertical-align: -2px;\r\n }\r\n}\r\n.md-btn-icon-small {\r\n min-width: 48px;\r\n > i {\r\n font-size: 16px;\r\n margin-right: 6px;\r\n vertical-align: -2px;\r\n }\r\n}\r\n.md-btn-icon-mini {\r\n min-width: 36px;\r\n > i {\r\n font-size: 16px;\r\n margin-right: 4px;\r\n vertical-align: -2px;\r\n }\r\n}\r\n\r\n.md-fab {\r\n box-sizing: border-box;\r\n width: @fab_large_size;\r\n height: @fab_large_size;\r\n border-radius: 50%;\r\n background: @white;\r\n color: @text_secondary_color;\r\n display: block;\r\n .boxShadowHelper(1);\r\n transition: box-shadow 280ms @md_easing;\r\n border: none;\r\n position: relative;\r\n text-align: center;\r\n cursor: pointer;\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n .boxShadowHelper(3);\r\n }\r\n > i {\r\n font-size: 36px;\r\n line-height: @fab_large_size;\r\n height: inherit;\r\n width: inherit;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n color: @text_secondary_color;\r\n }\r\n &.md-fab-accent {\r\n background: @accent_color;\r\n > i {\r\n color: @white;\r\n }\r\n }\r\n &.md-fab-success {\r\n background: @success_color;\r\n > i {\r\n color: @white;\r\n }\r\n }\r\n &.md-fab-danger {\r\n background: @danger_color;\r\n > i {\r\n color: @white;\r\n }\r\n }\r\n &.md-fab-primary {\r\n background: @primary_color;\r\n > i {\r\n color: @white;\r\n }\r\n }\r\n &.md-fab-warning {\r\n background: @warning_color;\r\n > i {\r\n color: @white;\r\n }\r\n }\r\n &.md-fab-small {\r\n width: @fab_small_size;\r\n height: @fab_small_size;\r\n border-radius: 50%;\r\n > i {\r\n line-height: @fab_small_size;\r\n height: inherit;\r\n width: inherit;\r\n font-size: 24px;\r\n }\r\n }\r\n &-speed-dial {\r\n .md-fab-action-close {\r\n display: none;\r\n }\r\n }\r\n}\r\n.md-fab-wrapper {\r\n position: fixed;\r\n bottom: 24px;\r\n right: 24px;\r\n z-index: 1004;\r\n transition: margin 280ms @md_easing;\r\n @media @screen_medium_max {\r\n bottom: 20px;\r\n right: 20px;\r\n }\r\n > .md-fab + .md-fab {\r\n margin-top: 16px;\r\n }\r\n &.md-fab-in-card {\r\n position: absolute;\r\n }\r\n}\r\n\r\n.md-fab-speed-dial {\r\n .md-fab-wrapper-small {\r\n position: absolute;\r\n bottom: @fab_large_size + 16px;\r\n right: 8px;\r\n min-height: @fab_small_size;\r\n width: @fab_small_size;\r\n z-index: -1;\r\n .md-fab-small {\r\n transform: scale(0);\r\n opacity: 0;\r\n position: absolute;\r\n right: 0;\r\n &:nth-child(1) {\r\n transition: box-shadow 280ms @md_easing,transform 100ms @md_easing @fab_transition_delay,opacity 100ms @md_easing @fab_transition_delay;\r\n }\r\n .generate-fab-child(@n, @i: 2) when (@i =< @n) {\r\n // small buttons position\r\n &:nth-last-child(@{i}) {\r\n bottom: (@fab_small_size * (@i - 1) ) + (16px * (@i - 1) );\r\n }\r\n // transition for small buttons (on hide)\r\n &:nth-child(@{i}) {\r\n transition: box-shadow 280ms @md_easing,transform 100ms @md_easing ( @fab_transition_delay * @i ),opacity 100ms @md_easing ( @fab_transition_delay * @i );\r\n }\r\n .generate-fab-child(@n, (@i + 1));\r\n }\r\n .generate-fab-child(8);\r\n }\r\n }\r\n &.md-fab-active {\r\n .md-fab-small {\r\n transform: scale(1);\r\n opacity: 1;\r\n z-index: 10;\r\n\r\n // transition for small buttons (on show)\r\n &:nth-last-child(1) {\r\n transition: box-shadow 280ms @md_easing,transform 100ms @md_easing @fab_transition_delay,opacity 100ms @md_easing @fab_transition_delay;\r\n }\r\n .generate-fab-child-active(@n, @i: 2) when (@i =< @n) {\r\n &:nth-last-child(@{i}) {\r\n transition: box-shadow 280ms @md_easing,transform 100ms @md_easing ( @fab_transition_delay * @i ),opacity 100ms @md_easing ( @fab_transition_delay * @i );\r\n }\r\n .generate-fab-child-active(@n, (@i + 1));\r\n }\r\n .generate-fab-child-active(8);\r\n }\r\n }\r\n}\r\n\r\n.md-fab-toolbar {\r\n transition: all 280ms @md_easing;\r\n cursor: default;\r\n > i {\r\n cursor: pointer;\r\n }\r\n &-actions {\r\n visibility: hidden;\r\n white-space: nowrap;\r\n padding: 0 16px;\r\n overflow: hidden;\r\n box-sizing: border-box;\r\n > a,\r\n > button {\r\n display: block;\r\n float: left;\r\n opacity: 0;\r\n margin: 0 0 0 16px;\r\n height: @fab_large_size;\r\n width: 48px;\r\n box-sizing: border-box;\r\n transition: opacity 280ms @md_easing;\r\n background: none;\r\n border: none;\r\n outline: none;\r\n cursor: pointer;\r\n &:first-child {\r\n margin-left: 0;\r\n }\r\n }\r\n .material-icons {\r\n font-size: 36px;\r\n line-height: @fab_large_size;\r\n }\r\n }\r\n &.md-fab-animated {\r\n .boxShadowHelper(1);\r\n border-radius: 4px;\r\n > i {\r\n display: none;\r\n }\r\n }\r\n &.md-fab-active {\r\n .md-fab-toolbar-actions {\r\n visibility: visible;\r\n > a,\r\n > button {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n &.md-fab-small {\r\n .md-fab-toolbar-actions {\r\n > a,\r\n > button {\r\n height: @fab_small_size;\r\n width: 36px;\r\n padding: 0;\r\n margin: 0 0 0 8px;\r\n &:first-child {\r\n margin-left: 0;\r\n }\r\n }\r\n .material-icons {\r\n font-size: 24px;\r\n line-height: @fab_small_size;\r\n height: inherit;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.md-fab-sheet {\r\n transition: all 280ms @md_easing;\r\n cursor: default;\r\n > i {\r\n cursor: pointer;\r\n }\r\n &-actions {\r\n visibility: hidden;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n box-sizing: border-box;\r\n padding: 4px 0;\r\n > a {\r\n display: block;\r\n opacity: 0;\r\n padding: 4px 16px;\r\n box-sizing: border-box;\r\n .md_font(400, 16px, 32px);\r\n text-align: left;\r\n &,\r\n &:hover {\r\n color: @text_primary_color;\r\n }\r\n }\r\n .material-icons {\r\n font-size: 24px;\r\n margin-right: 8px;\r\n vertical-align: -6px;\r\n }\r\n }\r\n &.md-fab-animated {\r\n .boxShadowHelper(1);\r\n border-radius: 4px;\r\n > i {\r\n display: none;\r\n }\r\n }\r\n &.md-fab-active {\r\n .md-fab-sheet-actions {\r\n visibility: visible;\r\n > a {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.sidebar_secondary_active {\r\n .md-fab-wrapper {\r\n margin-right: @sidebar_secondary_width - 16;\r\n @media @screen_medium_max {\r\n margin-right: @sidebar_secondary_width;\r\n }\r\n }\r\n}\r\n\r\n.md-toggle-group {\r\n .md-toggle-button {\r\n border-width: 0 0 2px;\r\n border-style: solid;\r\n border-color: transparent;\r\n background: none;\r\n line-height: 30px;\r\n min-width: 42px;\r\n text-align: center;\r\n padding: 0 8px;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n &.md-toggle-active {\r\n border-bottom-color: #212121;\r\n }\r\n }\r\n &.md-toggle-group-small {\r\n .md-toggle-button {\r\n font-size: 11px;\r\n line-height: 24px;\r\n min-width: 16px;\r\n padding: 0 6px;\r\n }\r\n }\r\n}\r\n\r\n.md-btn-group {\r\n display: inline-block;\r\n vertical-align: top;\r\n position: relative;\r\n font-size: 0;\r\n white-space: nowrap;\r\n .md-btn {\r\n vertical-align: top;\r\n margin-left: 0 !important;\r\n &:first-child {\r\n border-top-right-radius: 0;\r\n border-bottom-right-radius: 0;\r\n }\r\n &:not(:first-child):not(:last-child) {\r\n border-radius: 0;\r\n }\r\n &:last-child {\r\n border-top-left-radius: 0;\r\n border-bottom-left-radius: 0;\r\n }\r\n }\r\n}","// variables\r\n@color_variants: 50,100,200,300,400,500,600,700,800,900,A100,A200,A400,A700;\r\n@color_array: 'red','pink','purple','deep-purple','indigo','blue','light-blue','cyan','teal','green','light-green','lime','yellow','amber','orange','deep-orange';\r\n@color_array_no_accent: 'brown','grey','blue-grey';\r\n\r\n// colors with accents\r\n.makeMdVariants(@i, @actColor) when (@i <= 14) {\r\n\r\n @colorVariant: extract(@color_variants, @i);\r\n\r\n .md-color-@{actColor}-@{colorVariant} {\r\n color: ~\"@{md-color-@{actColor}-@{colorVariant}}\" !important;\r\n }\r\n\r\n .md-bg-@{actColor}-@{colorVariant} {\r\n background-color: ~\"@{md-color-@{actColor}-@{colorVariant}}\" !important;\r\n }\r\n\r\n .makeMdVariants(@i + 1,@actColor);\r\n}\r\n.makeMdColors(@i) when (@i <= 16) {\r\n\r\n @actColor: extract(@color_array, @i);\r\n\r\n .makeMdVariants(1,e(@actColor));\r\n\r\n .makeMdColors(@i + 1);\r\n}\r\n.makeMdColors(1);\r\n\r\n\r\n// colors without accent\r\n.makeMdVariantsNoAccent(@i, @actColor) when (@i <= 10) {\r\n\r\n @colorVariant: extract(@color_variants, @i);\r\n\r\n .md-color-@{actColor}-@{colorVariant} {\r\n color: ~\"@{md-color-@{actColor}-@{colorVariant}}\" !important;\r\n }\r\n\r\n .md-bg-@{actColor}-@{colorVariant} {\r\n background-color: ~\"@{md-color-@{actColor}-@{colorVariant}}\" !important;\r\n }\r\n\r\n .makeMdVariantsNoAccent(@i + 1,@actColor);\r\n}\r\n.makeMdColorsNoAccent(@i) when (@i <= 3) {\r\n\r\n @actColorNoAccent: extract(@color_array_no_accent, @i);\r\n\r\n .makeMdVariantsNoAccent(1,e(@actColorNoAccent));\r\n\r\n .makeMdColorsNoAccent(@i + 1);\r\n}\r\n.makeMdColorsNoAccent(1);\r\n\r\n.md-color-white {\r\n color: #fff !important;\r\n}","/*** utils ***/\r\n\r\n/* avatar */\r\n.md-user-image {\r\n width: 34px;\r\n border-radius: 50%;\r\n &-large {\r\n width: 82px;\r\n border-radius: 50%;\r\n }\r\n}\r\n.md-user {\r\n &-placeholder {\r\n background-color: @background_color_default;\r\n width: 34px;\r\n height: 34px;\r\n border-radius: 50%;\r\n }\r\n &-letters {\r\n display: inline-block;\r\n line-height: 35px;\r\n width: 34px;\r\n height: 34px;\r\n border-radius: 50%;\r\n text-align: center;\r\n text-transform: uppercase;\r\n font-weight: 500;\r\n background-color: @background_color_default;\r\n }\r\n}\r\n\r\n/* icons */\r\n.md-icon {\r\n font-size: 24px;\r\n line-height: 32px !important;\r\n height: 32px !important;\r\n color: @text_secondary_color;\r\n border-radius: 50%;\r\n cursor: pointer;\r\n transition: background 280ms ease-out,color 280ms ease-out;\r\n width: 32px !important;\r\n text-align: center;\r\n -webkit-tap-highlight-color: rgba(0,0,0,0);\r\n &:hover,\r\n &:focus,\r\n &:active,\r\n &.active {\r\n color: @text_primary_color;\r\n background: rgba(0,0,0,.08);\r\n }\r\n &-light {\r\n color: @white;\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n color: @white;\r\n background: rgba(0,0,0,.2);\r\n }\r\n }\r\n &-dark {\r\n color: @text_primary_color;\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n color: @text_primary_color;\r\n background: rgba(255,255,255,.6);\r\n }\r\n }\r\n & + & {\r\n margin-left: 4px;\r\n }\r\n &-btn {\r\n display: inline-block;\r\n &.active {\r\n .md-icon {\r\n color: @text_primary_color;\r\n background: rgba(0,0,0,.08);\r\n }\r\n }\r\n }\r\n button& {\r\n background: none;\r\n border: none;\r\n outline: none;\r\n }\r\n}\r\n\r\n.uk-open {\r\n .md-icon {\r\n color: @text_primary_color;\r\n background: rgba(0,0,0,.08);\r\n &-light {\r\n color: @white;\r\n background: rgba(0,0,0,.2);\r\n }\r\n &-dark {\r\n color: @text_primary_color;\r\n background: rgba(255,255,255,.6);\r\n }\r\n }\r\n}\r\n\r\n\r\n/* dropdown list */\r\n.md-list-inputs {\r\n .reset_list();\r\n li {\r\n + li {\r\n margin-top: 8px;\r\n }\r\n .icheckbox_md {\r\n float: left;\r\n }\r\n label {\r\n overflow: hidden;\r\n padding-left: 8px;\r\n display: block;\r\n cursor: pointer;\r\n }\r\n }\r\n}\r\n\r\n/* hr */\r\n.md-hr {\r\n margin: 32px 0;\r\n height: 0;\r\n border-top: 2px solid @border_color;\r\n}\r\n\r\n/* animated show */\r\n@keyframes hierarchical_show {\r\n 0% {\r\n opacity: 0;\r\n transform: scale3d(.2, .2, 2);\r\n }\r\n 50% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n transform: scale3d(1, 1, 1);\r\n }\r\n}\r\n\r\n.hierarchical_show {\r\n will-change: transform, opacity;\r\n > * {\r\n visibility: hidden;\r\n }\r\n &_inView {\r\n > * {\r\n animation-fill-mode: both;\r\n animation-timing-function: @md_easing;\r\n animation-duration: 700ms;\r\n animation-name: hierarchical_show;\r\n visibility: visible;\r\n }\r\n }\r\n}\r\n\r\n@keyframes hierarchical_slide {\r\n 0% {\r\n opacity: 0;\r\n transform: translate3d(0, 160%, 0);\r\n }\r\n 33% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n transform: translate3d(0, 0, 0);\r\n }\r\n}\r\n\r\n.hierarchical_slide {\r\n will-change: transform, opacity;\r\n > * {\r\n visibility: hidden;\r\n }\r\n &_inView {\r\n > * {\r\n animation-fill-mode: both;\r\n animation-timing-function: @md_easing;\r\n animation-duration: 700ms;\r\n animation-name: hierarchical_slide;\r\n visibility: visible;\r\n }\r\n }\r\n}\r\n\r\n.fast_animation {\r\n animation-duration: 350ms;\r\n}","/* forms */\r\nselect,\r\ntextarea,\r\ninput:not([type]),\r\ninput[type=\"text\"],\r\ninput[type=\"password\"],\r\ninput[type=\"datetime\"],\r\ninput[type=\"datetime-local\"],\r\ninput[type=\"date\"],\r\ninput[type=\"month\"],\r\ninput[type=\"time\"],\r\ninput[type=\"week\"],\r\ninput[type=\"number\"],\r\ninput[type=\"email\"],\r\ninput[type=\"url\"],\r\ninput[type=\"search\"],\r\ninput[type=\"tel\"],\r\ninput[type=\"color\"] {\r\n outline: none;\r\n &.md-input {\r\n border-radius: 0;\r\n border-width: 0 0 1px;\r\n border-style: solid;\r\n border-color: @border_color;\r\n .md_font(400,15px,18px);\r\n box-shadow: inset 0 -1px 0 rgba(0,0,0,0);\r\n box-sizing: border-box;\r\n padding: 12px 4px;\r\n background: transparent;\r\n width: 100%;\r\n display: block;\r\n &.md-input-danger {\r\n border-color: @danger_color;\r\n &:focus {\r\n border-bottom-color: @danger_color;\r\n }\r\n }\r\n &.md-input-success {\r\n border-color: @success_color;\r\n &:focus {\r\n border-bottom-color: @success_color;\r\n }\r\n }\r\n &:focus {\r\n background: transparent;\r\n border-color: @border_color;\r\n }\r\n &-small {\r\n padding: 4px;\r\n }\r\n &.uk-form-width {\r\n &-mini {\r\n width: 40px;\r\n }\r\n &-small {\r\n width: 130px;\r\n }\r\n &-medium {\r\n width: 200px;\r\n }\r\n &-large {\r\n width: 500px;\r\n }\r\n }\r\n }\r\n}\r\n\r\nselect.md-input {\r\n &.uk-form-width-mini {\r\n width: 65px;\r\n }\r\n}\r\n\r\n.md-input {\r\n &-width-small {\r\n min-width: 80px !important;\r\n }\r\n &-width-medium {\r\n min-width: 160px !important;\r\n }\r\n &-width-large {\r\n min-width: 320px !important;\r\n }\r\n}\r\n\r\ntextarea {\r\n &.md-input {\r\n min-height: 80px;\r\n resize: none;\r\n overflow: hidden;\r\n transition: height 200ms ease-out;\r\n line-height: 24px;\r\n }\r\n &.no_autosize {\r\n min-height: inherit;\r\n overflow: auto;\r\n transition: none;\r\n resize: both;\r\n }\r\n}\r\n\r\n.md-input-wrapper {\r\n position: relative;\r\n padding-top: 4px;\r\n width: 100%;\r\n display: block;\r\n .md-input-bar {\r\n display: block;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n &:before,\r\n &:after {\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n bottom: 0;\r\n width: 0;\r\n height: 2px;\r\n background: @primary_color_dark;\r\n transition: width 400ms @md_easing;\r\n }\r\n &:before {\r\n left: 50%\r\n }\r\n &:after {\r\n right: 50%\r\n }\r\n &.uk-form-width {\r\n &-mini {\r\n width: 40px;\r\n }\r\n &-small {\r\n width: 130px;\r\n }\r\n &-medium {\r\n width: 200px;\r\n }\r\n &-large {\r\n width: 500px;\r\n }\r\n }\r\n }\r\n > label {\r\n color: @text_secondary_color;\r\n position: absolute;\r\n top: 16px;\r\n left: 4px;\r\n right: 0;\r\n pointer-events: none;\r\n transition: all 150ms ease-out;\r\n }\r\n + * {\r\n margin-top: 10px;\r\n }\r\n &.md-input-wrapper-disabled {\r\n > label {\r\n color: @input_disabled_color;\r\n }\r\n }\r\n &-count {\r\n padding-bottom: 24px;\r\n .md-input-bar {\r\n bottom: 24px;\r\n }\r\n .text-count-wrapper {\r\n font-size: 12px;\r\n position: absolute;\r\n right: 0;\r\n bottom: 0;\r\n opacity: 0;\r\n transition: opacity 200ms ease-in;\r\n .md-input-wrapper-count > & {\r\n position: absolute;\r\n bottom: 0;\r\n right: 0;\r\n }\r\n }\r\n\r\n }\r\n}\r\n\r\n.md-input-filled,\r\n.md-input-focus {\r\n > label {\r\n top: -6px;\r\n font-size: 12px;\r\n }\r\n &.md-input-wrapper-count {\r\n .text-count-wrapper {\r\n opacity: 1;\r\n }\r\n }\r\n}\r\n.md-input-focus {\r\n .md-input-bar:before,\r\n .md-input-bar:after {\r\n width: 50%;\r\n }\r\n}\r\n\r\n.md-input-wrapper-danger {\r\n .md-input-bar {\r\n &:before,\r\n &:after {\r\n background: @danger_color;\r\n }\r\n }\r\n &.md-input-wrapper-count {\r\n .text-count-wrapper {\r\n color: @danger_color;\r\n }\r\n }\r\n}\r\n\r\n.md-input-wrapper-success {\r\n .md-input-bar {\r\n &:before,\r\n &:after {\r\n background: @success_color;\r\n }\r\n }\r\n &.md-input-wrapper-count {\r\n .text-count-wrapper {\r\n color: @success_color;\r\n }\r\n }\r\n}\r\n\r\n.md-form-group {\r\n position: relative;\r\n}\r\n\r\nlabel.md-label {\r\n color: #999;\r\n padding: 0 6px;\r\n font-size: 11px;\r\n}","// Material Design Icons\r\n// http://google.github.io/material-design-icons/\r\n@material_icons_directory: '../icons/material-design-icons/';\r\n\r\n@font-face {\r\n font-family: 'Material Icons';\r\n font-style: normal;\r\n font-weight: 400;\r\n src: url(\"@{material_icons_directory}MaterialIcons-Regular.eot\"); /* For IE6-8 */\r\n src: local('Material Icons'),\r\n local('MaterialIcons-Regular'),\r\n url(\"@{material_icons_directory}MaterialIcons-Regular.woff2\") format('woff2'),\r\n url(\"@{material_icons_directory}MaterialIcons-Regular.woff\") format('woff'),\r\n url(\"@{material_icons_directory}MaterialIcons-Regular.ttf\") format('truetype');\r\n}\r\n.material-icons {\r\n font-family: 'Material Icons';\r\n font-weight: normal;\r\n font-style: normal;\r\n font-size: 18px; /* Preferred icon size */\r\n display: inline-block;\r\n width: 1em;\r\n height: 1em;\r\n line-height: 1;\r\n text-transform: none;\r\n letter-spacing: normal;\r\n /* Support for all WebKit browsers. */\r\n -webkit-font-smoothing: antialiased;\r\n /* Support for Safari and Chrome. */\r\n text-rendering: optimizeLegibility;\r\n /* Support for Firefox. */\r\n -moz-osx-font-smoothing: grayscale;\r\n /* Support for IE. */\r\n font-feature-settings: 'liga';\r\n vertical-align: -4px;\r\n color: rgba(0, 0, 0, 0.54);\r\n &.md-inactive {\r\n color: rgba(0, 0, 0, 0.26);\r\n }\r\n &.md-24 {\r\n font-size: 24px;\r\n vertical-align: -8px;\r\n }\r\n &.md-36 {\r\n font-size: 36px;\r\n vertical-align: -16px;\r\n }\r\n &.md-48 {\r\n font-size: 48px;\r\n vertical-align: -24px;\r\n }\r\n &.md-light {\r\n color: rgba(255, 255, 255, 1);\r\n &.md-inactive {\r\n color: rgba(255, 255, 255, 0.3);\r\n }\r\n }\r\n}\r\n","/* list */\r\n.md-list {\r\n .reset_list;\r\n .border-box;\r\n .uk-nestable-list > li,\r\n > li {\r\n min-height: 48px;\r\n padding: 8px 4px;\r\n box-sizing: border-box;\r\n border-bottom: 1px solid @border_color;\r\n position: relative;\r\n > .md-list-content {\r\n overflow: hidden;\r\n > span {\r\n display: block;\r\n }\r\n .md-list-heading {\r\n margin: 0;\r\n font-weight: 500;\r\n display: block;\r\n overflow: hidden;\r\n padding-bottom: 1px;\r\n }\r\n .md-list-menu {\r\n float: right;\r\n .md-list-menu-toggle {\r\n display: block;\r\n font-size: 18px;\r\n color: rgba(0,0,0,.8);\r\n width: 28px;\r\n height: 28px;\r\n line-height: 28px;\r\n border-radius: 14px;\r\n text-align: center;\r\n }\r\n }\r\n .uk-badge {\r\n float: right;\r\n color: @white !important;\r\n }\r\n .md-list-action {\r\n float: right;\r\n margin-left: 8px;\r\n margin-top: 2px;\r\n display: none;\r\n }\r\n .md-list-action-placeholder {\r\n float: right;\r\n margin-left: 8px;\r\n display: none;\r\n width: 32px;\r\n height: 32px;\r\n }\r\n }\r\n .md-list-action-dropdown {\r\n position: absolute;\r\n right: 16px;\r\n top: 10px;\r\n display: none;\r\n }\r\n > a.md-list-content {\r\n display: block;\r\n color: @text_primary_color;\r\n }\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n &.md-list-item-active {\r\n color: @accent_color;\r\n background: @background_color_default_hex;\r\n }\r\n &.md-list-item-disabled {\r\n > .md-list-content {\r\n color: @muted_color;\r\n span {\r\n color: @muted_color !important;\r\n }\r\n }\r\n }\r\n &.heading_list {\r\n min-height: 32px;\r\n padding: 32px 8px 16px;\r\n border-bottom: none;\r\n background: transparent !important;\r\n text-transform: uppercase;\r\n }\r\n .uk-touch &,\r\n &:hover {\r\n > .md-list-addon-element {\r\n .uk-nestable-handle {\r\n display: block;\r\n }\r\n }\r\n > .md-list-content {\r\n .md-list-action,\r\n .md-list-action-placeholder {\r\n display: block;\r\n }\r\n }\r\n .md-list-action-dropdown {\r\n display: block;\r\n }\r\n }\r\n }\r\n .uk-nestable-list > li {\r\n margin-left: 64px;\r\n }\r\n &-addon {\r\n > li {\r\n margin-left: 64px;\r\n position: relative;\r\n &:last-child {\r\n .md-list-addon-element {\r\n border-bottom: none;\r\n bottom: 0;\r\n }\r\n }\r\n &:first-child {\r\n .md-list-addon-element {\r\n top: 0;\r\n }\r\n }\r\n &.md-list-item-active {\r\n .md-list-addon-element {\r\n &,\r\n .material-icons {\r\n color: @accent_color;\r\n }\r\n }\r\n }\r\n }\r\n &-element {\r\n position: absolute;\r\n left: -64px;\r\n top: -1px;\r\n bottom: -1px;\r\n width: 64px;\r\n text-align: center;\r\n padding: 8px 0;\r\n display: block;\r\n .element-status {\r\n position: absolute;\r\n right: 12px;\r\n top: 10px;\r\n width: 12px;\r\n height: 12px;\r\n border-radius: 50%;\r\n background: @muted_color;\r\n border: 1px solid @white;\r\n &-danger {\r\n background: @danger_color;\r\n }\r\n &-success {\r\n background: @success_color;\r\n }\r\n &-warning {\r\n background: @warning_color;\r\n }\r\n }\r\n > .md-list-addon-avatar {\r\n margin-top: 2px;\r\n }\r\n > .md-list-addon-icon {\r\n font-size: 28px;\r\n margin-top: 4px;\r\n color: @text_secondary_color;\r\n }\r\n > .material-icons {\r\n margin-top: 6px;\r\n }\r\n .iradio_md,\r\n .icheckbox_md {\r\n margin-top: 10px;\r\n }\r\n .uk-nestable-handle {\r\n position: absolute;\r\n left: -2px;\r\n top: 12px;\r\n display: none;\r\n }\r\n }\r\n }\r\n &-interactive {\r\n li {\r\n cursor: pointer;\r\n }\r\n }\r\n &-bg {\r\n background: @white;\r\n }\r\n &-separated {\r\n li {\r\n background: @white;\r\n padding: 8px;\r\n + li {\r\n border-top: none;\r\n margin-top: 8px;\r\n }\r\n }\r\n }\r\n &-bg-no-sep {\r\n background: @white;\r\n padding: 8px;\r\n li > .md-list-content {\r\n padding: 0 4px;\r\n }\r\n }\r\n &-outside {\r\n > li {\r\n padding: 0;\r\n > .md-list-content {\r\n padding: 8px 16px;\r\n display: block;\r\n color: @text_primary_color;\r\n }\r\n &.md-list-item-active,\r\n &:hover:not(.heading_list) {\r\n background: @background_color_default;\r\n }\r\n &.heading_list {\r\n padding: 32px 16px 16px;\r\n }\r\n }\r\n &.md-list-addon {\r\n li {\r\n margin-left: 0;\r\n .md-list-addon-element {\r\n position: relative;\r\n top: auto;\r\n left: auto;\r\n float: left;\r\n }\r\n .md-list-content {\r\n padding-left: 0;\r\n }\r\n }\r\n }\r\n }\r\n /*&-outside-wrapper {\r\n overflow: hidden;\r\n }*/\r\n .uk-nestable-list {\r\n padding-left: 0;\r\n .uk-nestable-item {\r\n padding-right: 0;\r\n }\r\n }\r\n .uk-nestable-item + .uk-nestable-item {\r\n margin-top: 0;\r\n }\r\n &-right {\r\n &.md-list-addon {\r\n > li {\r\n margin-left: 0;\r\n margin-right: 64px;\r\n .md-list-addon-element {\r\n left: auto;\r\n right: -64px;\r\n }\r\n }\r\n }\r\n }\r\n &-borderless {\r\n > li {\r\n border-bottom: none;\r\n }\r\n }\r\n}\r\n\r\n.uk-touch {\r\n .md-list-addon-element {\r\n .uk-nestable-handle {\r\n display: block !important;\r\n }\r\n }\r\n .md-list-content {\r\n .md-list-action,\r\n .md-list-action-placeholder {\r\n display: block !important;\r\n }\r\n }\r\n .md-list-action-dropdown {\r\n display: block !important;\r\n }\r\n}","/* panels */\r\n.md-panel-full {\r\n .border-box();\r\n position: relative;\r\n overflow: hidden;\r\n min-height: 100%;\r\n > .uk-grid {\r\n height: 100%;\r\n [class*=uk-width] {\r\n height: 100%;\r\n }\r\n }\r\n .md-panel-full-aside {\r\n margin: 16px 16px 32px;\r\n padding: 16px;\r\n &.md-panel-full-aside-bg {\r\n background: @white;\r\n }\r\n }\r\n .md-panel-full-content {\r\n background: @white;\r\n padding: 25px 25px 90px;\r\n width: inherit;\r\n min-width: 100%;\r\n min-height: 100%;\r\n > .md-panel-full-content-inner {\r\n position: relative;\r\n z-index: 10;\r\n }\r\n &:before {\r\n width: inherit;\r\n content: '';\r\n position: absolute;\r\n background: @white;\r\n display: block;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n .md-box-shadow-left();\r\n z-index: 5;\r\n }\r\n .md-panel-full-content-header {\r\n margin-bottom: 24px;\r\n .md-panel-full-content-menu {\r\n float: right;\r\n }\r\n }\r\n }\r\n}","/* top bar */\r\n.md-top-bar {\r\n .md-top-bar-checkbox {\r\n padding-top: 10px;\r\n }\r\n .md-top-bar-icons {\r\n margin-top: 5px;\r\n }\r\n .md-top-bar-icons,\r\n .md-top-bar-checkbox {\r\n display: inline-block;\r\n }\r\n .md-btn-group {\r\n margin-top: 4px;\r\n }\r\n .md-top-bar-actions-left {\r\n float: left;\r\n padding-left: 16px;\r\n .md-btn-group {\r\n margin-left: 8px;\r\n }\r\n }\r\n .md-top-bar-actions-right {\r\n float: right;\r\n padding-right: 16px;\r\n .md-btn-group {\r\n margin-right: 8px;\r\n }\r\n }\r\n .md-btn-small {\r\n padding: 2px 12px;\r\n }\r\n}","html {\r\n background: @site_background;\r\n}\r\nbody {\r\n .md_font(400, 15px, 1.42857143);\r\n box-sizing: border-box;\r\n overflow-x: hidden;\r\n}\r\n\r\n/*html, body {\r\n height: 100%;\r\n}*/\r\n\r\na, button {\r\n outline: none !important;\r\n}\r\n\r\na {\r\n color: @md-color-blue-600;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n &:hover,\r\n &:active {\r\n color: @md-color-blue-900;\r\n text-decoration: none;\r\n }\r\n}\r\n\r\n.uk-text-upper {\r\n text-transform: uppercase;\r\n}\r\n\r\n.animate > * {\r\n visibility: hidden;\r\n}\r\n\r\n.animated {\r\n visibility: visible;\r\n}\r\n\r\n[class*=uk-animation-] {\r\n animation-timing-function: @md_easing;\r\n animation-duration: 840ms;\r\n}\r\n\r\n.heading {\r\n &_a {\r\n margin: 0;\r\n .md_font(300,42px,48px);\r\n .sub-heading {\r\n font-weight: 300;\r\n font-size: 24px;\r\n line-height: 30px;\r\n display: block;\r\n padding-top: 10px;\r\n }\r\n @media @screen_large_max {\r\n .md_font(300,32px,36px);\r\n .sub-heading {\r\n font-size: 20px;\r\n line-height: 24px;\r\n }\r\n }\r\n }\r\n &_b {\r\n margin: 0;\r\n .md_font(300,32px,36px);\r\n .sub-heading {\r\n font-weight: 300;\r\n font-size: 20px;\r\n line-height: 26px;\r\n display: block;\r\n padding-top: 10px;\r\n }\r\n @media @screen_large_max {\r\n .md_font(300,28px,32px);\r\n .sub-heading {\r\n font-size: 18px;\r\n line-height: 22px;\r\n }\r\n }\r\n }\r\n &_c {\r\n margin: 0;\r\n .md_font(400,24px,28px);\r\n .sub-heading {\r\n font-weight: 300;\r\n font-size: 18px;\r\n line-height: 20px;\r\n display: block;\r\n padding-top: 10px;\r\n }\r\n @media @screen_large_max {\r\n .md_font(300,22px,25px);\r\n .sub-heading {\r\n font-size: 16px;\r\n line-height: 20px;\r\n }\r\n }\r\n }\r\n &_a,\r\n &_b,\r\n &_c {\r\n + .uk-grid {\r\n margin-top: 24px;\r\n }\r\n .material-icons {\r\n vertical-align: middle;\r\n }\r\n }\r\n &_light {\r\n &,\r\n .sub-heading {\r\n color: @white;\r\n }\r\n }\r\n\r\n}\r\n\r\n// icons\r\n.icon {\r\n &_large {\r\n font-size: 64px;\r\n @media @screen_large_max {\r\n font-size: 48px;\r\n }\r\n }\r\n &_dark {\r\n color: @text_secondary_color;\r\n }\r\n}\r\n\r\n// header\r\n#header_main {\r\n transition: all 280ms @md_easing;\r\n position: relative;\r\n z-index: 10;\r\n .uk-navbar {\r\n background: @white;\r\n &-nav {\r\n > li {\r\n > a {\r\n color: @text_secondary_color;\r\n text-transform: uppercase;\r\n font-size: 14px;\r\n .md_font_family();\r\n font-weight: 500;\r\n box-shadow: inset 0 -4px 0 rgba(255,255,255,0);\r\n background: none !important;\r\n transition: all 280ms @md_easing;\r\n &:hover,\r\n &:active {\r\n color: @text_secondary_color;\r\n }\r\n }\r\n &.current_active {\r\n a {\r\n box-shadow: inset 0 -4px 0 @accent_color;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n &.header-light {\r\n background: @white;\r\n }\r\n .header_cta {\r\n margin-top: 14px;\r\n @media @screen_large_max {\r\n margin-top: 6px;\r\n }\r\n }\r\n}\r\n#mobile_navigation_toggle {\r\n display: none;\r\n}\r\n#mobile_navigation {\r\n .uk-offcanvas-bar {\r\n background: @white;\r\n .md-box-shadow-right();\r\n transition: transform 280ms @md_easing;\r\n &:after {\r\n display: none;\r\n\r\n }\r\n ul {\r\n .reset_list(32px 0 0 0,0);\r\n li {\r\n a {\r\n display: block;\r\n font-size: 16px;\r\n font-weight: 500;\r\n line-height: 25px;\r\n padding: 8px 20px;\r\n color: @text_primary_color;\r\n small {\r\n font-size: 12px;\r\n color: @text_secondary_color;\r\n display: block;\r\n margin-top: -2px;\r\n }\r\n .menu_icon {\r\n width: 48px;\r\n text-align: left;\r\n display: inline-block;\r\n color: @text_secondary_color;\r\n float: left;\r\n .material-icons {\r\n font-size: 24px;\r\n vertical-align: top;\r\n }\r\n }\r\n .menu_title {\r\n display: block;\r\n overflow: hidden;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n.uk-offcanvas-page {\r\n transition: margin 280ms @md_easing;\r\n}\r\n\r\n.header_sticky {\r\n padding-top: @header_main_height;\r\n @media @screen_large_max {\r\n padding-top: @header_main_mobile_height;\r\n }\r\n #header_main {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 1000;\r\n }\r\n}\r\n.header_shadow {\r\n #header_main {\r\n box-shadow: 0 2px 6px rgba(0,0,0,0.25);\r\n }\r\n}\r\n\r\n// top banner (slideshow)\r\n.banner {\r\n color: @white;\r\n position: relative;\r\n .uk-slideshow {\r\n &,\r\n > li {\r\n height: 640px;\r\n }\r\n > li {\r\n background-size: 100% auto;\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n .slide {\r\n &_content_a {\r\n margin: 160px 0 0 640px;\r\n }\r\n &_content_b {\r\n margin: 320px 0 0 0;\r\n background: rgba(0,0,0,.4);\r\n padding: 24px;\r\n }\r\n &_content_c {\r\n margin: 120px 540px 0 0;\r\n .slide_header,\r\n p {\r\n color: @text_primary_color;\r\n }\r\n }\r\n &_header {\r\n color: @white;\r\n .md_font(400,38px,42px);\r\n margin: 0 0 18px;\r\n }\r\n }\r\n p {\r\n margin: 0;\r\n font-size: 20px;\r\n font-weight: 300;\r\n + * {\r\n margin-top: 32px;\r\n }\r\n }\r\n }\r\n }\r\n .slide_navigation {\r\n display: none;\r\n }\r\n &:hover {\r\n .slide_navigation {\r\n display: block;\r\n }\r\n }\r\n}\r\n.uk-touch {\r\n .slide_navigation {\r\n display: block !important;\r\n }\r\n}\r\n.uk-slidenav {\r\n position: absolute;\r\n top: 50%;\r\n margin-top: -30px;\r\n color: @white !important;\r\n background: rgba(0,0,0,.2);\r\n border-radius: 12px;\r\n font-size: 48px;\r\n transition: all 280ms @md_easing;\r\n &-previous {\r\n left: 16px;\r\n &:before {\r\n position: relative;\r\n left: -2px;\r\n top: -2px;\r\n }\r\n }\r\n &-next {\r\n right: 16px;\r\n &:before {\r\n position: relative;\r\n right: -2px;\r\n top: -2px;\r\n }\r\n }\r\n &:active,\r\n &:hover {\r\n background: rgba(0,0,0,.6);\r\n border-radius: 50%;\r\n }\r\n}\r\n.uk-dotnav {\r\n > li {\r\n border: 2px solid rgba(255,255,255,.8);\r\n padding: 2px;\r\n margin-right: 6px;\r\n border-radius: 50%;\r\n &.uk-active {\r\n border-color: @white;\r\n > a {\r\n background: @accent_color;\r\n }\r\n }\r\n > a {\r\n margin: 0;\r\n width: 14px;\r\n height: 14px;\r\n }\r\n }\r\n}\r\n\r\n// sections\r\n.section {\r\n padding: 48px 0;\r\n position: relative;\r\n &_large {\r\n padding: 64px 0;\r\n }\r\n &_dark {\r\n color: @white;\r\n }\r\n &_gallery {\r\n position: relative;\r\n .slide_navigation {\r\n display: none;\r\n }\r\n &:hover {\r\n .slide_navigation {\r\n display: block;\r\n }\r\n }\r\n }\r\n}\r\n\r\n// uikit\r\n[class*=uk-width].uk-container-center {\r\n float: none;\r\n}\r\n\r\n// media queries\r\n@media @screen_xlarge_max {\r\n .banner {\r\n .uk-slideshow {\r\n &,\r\n > li {\r\n height: auto;\r\n min-height: 360px;\r\n }\r\n > li {\r\n .slide {\r\n &_content_a,\r\n &_content_b,\r\n &_content_c {\r\n margin: 0;\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n background: rgba(0,0,0,.4);\r\n padding: 48px 48px 0;\r\n text-align: center;\r\n }\r\n &_header {\r\n margin-bottom: 20px;\r\n color: @white !important;\r\n }\r\n }\r\n p {\r\n font-size: 20px;\r\n color: @white !important;\r\n + * {\r\n margin-top: 24px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n@media @screen_large_max {\r\n #header_main {\r\n height: @header_main_mobile_height;\r\n .uk-navbar-brand {\r\n line-height: 48px;\r\n padding: 0;\r\n }\r\n }\r\n #main_navigation {\r\n display: none;\r\n .uk-navbar {\r\n &-nav {\r\n\r\n }\r\n }\r\n }\r\n #mobile_navigation_toggle {\r\n padding: 12px 4px 10px;\r\n display: inline-block;\r\n i {\r\n font-size: 24px;\r\n }\r\n }\r\n}\r\n@media @screen_medium_max {\r\n .banner {\r\n .uk-slideshow {\r\n > li {\r\n background-size: auto 100%;\r\n .slide {\r\n &_content_a,\r\n &_content_b,\r\n &_content_c {\r\n margin: 0;\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n background: rgba(0,0,0,.4);\r\n padding: 24px 12px;\r\n text-align: center;\r\n }\r\n &_header {\r\n .md_font(400,24px,28px);\r\n margin-bottom: 6px;\r\n color: @white !important;\r\n }\r\n }\r\n p {\r\n font-size: 15px;\r\n color: @white !important;\r\n + * {\r\n margin-top: 24px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n .uk-container {\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n }\r\n}"],"sourceRoot":"../less/"} \ No newline at end of file diff --git a/assets/css/main.min.css b/assets/css/main.min.css new file mode 100644 index 0000000..12245ee --- /dev/null +++ b/assets/css/main.min.css @@ -0,0 +1,2 @@ +[class*=uk-animation-]{-webkit-animation-timing-function:cubic-bezier(.4,0,.2,1);animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-animation-duration:560ms;animation-duration:560ms}.uk-alert{border:none;background:#1976d2;color:#fff;text-shadow:none;padding-right:32px;position:relative;display:block}.uk-alert-success{background:#8bc34a!important}.uk-alert-danger{background:#e53935!important}.uk-alert-warning{background:#ffa000!important}.uk-alert-info{background:#0097a7!important}.uk-alert-large{padding:24px 32px 24px 24px}.uk-alert-close{position:absolute;top:10px;right:8px;float:none!important;margin:0!important}.uk-alert-close:after{color:#fff!important}.uk-badge{background:#0097a7;padding:2px 6px;border:none;border-radius:2px;text-shadow:none;font-size:11px;line-height:15px;font-weight:400}.uk-badge-primary{background:#2196f3}.uk-badge-danger{background:#e53935}.uk-badge-warning{background:#ffa000}.uk-badge-success{background:#7cb342}.uk-badge-muted{background:#bdbdbd}.uk-badge-notification{border-radius:20px}.uk-badge.inline-label{vertical-align:1px;margin-left:4px}.uk-badge-outline{border:1px solid rgba(0,0,0,.12);background:#fff;color:#212121;padding-bottom:0;line-height:16px}.uk-button{font-weight:400;border-radius:2px;transition:all .2s cubic-bezier(.4,0,.2,1)}.uk-comment-list>li+li{border-top:1px dashed rgba(0,0,0,.12);margin-top:16px!important}.uk-comment-list .uk-comment+ul{margin:8px 0 0 0}@media only screen and (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:48px}}.uk-comment-header{padding:16px 8px 8px;border:none;background:0 0;margin-bottom:0}.uk-comment-title{margin:0;font-size:14px;line-height:20px}.uk-modal{z-index:1304;background:rgba(0,0,0,.5);transition:opacity 250ms ease-out;overflow:auto!important}.uk-modal.uk-modal-no-backdrop{background:0 0}.uk-modal-dialog{border-radius:2px;box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);padding:24px;display:block!important;-webkit-animation:none!important;animation:none!important;transition:transform 280ms cubic-bezier(.4,0,.2,1),opacity 280ms ease-in;transform:scale(0)}.uk-open .uk-modal-dialog{transform:scale(1)}.uk-modal-dialog .uk-modal-header{background:0 0;border-bottom:none;margin:0 -24px 24px;padding:0 32px 0 24px;overflow:hidden}.uk-modal-dialog .uk-modal-header .uk-modal-title{margin:0;font:500 18px/28px Roboto,sans-serif}.uk-modal-dialog .uk-modal-header .uk-modal-title span{font-size:16px;display:block;color:#727272}.uk-modal-dialog .uk-modal-header .material-icons{font-size:24px;vertical-align:-4px;cursor:default}.uk-modal-dialog .uk-modal-footer{margin:16px -16px -16px;padding:16px;background:#fff;border-top:none}.uk-modal-dialog .uk-modal-footer:after,.uk-modal-dialog .uk-modal-footer:before{content:" ";display:table}.uk-modal-dialog .uk-modal-footer:after{clear:both}.uk-modal-dialog .uk-modal-footer .md-icon-btn{margin-top:2px}.uk-modal-dialog .uk-modal-caption{bottom:16px;margin:0 32px}.uk-modal-dialog>.uk-close:first-child{top:8px;right:8px;position:absolute;float:none;margin:0}.uk-modal-dialog-lightbox{padding:0}.uk-modal-dialog-lightbox>.uk-close:first-child{top:-11px;right:-11px;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);border:none}.uk-modal-dialog .uk-overflow-container{margin:16px 0}.uk-modal .uk-margin.uk-modal-content{margin-bottom:0}.uk-modal.uk-modal-dialog-replace .uk-modal-content{font-size:18px}.uk-modal-spinner{-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear;margin-left:-12px;margin-top:-17px;left:50%;right:auto}.uk-dropdown{transform:scale(.25,0);opacity:0;transition:all 280ms cubic-bezier(.4,0,.2,1);-webkit-animation:none!important;animation:none!important;transform-origin:50% 0!important;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);border:none;border-radius:2px}.uk-dropdown.uk-dropdown-xlarge{width:360px}@media only screen and (max-width:479px){.uk-dropdown.uk-dropdown-xlarge{width:260px}}.uk-dropdown.uk-dropdown-large{width:260px}.uk-dropdown.uk-dropdown-small{width:160px}.uk-dropdown>ul>li>a{font-size:14px;color:#212121}.uk-dropdown>ul>li>a:hover{background:rgba(0,0,0,.085)}.uk-dropdown>ul>li.uk-active>a{background:rgba(0,0,0,.085)}.uk-dropdown>ul>li.padding_sm{padding:2px 4px}.uk-dropdown>ul>li.padding_md{padding:4px 8px}.uk-dropdown.dropdown-modal{z-index:1310}.uk-dropdown.dropdown-fs{z-index:9999}.uk-dropdown.uk-dropdown-scrollable{-webkit-overflow-scrolling:touch}[data-uk-dropdown*=top-] .uk-dropdown{transform-origin:50% 100%!important}[data-uk-dropdown*=left-] .uk-dropdown{transform-origin:100% 50%!important}[data-uk-dropdown*=right-] .uk-dropdown{transform-origin:0 50%!important}[data-uk-dropdown*=justify]{position:static!important}[data-uk-dropdown*=justify] [class*=uk-dropdown-width]{left:0!important;width:100%!important;min-width:inherit!important;margin-left:0!important}.uk-dropdown-active{display:block!important}.uk-dropdown-shown{transform:scale(1,1);opacity:1}.uk-nav-dropdown>li>a:focus,.uk-nav-dropdown>li>a:hover{text-shadow:none;box-shadow:none;color:#212121;background:rgba(153,153,153,.2)}.uk-form input:not([type]),.uk-form input[type=color],.uk-form input[type=date],.uk-form input[type=datetime-local],.uk-form input[type=email],.uk-form input[type=month],.uk-form input[type=number],.uk-form input[type=password],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=text],.uk-form input[type=time],.uk-form input[type=url],.uk-form input[type=week],.uk-form select,.uk-form textarea{box-sizing:border-box;padding:8px;border:1px solid rgba(0,0,0,.12);transition:border .2s ease-in;resize:none}.uk-form input:not([type]):focus,.uk-form input[type=color]:focus,.uk-form input[type=date]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=email]:focus,.uk-form input[type=month]:focus,.uk-form input[type=number]:focus,.uk-form input[type=password]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=text]:focus,.uk-form input[type=time]:focus,.uk-form input[type=url]:focus,.uk-form input[type=week]:focus,.uk-form select:focus,.uk-form textarea:focus{background:0 0;border-color:#2196f3}.uk-form textarea{transition:border-color .2s ease-in,height 280ms ease-in}.uk-form-row{transition:all .2s ease-out}.uk-form-row+.uk-form-row{margin-top:24px}.uk-form-stacked .uk-form-label{font-weight:500;font-size:13px;display:block;padding-bottom:8px}.uk-form-stacked .uk-form-label+p{margin-top:0}.uk-form-help-block{display:block;font-size:12px;color:#727272;padding:4px 0 0 0;font-style:italic}.uk-form-width-large,.uk-form-width-medium,.uk-form-width-mini,.uk-form-width-small{max-width:100%}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:48px}.uk-grid.uk-grid-small+.uk-grid-small,.uk-grid.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid.uk-grid-small>.uk-grid-margin{margin-top:10px}[class*=uk-icon-]{color:#727272}.uk-navbar{border-radius:0;border:none;box-sizing:border-box}.uk-navbar-brand{line-height:64px;display:inline-block;margin:0;text-shadow:none;color:#fff}.uk-navbar-nav>li>a{height:64px;text-shadow:none;font-size:16px;border-radius:0!important;line-height:68px;border:none!important;margin:0}.uk-navbar-nav>li>a:active,.uk-navbar-nav>li>a:hover{background:0 0}.uk-navbar-nav>li>a.uk-navbar-nav-subtitle{line-height:50px;margin:0}.uk-navbar-nav>li>a.uk-navbar-nav-subtitle>div{margin-top:-12px;font-size:11px}.uk-panel-box{border-radius:2px;background:#fff;border-color:rgba(0,0,0,.12)}.uk-panel-box .uk-panel-teaser{border-radius:2px 2px 0 0}.uk-table td{border-bottom-color:rgba(0,0,0,.12)}.uk-table th{border-bottom:1px #444}.uk-table-nowrap td,.uk-table-nowrap th{white-space:nowrap}.uk-table-align-vertical td,.uk-table-align-vertical th{vertical-align:middle}.uk-table-no-border td{border-bottom-color:transparent}.uk-sticky-placeholder .uk-active{z-index:1094}.uk-subnav-pill>*>*{color:#212121}.uk-subnav-pill>.uk-active>*{background:#7cb342}.uk-table thead th{border-bottom:2px solid rgba(0,0,0,.12)}.uk-table tfoot td,.uk-table tfoot th,.uk-table thead th{font-style:normal;font-weight:400;color:#727272;font-size:14px}.uk-table td{border-bottom-color:#e0e0e0}.uk-table tfoot td,.uk-table tfoot th{border-top:2px solid rgba(0,0,0,.12);border-bottom:none}.uk-table-striped tbody tr:nth-of-type(odd){background:rgba(0,0,0,.085)}.uk-table-hover tbody tr:hover{background:rgba(0,0,0,.085)}.uk-thumbnail{border-radius:0;border-color:rgba(0,0,0,.12)}.uk-thumbnail-caption{padding:4px 4px 0;line-height:20px;color:#727272;font-size:12px}.uk-text-small{font-size:12px}.uk-text-muted{color:#757575!important}.uk-text-primary{color:#2196f3!important}.uk-text-danger{color:#e53935!important}.uk-text-success{color:#7cb342!important}.uk-text-warning{color:#ffa000!important}.uk-margin-bottom{margin-bottom:16px!important}.uk-margin-small-bottom{margin-bottom:8px!important}.uk-margin-medium-bottom{margin-bottom:32px!important}.uk-margin-large-bottom{margin-bottom:48px!important}.uk-margin-medium-top{margin-top:32px!important}.uk-margin-large-top{margin-top:48px!important}.uk-margin-right{margin-right:16px!important}.uk-margin-medium-right{margin-right:32px!important}.uk-close{font-size:18px;opacity:1}.uk-close:focus,.uk-close:hover{opacity:1}.uk-close:after{opacity:1!important;color:#727272;content:'\e5cd';font-family:"Material Icons"}/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-accordion-title{margin-top:0;margin-bottom:15px;padding:5px 15px;background:#f5f5f5;font-size:18px;line-height:24px;cursor:pointer;border:1px solid #ddd;border-radius:4px}.uk-accordion-content{padding:0 15px 15px 15px}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content:after{clear:both}.uk-accordion-content>:last-child{margin-bottom:0}.uk-accordion-title{background:rgba(153,153,153,.2);border-radius:0;border:none;margin:0 0 4px;font-size:15px;font-weight:400;padding:8px 24px 8px 16px;position:relative}.uk-accordion-title:after{content:'\e313';font-family:"Material Icons";font-size:18px;position:absolute;top:8px;right:8px;display:block;color:#727272;transition:transform 280ms}.uk-accordion-title.uk-active:after{transform:rotate(-180deg)}.uk-accordion-title-primary{background:#2196f3;color:#fff}.uk-accordion-title-primary:after{color:#fff}.uk-accordion-title-danger{background:#e53935;color:#fff}.uk-accordion-title-danger:after{color:#fff}.uk-accordion-title-success{background:#7cb342;color:#fff}.uk-accordion-title-success:after{color:#fff}.uk-accordion-title-warning{background:#ffa000;color:#fff}.uk-accordion-title-warning:after{color:#fff}.uk-accordion-content{padding:16px}.uk-accordion-alt .uk-accordion-title{background:#fff;margin:0;padding:16px 24px 16px 48px;border-top:1px solid rgba(0,0,0,.12)}.uk-accordion-alt .uk-accordion-title:first-child{border-top:none}.uk-accordion-alt .uk-accordion-title:after{color:#2196f3;content:'\e145';right:auto;left:16px;top:16px}.uk-accordion-alt .uk-accordion-title.uk-active:after{transform:rotate(-180deg);content:'\e15b'}.uk-accordion-alt .uk-accordion-content{padding:24px}/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-dotnav{display:flex;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}.uk-dotnav>*{flex:none;padding-left:15px;margin-top:15px}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav:after{clear:both}.uk-dotnav>*{float:left}.uk-dotnav>*>*{display:block;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;overflow:hidden;white-space:nowrap}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active{background:rgba(255,255,255,.9)}.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{flex-direction:column}.uk-dotnav-vertical>*{float:none}.uk-autocomplete .uk-dropdown{display:block;max-height:0;padding:0;overflow-x:hidden;overflow-y:auto;border-radius:0;border:none;transform:scale(.25,0);opacity:0;transition:all 280ms cubic-bezier(.4,0,.2,1);-webkit-animation:none!important;animation:none!important;transform-origin:0 0}.uk-autocomplete.uk-open .uk-dropdown{transform:scale(1);opacity:1;max-height:210px}[data-uk-autocomplete] .uk-dropdown{width:100%;box-sizing:border-box}[data-uk-autocomplete] .uk-dropdown .uk-nav{margin:0}/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-slideshow{position:relative;z-index:0;width:100%;margin:0;padding:0;list-style:none;overflow:hidden;touch-action:pan-y}.uk-slideshow>li{position:absolute;top:0;left:0;width:100%;opacity:0}.uk-slideshow>.uk-active{z-index:10;opacity:1}.uk-slideshow>li>img{visibility:hidden}[data-uk-slideshow-slide]{cursor:pointer}.uk-slideshow-fullscreen,.uk-slideshow-fullscreen>li{height:100vh}.uk-slideshow-fade-in{-webkit-animation:uk-fade .5s linear;animation:uk-fade .5s linear}.uk-slideshow-fade-out{-webkit-animation:uk-fade .5s linear reverse;animation:uk-fade .5s linear reverse}.uk-slideshow-scroll-forward-in{-webkit-animation:uk-slide-right .5s ease-in-out;animation:uk-slide-right .5s ease-in-out}.uk-slideshow-scroll-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-scroll-backward-in{-webkit-animation:uk-slide-left .5s ease-in-out;animation:uk-slide-left .5s ease-in-out}.uk-slideshow-scroll-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-scale-out{-webkit-animation:uk-fade-scale-15 .5s ease-in-out reverse;animation:uk-fade-scale-15 .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in{-webkit-animation:uk-slide-left-33 .5s ease-in-out;animation:uk-slide-left-33 .5s ease-in-out}.uk-slideshow-swipe-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in{-webkit-animation:uk-slide-right-33 .5s ease-in-out;animation:uk-slide-right-33 .5s ease-in-out}.uk-slideshow-swipe-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in:before,.uk-slideshow-swipe-forward-in:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(0,0,0,.6);-webkit-animation:uk-fade .5s ease-in-out reverse;animation:uk-fade .5s ease-in-out reverse}/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */[data-uk-slider]{direction:ltr}html[dir=rtl] .uk-slider>*{direction:rtl}.uk-slider{position:relative;z-index:0;touch-action:pan-y}.uk-slider:not(.uk-grid){margin:0;padding:0;list-style:none}.uk-slider>*{position:absolute;top:0;left:0}.uk-slider-container{overflow:hidden}.uk-slider:not(.uk-drag){transition:transform .2s linear}.uk-slider.uk-drag{cursor:col-resize;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-slider a,.uk-slider img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}.uk-slider img{pointer-events:none}.uk-slider-fullscreen,.uk-slider-fullscreen>li{height:100vh}.uk-slider-container{padding:8px 0}/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-slidenav{display:inline-block;box-sizing:border-box;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-slidenav:focus,.uk-slidenav:hover{outline:0;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:focus,.uk-slidenav-contrast:hover{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)}/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */.uk-tooltip{display:none;position:absolute;z-index:1030;box-sizing:border-box;max-width:200px;padding:5px 8px;background:#333;color:rgba(255,255,255,.7);font-size:12px;line-height:18px;border-radius:3px;text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-tooltip:after{content:"";display:block;position:absolute;width:0;height:0;border:5px dashed #333}.uk-tooltip-top-left:after,.uk-tooltip-top-right:after,.uk-tooltip-top:after{bottom:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-color:#333}.uk-tooltip-bottom-left:after,.uk-tooltip-bottom-right:after,.uk-tooltip-bottom:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-bottom:after,.uk-tooltip-top:after{left:50%;margin-left:-5px}.uk-tooltip-bottom-left:after,.uk-tooltip-top-left:after{left:10px}.uk-tooltip-bottom-right:after,.uk-tooltip-top-right:after{right:10px}.uk-tooltip-left:after{right:-5px;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent;border-left-color:#333}.uk-tooltip-right:after{left:-5px;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent;border-right-color:#333}.uk-tooltip{background:#424242;color:#fff;font-size:13px;padding:3px 16px;line-height:22px;text-shadow:none;min-width:80px;text-align:center;z-index:1304;opacity:0}.uk-tooltip .uk-tooltip-inner{text-overflow:ellipsis;display:inline-block;vertical-align:top;white-space:nowrap;overflow:hidden;width:100%}.uk-tooltip:after{display:none!important}.uk-tooltip.long-text{text-align:left}.uk-tooltip.long-text .uk-tooltip-inner{white-space:normal;overflow:visible;line-height:18px;padding:4px 0}.uk-tooltip-small{transform:scale(.85)}.uk-tab{border-bottom-color:rgba(0,0,0,.12)}.uk-sticky-placeholder .uk-tab{background:#fff;padding-top:8px}.uk-tab>li{margin-bottom:0;margin-top:0;z-index:1}.uk-tab>li>a{font-size:13px;text-transform:uppercase;color:#212121;border:none;border-bottom:2px solid transparent;border-radius:0!important;font-weight:500;min-width:100px;max-width:100%;text-align:center;transition:all 220ms cubic-bezier(.4,0,.2,1);padding:8px!important;margin:0!important;box-sizing:border-box;position:relative;top:1px;text-shadow:none}.uk-tab>li>a:focus,.uk-tab>li>a:hover{background:0 0;color:#212121;border-bottom-color:#b2dbfb}.uk-tab>li.uk-active>a{background:0 0!important;border-bottom-color:#2196f3}.uk-tab>li.uk-disabled>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{color:#aaa}.uk-tab-bottom li{margin-top:0}.uk-tab-bottom li>a{border-top:2px solid transparent;border-bottom:none;top:auto;bottom:1px}.uk-tab-bottom li>a:focus,.uk-tab-bottom li>a:hover{border-top-color:#b2dbfb}.uk-tab-bottom li.uk-active>a{border-top-color:#2196f3}.uk-tab-left{border-bottom:none}.uk-tab-left li>a{border-right:2px solid transparent;border-bottom:none;text-align:right;top:auto;bottom:auto}.uk-tab-left li>a:focus,.uk-tab-left li>a:hover{border-right-color:#b2dbfb}.uk-tab-left li.uk-active>a{border-right-color:#2196f3}.uk-tab-right{border-bottom:none}.uk-tab-right li>a{border-left:2px solid transparent;border-bottom:none;text-align:left;top:auto;bottom:auto}.uk-tab-right li>a:focus,.uk-tab-right li>a:hover{border-left-color:#b2dbfb}.uk-tab-right li.uk-active>a{border-left-color:#2196f3}.uk-tab-responsive li a{border:none!important}.uk-tab-responsive>a:before{content:'\e5d2';font-family:"Material Icons";color:#727272;margin-right:8px;vertical-align:-4px;font-size:18px}.uk-tab-icons>li>a{min-width:64px}.uk-tab-icons>li>a>.material-icons{font-size:24px}.uk-tab-double-header{margin:10px 24px 0!important}.uk-tab-double-header>li>a{color:#fff;border-bottom:4px solid transparent}.uk-tab-double-header>li>a:focus,.uk-tab-double-header>li>a:hover{color:#fff;border-bottom-color:#39a1f4}.uk-tab-double-header>li.uk-active>a{color:#fff;border-bottom-color:#7cb342}.uk-tab-double-header>li.uk-tab-responsive>a{border-bottom:none;padding-bottom:5px!important}.uk-tab-double-header>li.uk-tab-responsive>a:before{color:#fff}.uk-tab-large>li{margin-bottom:0;margin-top:0;z-index:1}.uk-tab-large>li>a{font-size:16px;padding:12px 24px!important}.uk-text-truncate{display:block}.uk-switcher{overflow:hidden}.uk-switcher>li{padding:8px 4px}@media (min-width:1480px){.uk-grid-width-xLarge-1-1>*,.uk-width-xLarge-1-1{width:100%}.uk-grid-width-xLarge-1-2>*,.uk-grid-width-xLarge-2-4>*,.uk-grid-width-xLarge-3-6>*,.uk-grid-width-xLarge-5-10>*,.uk-width-xLarge-1-2,.uk-width-xLarge-2-4,.uk-width-xLarge-3-6,.uk-width-xLarge-5-10{width:50%}.uk-grid-width-xLarge-1-3>*,.uk-grid-width-xLarge-2-6>*,.uk-width-xLarge-1-3,.uk-width-xLarge-2-6{width:33.333%}.uk-grid-width-xLarge-2-3>*,.uk-grid-width-xLarge-4-6>*,.uk-width-xLarge-2-3,.uk-width-xLarge-4-6{width:66.666%}.uk-grid-width-xLarge-1-4>*,.uk-width-xLarge-1-4{width:25%}.uk-grid-width-xLarge-3-4>*,.uk-width-xLarge-3-4{width:75%}.uk-grid-width-xLarge-1-5>*,.uk-grid-width-xLarge-2-10>*,.uk-width-xLarge-1-5,.uk-width-xLarge-2-10{width:20%}.uk-grid-width-xLarge-2-5>*,.uk-grid-width-xLarge-4-10>*,.uk-width-xLarge-2-5,.uk-width-xLarge-4-10{width:40%}.uk-grid-width-xLarge-3-5>*,.uk-grid-width-xLarge-6-10>*,.uk-width-xLarge-3-5,.uk-width-xLarge-6-10{width:60%}.uk-grid-width-xLarge-4-5>*,.uk-grid-width-xLarge-8-10>*,.uk-width-xLarge-4-5,.uk-width-xLarge-8-10{width:80%}.uk-grid-width-xLarge-1-6>*,.uk-width-xLarge-1-6{width:16.666%}.uk-grid-width-xLarge-5-6>*,.uk-width-xLarge-5-6{width:83.333%}.uk-grid-width-xLarge-1-10>*,.uk-width-xLarge-1-10{width:10%}.uk-grid-width-xLarge-3-10>*,.uk-width-xLarge-3-10{width:30%}.uk-grid-width-xLarge-7-10>*,.uk-width-xLarge-7-10{width:70%}.uk-grid-width-xLarge-9-10>*,.uk-width-xLarge-9-10{width:90%}}.lte-ie9 [class*=uk-animation-]{opacity:1!important}.pricing_table.pricing_table_a{text-align:center}.pricing_table.pricing_table_a .pricing_table_plan{font-size:18px;font-weight:400;padding:16px 0;margin-bottom:16px}.pricing_table.pricing_table_a .pricing_table_price{padding:8px 0 0;font-size:48px;margin-bottom:24px}.pricing_table.pricing_table_a .pricing_table_price .currency{vertical-align:top;font-size:24px;padding:0 4px}.pricing_table.pricing_table_a .pricing_table_price .period{font-size:14px;padding:4px;color:#aaa;display:block}.pricing_table.pricing_table_a .pricing_table_features{margin:0;padding:0;list-style:none}.pricing_table.pricing_table_a .pricing_table_features>li{padding:0;margin:0;list-style:none}.pricing_table.pricing_table_a .pricing_table_features li{font-size:16px;padding:8px 0}.pricing_table.pricing_table_a .pricing_table_select{padding:32px 0}.pricing_table.pricing_table_b{text-align:center}.pricing_table.pricing_table_b .pricing_table_plan{font-size:16px;font-weight:400;padding:16px 0;margin-bottom:16px;text-transform:uppercase}.pricing_table.pricing_table_b .pricing_table_price{padding:8px 0 0;font-size:48px;margin-bottom:24px}.pricing_table.pricing_table_b .pricing_table_price .currency{vertical-align:top;font-size:24px;padding:0 4px}.pricing_table.pricing_table_b .pricing_table_price .period{font-size:14px;padding:4px;color:#aaa;display:block}.pricing_table.pricing_table_b .pricing_table_features{margin:0;padding:0;list-style:none}.pricing_table.pricing_table_b .pricing_table_features>li{padding:0;margin:0;list-style:none}.pricing_table.pricing_table_b .pricing_table_features li{font-size:16px;padding:8px 0}.pricing_table.pricing_table_b .pricing_table_select{padding:32px 0}.pricing_table.pricing_table_c{text-align:center}.pricing_table.pricing_table_c .pricing_table_plan{font-size:16px;font-weight:400;padding:16px 0;margin-bottom:8px}.pricing_table.pricing_table_c .pricing_table_price{padding:8px 0 0;font-size:48px;margin-bottom:24px}.pricing_table.pricing_table_c .pricing_table_price .currency{vertical-align:top;font-size:24px;padding:0 4px}.pricing_table.pricing_table_c .pricing_table_price .period{font-size:14px;color:#aaa;vertical-align:0;padding-left:4px}.pricing_table.pricing_table_c .pricing_table_features{margin:0;padding:0;list-style:none}.pricing_table.pricing_table_c .pricing_table_features>li{padding:0;margin:0;list-style:none}.pricing_table.pricing_table_c .pricing_table_features li{font-size:16px;padding:8px 0}.pricing_table.pricing_table_c .pricing_table_select{padding:32px 0}.al_timeline{position:relative;padding:24px 0 32px}.al_timeline:after{position:absolute;top:0;bottom:0;margin-left:-2px;left:50%;content:'';width:4px;background:rgba(255,255,255,.5);display:block}.al_timeline_block:after,.al_timeline_block:before{content:" ";display:table}.al_timeline_block:after{clear:both}.al_timeline_block+*{margin-top:48px}.al_timeline_block:nth-child(even) .al_timeline_content{float:right}.al_timeline_block:nth-child(even) .al_timeline_content:after{border-left-color:transparent;border-right-color:#fff;right:auto;left:-20px}.al_timeline_content{box-sizing:border-box;background:#fff;width:44%;padding:16px;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);position:relative;border-radius:4px}.al_timeline_content:after{position:absolute;top:24px;right:-20px;content:'';display:block;border:10px solid transparent;border-left-color:#fff}.al_timeline_image{position:absolute;left:50%;width:64px;height:64px;margin-left:-32px;background:#fff;border-radius:50%;text-align:center;z-index:10;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.al_timeline_image>i{font-size:32px;line-height:64px}@media only screen and (max-width:959px){.al_timeline:after{margin-left:0;left:30px}.al_timeline_block{padding-left:96px}.al_timeline_content{width:100%}.al_timeline_content:after{border-left-color:transparent;border-right-color:#fff;right:auto;left:-20px}.al_timeline_image{left:0;margin-left:0}}@media only screen and (max-width:767px){.al_timeline:after{margin-left:0;left:22px}.al_timeline_block{padding-left:72px}.al_timeline_content{width:100%}.al_timeline_content:after{border-left-color:transparent;border-right-color:#fff;right:auto;left:-20px;top:14px}.al_timeline_image{width:48px;height:48px;left:0;margin-left:0}.al_timeline_image>i{line-height:48px;font-size:24px}}.md-bg-cyan{background-color:#00acc1!important;color:#fff}.md-bg-light-green{background-color:#7cb342!important;color:#fff}.md-bg-grey{background-color:#616161!important;color:#fff}.md-bg-red{background-color:#d32f2f!important;color:#fff}.md-bg-light-blue{background-color:#0288d1!important;color:#fff}.md-bg-teal{background-color:#00897b!important;color:#fff}.md-bg-purple{background-color:#8e24aa!important;color:#fff}.md-btn{background:#fff;border:none;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);min-height:31px;min-width:70px;padding:2px 16px;text-align:center;text-shadow:none;text-transform:uppercase;transition:all 280ms cubic-bezier(.4,0,.2,1);color:#212121;box-sizing:border-box;cursor:pointer;-webkit-appearance:none;display:inline-block;vertical-align:middle;font:500 14px/31px Roboto,sans-serif!important}.md-btn:active,.md-btn:focus,.md-btn:hover,.uk-button-dropdown.uk-open>.md-btn{background:#fff;outline:0;text-decoration:none;color:#212121;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.md-btn:active,.uk-button-dropdown.uk-open>.md-btn{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.md-btn-flat{box-shadow:none!important;background:0 0}.md-btn-flat:focus,.md-btn-flat:hover{background:rgba(153,153,153,.2)}.md-btn-flat:active{background:rgba(153,153,153,.4)}.md-btn-flat-danger,.md-btn-flat-danger:active,.md-btn-flat-danger:focus,.md-btn-flat-danger:hover{color:#e53935}.md-btn-flat-danger:active,.md-btn-flat-danger:focus,.md-btn-flat-danger:hover{background:#fceaea}.md-btn-flat-primary,.md-btn-flat-primary:active,.md-btn-flat-primary:focus,.md-btn-flat-primary:hover{color:#1976d2}.md-btn-flat-primary:active,.md-btn-flat-primary:focus,.md-btn-flat-primary:hover{background:#e3f2fd}.md-btn-flat-success,.md-btn-flat-success:active,.md-btn-flat-success:focus,.md-btn-flat-success:hover{color:#7cb342}.md-btn-flat-success:active,.md-btn-flat-success:focus,.md-btn-flat-success:hover{background:#e1efd2}.md-btn-flat-warning,.md-btn-flat-warning:active,.md-btn-flat-warning:focus,.md-btn-flat-warning:hover{color:#ffa000}.md-btn-flat-warning:active,.md-btn-flat-warning:focus,.md-btn-flat-warning:hover{background:#ffeccc}.md-btn-flat.disabled{background:0 0!important}.md-btn-danger,.md-btn-danger:active,.md-btn-danger:focus,.md-btn-danger:hover{background:#e53935}.md-btn-primary,.md-btn-primary:active,.md-btn-primary:focus,.md-btn-primary:hover{background:#2196f3}.md-btn-success,.md-btn-success:active,.md-btn-success:focus,.md-btn-success:hover{background:#7cb342}.md-btn-warning,.md-btn-warning:active,.md-btn-warning:focus,.md-btn-warning:hover{background:#ffa000}.md-btn-danger,.md-btn-danger:active,.md-btn-danger:focus,.md-btn-danger:hover,.md-btn-danger>i,.md-btn-primary,.md-btn-primary:active,.md-btn-primary:focus,.md-btn-primary:hover,.md-btn-primary>i,.md-btn-success,.md-btn-success:active,.md-btn-success:focus,.md-btn-success:hover,.md-btn-success>i,.md-btn-warning,.md-btn-warning:active,.md-btn-warning:focus,.md-btn-warning:hover,.md-btn-warning>i{color:#fff}.md-btn.disabled,.md-btn.disabled:active,.md-btn.disabled:focus,.md-btn.disabled:hover{color:#a8a8a8;background:#eaeaea;box-shadow:none!important;cursor:default;pointer-events:none}.md-btn>i.material-icons{margin-top:5px;font-size:18px}.md-btn-mini{line-height:21px!important;min-width:12px;font-size:10px!important;min-height:24px}.md-btn-small{line-height:27px!important;min-width:14px;font-size:11px!important}.md-btn-large{line-height:42px!important;font-size:16px!important}.md-btn::-moz-focus-inner{border:0;padding:0}.md-btn+.md-btn{margin-left:8px}.md-btn-block{width:100%}.md-btn-block+.md-btn-block{margin-left:0;margin-top:12px}.md-btn+.md-btn-group{margin-left:16px}.md-btn-facebook{background:#3b5998!important}.md-btn-twitter{background:#00aced!important}.md-btn-gplus{background:#dd4b39!important}.md-btn-facebook,.md-btn-facebook>i,.md-btn-gplus,.md-btn-gplus>i,.md-btn-twitter,.md-btn-twitter>i{color:#fff!important}.md-btn-icon>i.no_margin{margin-right:0!important;margin-left:0!important}.md-btn-icon-large,.md-btn-icon.md-btn-large{min-width:72px}.md-btn-icon-large>i,.md-btn-icon.md-btn-large>i{font-size:24px;margin-right:12px;vertical-align:-3px}.md-btn-icon,.md-btn-icon-default{min-width:64px}.md-btn-icon-default>i,.md-btn-icon>i{font-size:18px;margin-right:8px;vertical-align:-2px}.md-btn-icon-small,.md-btn-icon.md-btn-small{min-width:48px}.md-btn-icon-small>i,.md-btn-icon.md-btn-small>i{font-size:16px;margin-right:6px;vertical-align:-2px}.md-btn-icon-mini,.md-btn-icon.md-btn-mini{min-width:36px}.md-btn-icon-mini>i,.md-btn-icon.md-btn-mini>i{font-size:16px;margin-right:4px;vertical-align:-2px}.md-fab{box-sizing:border-box;width:64px;height:64px;border-radius:50%;background:#fff;color:#727272;display:block;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);border:none;position:relative;text-align:center;cursor:pointer}.md-fab:active,.md-fab:focus,.md-fab:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.md-fab>i{font-size:36px;line-height:64px;height:inherit;width:inherit;position:absolute;left:0;top:0;color:#727272}.md-fab.md-fab-accent{background:#7cb342}.md-fab.md-fab-accent>i{color:#fff}.md-fab.md-fab-success{background:#7cb342}.md-fab.md-fab-success>i{color:#fff}.md-fab.md-fab-danger{background:#e53935}.md-fab.md-fab-danger>i{color:#fff}.md-fab.md-fab-primary{background:#2196f3}.md-fab.md-fab-primary>i{color:#fff}.md-fab.md-fab-warning{background:#ffa000}.md-fab.md-fab-warning>i{color:#fff}.md-fab.md-fab-small{width:48px;height:48px;border-radius:50%}.md-fab.md-fab-small>i{line-height:48px;height:inherit;width:inherit;font-size:24px}.md-fab-speed-dial .md-fab-action-close{display:none}.md-fab-wrapper{position:fixed;bottom:24px;right:24px;z-index:1004;transition:margin 280ms cubic-bezier(.4,0,.2,1)}@media only screen and (max-width:767px){.md-fab-wrapper{bottom:20px;right:20px}}.md-fab-wrapper>.md-fab+.md-fab{margin-top:16px}.md-fab-wrapper.md-fab-in-card{position:absolute}.md-fab-speed-dial .md-fab-wrapper-small{position:absolute;bottom:80px;right:8px;min-height:48px;width:48px;z-index:-1}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small{transform:scale(0);opacity:0;position:absolute;right:0}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(1){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(2){bottom:64px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(2){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(3){bottom:128px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(3){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(4){bottom:192px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(4){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(5){bottom:256px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(5){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(6){bottom:320px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(6){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(7){bottom:384px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(7){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(8){bottom:448px}.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(8){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s}.md-fab-speed-dial.md-fab-active .md-fab-small{transform:scale(1);opacity:1;z-index:10}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(1){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 50ms,opacity .1s cubic-bezier(.4,0,.2,1) 50ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(2){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .1s,opacity .1s cubic-bezier(.4,0,.2,1) .1s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(3){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 150ms,opacity .1s cubic-bezier(.4,0,.2,1) 150ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(4){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .2s,opacity .1s cubic-bezier(.4,0,.2,1) .2s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(5){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 250ms,opacity .1s cubic-bezier(.4,0,.2,1) 250ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(6){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .3s,opacity .1s cubic-bezier(.4,0,.2,1) .3s}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(7){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) 350ms,opacity .1s cubic-bezier(.4,0,.2,1) 350ms}.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(8){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1) .4s,opacity .1s cubic-bezier(.4,0,.2,1) .4s}.md-fab-toolbar{transition:all 280ms cubic-bezier(.4,0,.2,1);cursor:default}.md-fab-toolbar>i{cursor:pointer}.md-fab-toolbar-actions{visibility:hidden;white-space:nowrap;padding:0 16px;overflow:hidden;box-sizing:border-box}.md-fab-toolbar-actions>a,.md-fab-toolbar-actions>button{display:block;float:left;opacity:0;margin:0 0 0 16px;height:64px;width:48px;box-sizing:border-box;transition:opacity 280ms cubic-bezier(.4,0,.2,1);background:0 0;border:none;outline:0;cursor:pointer}.md-fab-toolbar-actions>a:first-child,.md-fab-toolbar-actions>button:first-child{margin-left:0}.md-fab-toolbar-actions .material-icons{font-size:36px;line-height:64px}.md-fab-toolbar.md-fab-animated{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);border-radius:4px}.md-fab-toolbar.md-fab-animated>i{display:none}.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions{visibility:visible}.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions>a,.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions>button{opacity:1}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions>a,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions>button{height:48px;width:36px;padding:0;margin:0 0 0 8px}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions>a:first-child,.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions>button:first-child{margin-left:0}.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions .material-icons{font-size:24px;line-height:48px;height:inherit}.md-fab-sheet{transition:all 280ms cubic-bezier(.4,0,.2,1);cursor:default}.md-fab-sheet>i{cursor:pointer}.md-fab-sheet-actions{visibility:hidden;white-space:nowrap;overflow:hidden;box-sizing:border-box;padding:4px 0}.md-fab-sheet-actions>a{display:block;opacity:0;padding:4px 16px;box-sizing:border-box;font:400 16px/32px Roboto,sans-serif;text-align:left}.md-fab-sheet-actions>a,.md-fab-sheet-actions>a:hover{color:#212121}.md-fab-sheet-actions .material-icons{font-size:24px;margin-right:8px;vertical-align:-6px}.md-fab-sheet.md-fab-animated{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);border-radius:4px}.md-fab-sheet.md-fab-animated>i{display:none}.md-fab-sheet.md-fab-active .md-fab-sheet-actions{visibility:visible}.md-fab-sheet.md-fab-active .md-fab-sheet-actions>a{opacity:1}.sidebar_secondary_active .md-fab-wrapper{margin-right:264px}@media only screen and (max-width:767px){.sidebar_secondary_active .md-fab-wrapper{margin-right:280px}}.md-toggle-group .md-toggle-button{border-width:0 0 2px;border-style:solid;border-color:transparent;background:0 0;line-height:30px;min-width:42px;text-align:center;padding:0 8px;vertical-align:middle;cursor:pointer}.md-toggle-group .md-toggle-button.md-toggle-active{border-bottom-color:#212121}.md-toggle-group.md-toggle-group-small .md-toggle-button{font-size:11px;line-height:24px;min-width:16px;padding:0 6px}.md-btn-group{display:inline-block;vertical-align:top;position:relative;font-size:0;white-space:nowrap}.md-btn-group .md-btn{vertical-align:top;margin-left:0!important}.md-btn-group .md-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.md-btn-group .md-btn:not(:first-child):not(:last-child){border-radius:0}.md-btn-group .md-btn:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.md-color-red-50{color:#ffebee!important}.md-bg-red-50{background-color:#ffebee!important}.md-color-red-100{color:#ffcdd2!important}.md-bg-red-100{background-color:#ffcdd2!important}.md-color-red-200{color:#ef9a9a!important}.md-bg-red-200{background-color:#ef9a9a!important}.md-color-red-300{color:#e57373!important}.md-bg-red-300{background-color:#e57373!important}.md-color-red-400{color:#ef5350!important}.md-bg-red-400{background-color:#ef5350!important}.md-color-red-500{color:#f44336!important}.md-bg-red-500{background-color:#f44336!important}.md-color-red-600{color:#e53935!important}.md-bg-red-600{background-color:#e53935!important}.md-color-red-700{color:#d32f2f!important}.md-bg-red-700{background-color:#d32f2f!important}.md-color-red-800{color:#c62828!important}.md-bg-red-800{background-color:#c62828!important}.md-color-red-900{color:#b71c1c!important}.md-bg-red-900{background-color:#b71c1c!important}.md-color-red-A100{color:#ff8a80!important}.md-bg-red-A100{background-color:#ff8a80!important}.md-color-red-A200{color:#ff5252!important}.md-bg-red-A200{background-color:#ff5252!important}.md-color-red-A400{color:#ff1744!important}.md-bg-red-A400{background-color:#ff1744!important}.md-color-red-A700{color:#d50000!important}.md-bg-red-A700{background-color:#d50000!important}.md-color-pink-50{color:#fce4ec!important}.md-bg-pink-50{background-color:#fce4ec!important}.md-color-pink-100{color:#f8bbd0!important}.md-bg-pink-100{background-color:#f8bbd0!important}.md-color-pink-200{color:#f48fb1!important}.md-bg-pink-200{background-color:#f48fb1!important}.md-color-pink-300{color:#f06292!important}.md-bg-pink-300{background-color:#f06292!important}.md-color-pink-400{color:#ec407a!important}.md-bg-pink-400{background-color:#ec407a!important}.md-color-pink-500{color:#e91e63!important}.md-bg-pink-500{background-color:#e91e63!important}.md-color-pink-600{color:#d81b60!important}.md-bg-pink-600{background-color:#d81b60!important}.md-color-pink-700{color:#c2185b!important}.md-bg-pink-700{background-color:#c2185b!important}.md-color-pink-800{color:#ad1457!important}.md-bg-pink-800{background-color:#ad1457!important}.md-color-pink-900{color:#880e4f!important}.md-bg-pink-900{background-color:#880e4f!important}.md-color-pink-A100{color:#ff80ab!important}.md-bg-pink-A100{background-color:#ff80ab!important}.md-color-pink-A200{color:#ff4081!important}.md-bg-pink-A200{background-color:#ff4081!important}.md-color-pink-A400{color:#f50057!important}.md-bg-pink-A400{background-color:#f50057!important}.md-color-pink-A700{color:#c51162!important}.md-bg-pink-A700{background-color:#c51162!important}.md-color-purple-50{color:#f3e5f5!important}.md-bg-purple-50{background-color:#f3e5f5!important}.md-color-purple-100{color:#e1bee7!important}.md-bg-purple-100{background-color:#e1bee7!important}.md-color-purple-200{color:#ce93d8!important}.md-bg-purple-200{background-color:#ce93d8!important}.md-color-purple-300{color:#ba68c8!important}.md-bg-purple-300{background-color:#ba68c8!important}.md-color-purple-400{color:#ab47bc!important}.md-bg-purple-400{background-color:#ab47bc!important}.md-color-purple-500{color:#9c27b0!important}.md-bg-purple-500{background-color:#9c27b0!important}.md-color-purple-600{color:#8e24aa!important}.md-bg-purple-600{background-color:#8e24aa!important}.md-color-purple-700{color:#7b1fa2!important}.md-bg-purple-700{background-color:#7b1fa2!important}.md-color-purple-800{color:#6a1b9a!important}.md-bg-purple-800{background-color:#6a1b9a!important}.md-color-purple-900{color:#4a148c!important}.md-bg-purple-900{background-color:#4a148c!important}.md-color-purple-A100{color:#ea80fc!important}.md-bg-purple-A100{background-color:#ea80fc!important}.md-color-purple-A200{color:#e040fb!important}.md-bg-purple-A200{background-color:#e040fb!important}.md-color-purple-A400{color:#d500f9!important}.md-bg-purple-A400{background-color:#d500f9!important}.md-color-purple-A700{color:#a0f!important}.md-bg-purple-A700{background-color:#a0f!important}.md-color-deep-purple-50{color:#ede7f6!important}.md-bg-deep-purple-50{background-color:#ede7f6!important}.md-color-deep-purple-100{color:#d1c4e9!important}.md-bg-deep-purple-100{background-color:#d1c4e9!important}.md-color-deep-purple-200{color:#b39ddb!important}.md-bg-deep-purple-200{background-color:#b39ddb!important}.md-color-deep-purple-300{color:#9575cd!important}.md-bg-deep-purple-300{background-color:#9575cd!important}.md-color-deep-purple-400{color:#7e57c2!important}.md-bg-deep-purple-400{background-color:#7e57c2!important}.md-color-deep-purple-500{color:#673ab7!important}.md-bg-deep-purple-500{background-color:#673ab7!important}.md-color-deep-purple-600{color:#5e35b1!important}.md-bg-deep-purple-600{background-color:#5e35b1!important}.md-color-deep-purple-700{color:#512da8!important}.md-bg-deep-purple-700{background-color:#512da8!important}.md-color-deep-purple-800{color:#4527a0!important}.md-bg-deep-purple-800{background-color:#4527a0!important}.md-color-deep-purple-900{color:#311b92!important}.md-bg-deep-purple-900{background-color:#311b92!important}.md-color-deep-purple-A100{color:#b388ff!important}.md-bg-deep-purple-A100{background-color:#b388ff!important}.md-color-deep-purple-A200{color:#7c4dff!important}.md-bg-deep-purple-A200{background-color:#7c4dff!important}.md-color-deep-purple-A400{color:#651fff!important}.md-bg-deep-purple-A400{background-color:#651fff!important}.md-color-deep-purple-A700{color:#6200ea!important}.md-bg-deep-purple-A700{background-color:#6200ea!important}.md-color-indigo-50{color:#e8eaf6!important}.md-bg-indigo-50{background-color:#e8eaf6!important}.md-color-indigo-100{color:#c5cae9!important}.md-bg-indigo-100{background-color:#c5cae9!important}.md-color-indigo-200{color:#9fa8da!important}.md-bg-indigo-200{background-color:#9fa8da!important}.md-color-indigo-300{color:#7986cb!important}.md-bg-indigo-300{background-color:#7986cb!important}.md-color-indigo-400{color:#5c6bc0!important}.md-bg-indigo-400{background-color:#5c6bc0!important}.md-color-indigo-500{color:#3f51b5!important}.md-bg-indigo-500{background-color:#3f51b5!important}.md-color-indigo-600{color:#3949ab!important}.md-bg-indigo-600{background-color:#3949ab!important}.md-color-indigo-700{color:#303f9f!important}.md-bg-indigo-700{background-color:#303f9f!important}.md-color-indigo-800{color:#283593!important}.md-bg-indigo-800{background-color:#283593!important}.md-color-indigo-900{color:#1a237e!important}.md-bg-indigo-900{background-color:#1a237e!important}.md-color-indigo-A100{color:#8c9eff!important}.md-bg-indigo-A100{background-color:#8c9eff!important}.md-color-indigo-A200{color:#536dfe!important}.md-bg-indigo-A200{background-color:#536dfe!important}.md-color-indigo-A400{color:#3d5afe!important}.md-bg-indigo-A400{background-color:#3d5afe!important}.md-color-indigo-A700{color:#304ffe!important}.md-bg-indigo-A700{background-color:#304ffe!important}.md-color-blue-50{color:#e3f2fd!important}.md-bg-blue-50{background-color:#e3f2fd!important}.md-color-blue-100{color:#bbdefb!important}.md-bg-blue-100{background-color:#bbdefb!important}.md-color-blue-200{color:#90caf9!important}.md-bg-blue-200{background-color:#90caf9!important}.md-color-blue-300{color:#64b5f6!important}.md-bg-blue-300{background-color:#64b5f6!important}.md-color-blue-400{color:#42a5f5!important}.md-bg-blue-400{background-color:#42a5f5!important}.md-color-blue-500{color:#2196f3!important}.md-bg-blue-500{background-color:#2196f3!important}.md-color-blue-600{color:#1e88e5!important}.md-bg-blue-600{background-color:#1e88e5!important}.md-color-blue-700{color:#1976d2!important}.md-bg-blue-700{background-color:#1976d2!important}.md-color-blue-800{color:#1565c0!important}.md-bg-blue-800{background-color:#1565c0!important}.md-color-blue-900{color:#0d47a1!important}.md-bg-blue-900{background-color:#0d47a1!important}.md-color-blue-A100{color:#82b1ff!important}.md-bg-blue-A100{background-color:#82b1ff!important}.md-color-blue-A200{color:#448aff!important}.md-bg-blue-A200{background-color:#448aff!important}.md-color-blue-A400{color:#2979ff!important}.md-bg-blue-A400{background-color:#2979ff!important}.md-color-blue-A700{color:#2962ff!important}.md-bg-blue-A700{background-color:#2962ff!important}.md-color-light-blue-50{color:#e1f5fe!important}.md-bg-light-blue-50{background-color:#e1f5fe!important}.md-color-light-blue-100{color:#b3e5fc!important}.md-bg-light-blue-100{background-color:#b3e5fc!important}.md-color-light-blue-200{color:#81d4fa!important}.md-bg-light-blue-200{background-color:#81d4fa!important}.md-color-light-blue-300{color:#4fc3f7!important}.md-bg-light-blue-300{background-color:#4fc3f7!important}.md-color-light-blue-400{color:#29b6f6!important}.md-bg-light-blue-400{background-color:#29b6f6!important}.md-color-light-blue-500{color:#03a9f4!important}.md-bg-light-blue-500{background-color:#03a9f4!important}.md-color-light-blue-600{color:#039be5!important}.md-bg-light-blue-600{background-color:#039be5!important}.md-color-light-blue-700{color:#0288d1!important}.md-bg-light-blue-700{background-color:#0288d1!important}.md-color-light-blue-800{color:#0277bd!important}.md-bg-light-blue-800{background-color:#0277bd!important}.md-color-light-blue-900{color:#01579b!important}.md-bg-light-blue-900{background-color:#01579b!important}.md-color-light-blue-A100{color:#80d8ff!important}.md-bg-light-blue-A100{background-color:#80d8ff!important}.md-color-light-blue-A200{color:#40c4ff!important}.md-bg-light-blue-A200{background-color:#40c4ff!important}.md-color-light-blue-A400{color:#00b0ff!important}.md-bg-light-blue-A400{background-color:#00b0ff!important}.md-color-light-blue-A700{color:#0091ea!important}.md-bg-light-blue-A700{background-color:#0091ea!important}.md-color-cyan-50{color:#e0f7fa!important}.md-bg-cyan-50{background-color:#e0f7fa!important}.md-color-cyan-100{color:#b2ebf2!important}.md-bg-cyan-100{background-color:#b2ebf2!important}.md-color-cyan-200{color:#80deea!important}.md-bg-cyan-200{background-color:#80deea!important}.md-color-cyan-300{color:#4dd0e1!important}.md-bg-cyan-300{background-color:#4dd0e1!important}.md-color-cyan-400{color:#26c6da!important}.md-bg-cyan-400{background-color:#26c6da!important}.md-color-cyan-500{color:#00bcd4!important}.md-bg-cyan-500{background-color:#00bcd4!important}.md-color-cyan-600{color:#00acc1!important}.md-bg-cyan-600{background-color:#00acc1!important}.md-color-cyan-700{color:#0097a7!important}.md-bg-cyan-700{background-color:#0097a7!important}.md-color-cyan-800{color:#00838f!important}.md-bg-cyan-800{background-color:#00838f!important}.md-color-cyan-900{color:#006064!important}.md-bg-cyan-900{background-color:#006064!important}.md-color-cyan-A100{color:#84ffff!important}.md-bg-cyan-A100{background-color:#84ffff!important}.md-color-cyan-A200{color:#18ffff!important}.md-bg-cyan-A200{background-color:#18ffff!important}.md-color-cyan-A400{color:#00e5ff!important}.md-bg-cyan-A400{background-color:#00e5ff!important}.md-color-cyan-A700{color:#00b8d4!important}.md-bg-cyan-A700{background-color:#00b8d4!important}.md-color-teal-50{color:#e0f2f1!important}.md-bg-teal-50{background-color:#e0f2f1!important}.md-color-teal-100{color:#b2dfdb!important}.md-bg-teal-100{background-color:#b2dfdb!important}.md-color-teal-200{color:#80cbc4!important}.md-bg-teal-200{background-color:#80cbc4!important}.md-color-teal-300{color:#4db6ac!important}.md-bg-teal-300{background-color:#4db6ac!important}.md-color-teal-400{color:#26a69a!important}.md-bg-teal-400{background-color:#26a69a!important}.md-color-teal-500{color:#009688!important}.md-bg-teal-500{background-color:#009688!important}.md-color-teal-600{color:#00897b!important}.md-bg-teal-600{background-color:#00897b!important}.md-color-teal-700{color:#00796b!important}.md-bg-teal-700{background-color:#00796b!important}.md-color-teal-800{color:#00695c!important}.md-bg-teal-800{background-color:#00695c!important}.md-color-teal-900{color:#004d40!important}.md-bg-teal-900{background-color:#004d40!important}.md-color-teal-A100{color:#a7ffeb!important}.md-bg-teal-A100{background-color:#a7ffeb!important}.md-color-teal-A200{color:#64ffda!important}.md-bg-teal-A200{background-color:#64ffda!important}.md-color-teal-A400{color:#1de9b6!important}.md-bg-teal-A400{background-color:#1de9b6!important}.md-color-teal-A700{color:#00bfa5!important}.md-bg-teal-A700{background-color:#00bfa5!important}.md-color-green-50{color:#e8f5e9!important}.md-bg-green-50{background-color:#e8f5e9!important}.md-color-green-100{color:#c8e6c9!important}.md-bg-green-100{background-color:#c8e6c9!important}.md-color-green-200{color:#a5d6a7!important}.md-bg-green-200{background-color:#a5d6a7!important}.md-color-green-300{color:#81c784!important}.md-bg-green-300{background-color:#81c784!important}.md-color-green-400{color:#66bb6a!important}.md-bg-green-400{background-color:#66bb6a!important}.md-color-green-500{color:#4caf50!important}.md-bg-green-500{background-color:#4caf50!important}.md-color-green-600{color:#43a047!important}.md-bg-green-600{background-color:#43a047!important}.md-color-green-700{color:#388e3c!important}.md-bg-green-700{background-color:#388e3c!important}.md-color-green-800{color:#2e7d32!important}.md-bg-green-800{background-color:#2e7d32!important}.md-color-green-900{color:#1b5e20!important}.md-bg-green-900{background-color:#1b5e20!important}.md-color-green-A100{color:#b9f6ca!important}.md-bg-green-A100{background-color:#b9f6ca!important}.md-color-green-A200{color:#69f0ae!important}.md-bg-green-A200{background-color:#69f0ae!important}.md-color-green-A400{color:#00e676!important}.md-bg-green-A400{background-color:#00e676!important}.md-color-green-A700{color:#00c853!important}.md-bg-green-A700{background-color:#00c853!important}.md-color-light-green-50{color:#f1f8e9!important}.md-bg-light-green-50{background-color:#f1f8e9!important}.md-color-light-green-100{color:#dcedc8!important}.md-bg-light-green-100{background-color:#dcedc8!important}.md-color-light-green-200{color:#c5e1a5!important}.md-bg-light-green-200{background-color:#c5e1a5!important}.md-color-light-green-300{color:#aed581!important}.md-bg-light-green-300{background-color:#aed581!important}.md-color-light-green-400{color:#9ccc65!important}.md-bg-light-green-400{background-color:#9ccc65!important}.md-color-light-green-500{color:#8bc34a!important}.md-bg-light-green-500{background-color:#8bc34a!important}.md-color-light-green-600{color:#7cb342!important}.md-bg-light-green-600{background-color:#7cb342!important}.md-color-light-green-700{color:#689f38!important}.md-bg-light-green-700{background-color:#689f38!important}.md-color-light-green-800{color:#558b2f!important}.md-bg-light-green-800{background-color:#558b2f!important}.md-color-light-green-900{color:#33691e!important}.md-bg-light-green-900{background-color:#33691e!important}.md-color-light-green-A100{color:#ccff90!important}.md-bg-light-green-A100{background-color:#ccff90!important}.md-color-light-green-A200{color:#b2ff59!important}.md-bg-light-green-A200{background-color:#b2ff59!important}.md-color-light-green-A400{color:#76ff03!important}.md-bg-light-green-A400{background-color:#76ff03!important}.md-color-light-green-A700{color:#64dd17!important}.md-bg-light-green-A700{background-color:#64dd17!important}.md-color-lime-50{color:#f9fbe7!important}.md-bg-lime-50{background-color:#f9fbe7!important}.md-color-lime-100{color:#f0f4c3!important}.md-bg-lime-100{background-color:#f0f4c3!important}.md-color-lime-200{color:#e6ee9c!important}.md-bg-lime-200{background-color:#e6ee9c!important}.md-color-lime-300{color:#dce775!important}.md-bg-lime-300{background-color:#dce775!important}.md-color-lime-400{color:#d4e157!important}.md-bg-lime-400{background-color:#d4e157!important}.md-color-lime-500{color:#cddc39!important}.md-bg-lime-500{background-color:#cddc39!important}.md-color-lime-600{color:#c0ca33!important}.md-bg-lime-600{background-color:#c0ca33!important}.md-color-lime-700{color:#afb42b!important}.md-bg-lime-700{background-color:#afb42b!important}.md-color-lime-800{color:#9e9d24!important}.md-bg-lime-800{background-color:#9e9d24!important}.md-color-lime-900{color:#827717!important}.md-bg-lime-900{background-color:#827717!important}.md-color-lime-A100{color:#f4ff81!important}.md-bg-lime-A100{background-color:#f4ff81!important}.md-color-lime-A200{color:#eeff41!important}.md-bg-lime-A200{background-color:#eeff41!important}.md-color-lime-A400{color:#c6ff00!important}.md-bg-lime-A400{background-color:#c6ff00!important}.md-color-lime-A700{color:#aeea00!important}.md-bg-lime-A700{background-color:#aeea00!important}.md-color-yellow-50{color:#fffde7!important}.md-bg-yellow-50{background-color:#fffde7!important}.md-color-yellow-100{color:#fff9c4!important}.md-bg-yellow-100{background-color:#fff9c4!important}.md-color-yellow-200{color:#fff59d!important}.md-bg-yellow-200{background-color:#fff59d!important}.md-color-yellow-300{color:#fff176!important}.md-bg-yellow-300{background-color:#fff176!important}.md-color-yellow-400{color:#ffee58!important}.md-bg-yellow-400{background-color:#ffee58!important}.md-color-yellow-500{color:#ffeb3b!important}.md-bg-yellow-500{background-color:#ffeb3b!important}.md-color-yellow-600{color:#fdd835!important}.md-bg-yellow-600{background-color:#fdd835!important}.md-color-yellow-700{color:#fbc02d!important}.md-bg-yellow-700{background-color:#fbc02d!important}.md-color-yellow-800{color:#f9a825!important}.md-bg-yellow-800{background-color:#f9a825!important}.md-color-yellow-900{color:#f57f17!important}.md-bg-yellow-900{background-color:#f57f17!important}.md-color-yellow-A100{color:#ffff8d!important}.md-bg-yellow-A100{background-color:#ffff8d!important}.md-color-yellow-A200{color:#ff0!important}.md-bg-yellow-A200{background-color:#ff0!important}.md-color-yellow-A400{color:#ffea00!important}.md-bg-yellow-A400{background-color:#ffea00!important}.md-color-yellow-A700{color:#ffd600!important}.md-bg-yellow-A700{background-color:#ffd600!important}.md-color-amber-50{color:#fff8e1!important}.md-bg-amber-50{background-color:#fff8e1!important}.md-color-amber-100{color:#ffecb3!important}.md-bg-amber-100{background-color:#ffecb3!important}.md-color-amber-200{color:#ffe082!important}.md-bg-amber-200{background-color:#ffe082!important}.md-color-amber-300{color:#ffd54f!important}.md-bg-amber-300{background-color:#ffd54f!important}.md-color-amber-400{color:#ffca28!important}.md-bg-amber-400{background-color:#ffca28!important}.md-color-amber-500{color:#ffc107!important}.md-bg-amber-500{background-color:#ffc107!important}.md-color-amber-600{color:#ffb300!important}.md-bg-amber-600{background-color:#ffb300!important}.md-color-amber-700{color:#ffa000!important}.md-bg-amber-700{background-color:#ffa000!important}.md-color-amber-800{color:#ff8f00!important}.md-bg-amber-800{background-color:#ff8f00!important}.md-color-amber-900{color:#ff6f00!important}.md-bg-amber-900{background-color:#ff6f00!important}.md-color-amber-A100{color:#ffe57f!important}.md-bg-amber-A100{background-color:#ffe57f!important}.md-color-amber-A200{color:#ffd740!important}.md-bg-amber-A200{background-color:#ffd740!important}.md-color-amber-A400{color:#ffc400!important}.md-bg-amber-A400{background-color:#ffc400!important}.md-color-amber-A700{color:#ffab00!important}.md-bg-amber-A700{background-color:#ffab00!important}.md-color-orange-50{color:#fff3e0!important}.md-bg-orange-50{background-color:#fff3e0!important}.md-color-orange-100{color:#ffe0b2!important}.md-bg-orange-100{background-color:#ffe0b2!important}.md-color-orange-200{color:#ffcc80!important}.md-bg-orange-200{background-color:#ffcc80!important}.md-color-orange-300{color:#ffb74d!important}.md-bg-orange-300{background-color:#ffb74d!important}.md-color-orange-400{color:#ffa726!important}.md-bg-orange-400{background-color:#ffa726!important}.md-color-orange-500{color:#ff9800!important}.md-bg-orange-500{background-color:#ff9800!important}.md-color-orange-600{color:#fb8c00!important}.md-bg-orange-600{background-color:#fb8c00!important}.md-color-orange-700{color:#f57c00!important}.md-bg-orange-700{background-color:#f57c00!important}.md-color-orange-800{color:#ef6c00!important}.md-bg-orange-800{background-color:#ef6c00!important}.md-color-orange-900{color:#e65100!important}.md-bg-orange-900{background-color:#e65100!important}.md-color-orange-A100{color:#ffd180!important}.md-bg-orange-A100{background-color:#ffd180!important}.md-color-orange-A200{color:#ffab40!important}.md-bg-orange-A200{background-color:#ffab40!important}.md-color-orange-A400{color:#ff9100!important}.md-bg-orange-A400{background-color:#ff9100!important}.md-color-orange-A700{color:#ff6d00!important}.md-bg-orange-A700{background-color:#ff6d00!important}.md-color-deep-orange-50{color:#fbe9e7!important}.md-bg-deep-orange-50{background-color:#fbe9e7!important}.md-color-deep-orange-100{color:#ffccbc!important}.md-bg-deep-orange-100{background-color:#ffccbc!important}.md-color-deep-orange-200{color:#ffab91!important}.md-bg-deep-orange-200{background-color:#ffab91!important}.md-color-deep-orange-300{color:#ff8a65!important}.md-bg-deep-orange-300{background-color:#ff8a65!important}.md-color-deep-orange-400{color:#ff7043!important}.md-bg-deep-orange-400{background-color:#ff7043!important}.md-color-deep-orange-500{color:#ff5722!important}.md-bg-deep-orange-500{background-color:#ff5722!important}.md-color-deep-orange-600{color:#f4511e!important}.md-bg-deep-orange-600{background-color:#f4511e!important}.md-color-deep-orange-700{color:#e64a19!important}.md-bg-deep-orange-700{background-color:#e64a19!important}.md-color-deep-orange-800{color:#d84315!important}.md-bg-deep-orange-800{background-color:#d84315!important}.md-color-deep-orange-900{color:#bf360c!important}.md-bg-deep-orange-900{background-color:#bf360c!important}.md-color-deep-orange-A100{color:#ff9e80!important}.md-bg-deep-orange-A100{background-color:#ff9e80!important}.md-color-deep-orange-A200{color:#ff6e40!important}.md-bg-deep-orange-A200{background-color:#ff6e40!important}.md-color-deep-orange-A400{color:#ff3d00!important}.md-bg-deep-orange-A400{background-color:#ff3d00!important}.md-color-deep-orange-A700{color:#dd2c00!important}.md-bg-deep-orange-A700{background-color:#dd2c00!important}.md-color-brown-50{color:#efebe9!important}.md-bg-brown-50{background-color:#efebe9!important}.md-color-brown-100{color:#d7ccc8!important}.md-bg-brown-100{background-color:#d7ccc8!important}.md-color-brown-200{color:#bcaaa4!important}.md-bg-brown-200{background-color:#bcaaa4!important}.md-color-brown-300{color:#a1887f!important}.md-bg-brown-300{background-color:#a1887f!important}.md-color-brown-400{color:#8d6e63!important}.md-bg-brown-400{background-color:#8d6e63!important}.md-color-brown-500{color:#795548!important}.md-bg-brown-500{background-color:#795548!important}.md-color-brown-600{color:#6d4c41!important}.md-bg-brown-600{background-color:#6d4c41!important}.md-color-brown-700{color:#5d4037!important}.md-bg-brown-700{background-color:#5d4037!important}.md-color-brown-800{color:#4e342e!important}.md-bg-brown-800{background-color:#4e342e!important}.md-color-brown-900{color:#3e2723!important}.md-bg-brown-900{background-color:#3e2723!important}.md-color-grey-50{color:#fafafa!important}.md-bg-grey-50{background-color:#fafafa!important}.md-color-grey-100{color:#f5f5f5!important}.md-bg-grey-100{background-color:#f5f5f5!important}.md-color-grey-200{color:#eee!important}.md-bg-grey-200{background-color:#eee!important}.md-color-grey-300{color:#e0e0e0!important}.md-bg-grey-300{background-color:#e0e0e0!important}.md-color-grey-400{color:#bdbdbd!important}.md-bg-grey-400{background-color:#bdbdbd!important}.md-color-grey-500{color:#9e9e9e!important}.md-bg-grey-500{background-color:#9e9e9e!important}.md-color-grey-600{color:#757575!important}.md-bg-grey-600{background-color:#757575!important}.md-color-grey-700{color:#616161!important}.md-bg-grey-700{background-color:#616161!important}.md-color-grey-800{color:#424242!important}.md-bg-grey-800{background-color:#424242!important}.md-color-grey-900{color:#212121!important}.md-bg-grey-900{background-color:#212121!important}.md-color-blue-grey-50{color:#eceff1!important}.md-bg-blue-grey-50{background-color:#eceff1!important}.md-color-blue-grey-100{color:#cfd8dc!important}.md-bg-blue-grey-100{background-color:#cfd8dc!important}.md-color-blue-grey-200{color:#b0bec5!important}.md-bg-blue-grey-200{background-color:#b0bec5!important}.md-color-blue-grey-300{color:#90a4ae!important}.md-bg-blue-grey-300{background-color:#90a4ae!important}.md-color-blue-grey-400{color:#78909c!important}.md-bg-blue-grey-400{background-color:#78909c!important}.md-color-blue-grey-500{color:#607d8b!important}.md-bg-blue-grey-500{background-color:#607d8b!important}.md-color-blue-grey-600{color:#546e7a!important}.md-bg-blue-grey-600{background-color:#546e7a!important}.md-color-blue-grey-700{color:#455a64!important}.md-bg-blue-grey-700{background-color:#455a64!important}.md-color-blue-grey-800{color:#37474f!important}.md-bg-blue-grey-800{background-color:#37474f!important}.md-color-blue-grey-900{color:#263238!important}.md-bg-blue-grey-900{background-color:#263238!important}.md-color-white{color:#fff!important}.md-card{background:#fff;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);border:none}.md-card+.md-card,.md-card+.uk-grid,.uk-grid+.md-card{margin-top:25px}.md-card .full_width_in_card{padding:16px 24px;background:rgba(0,0,0,.085)}.md-card .md-card-toolbar{height:64px;padding:0 16px;border-bottom:1px solid rgba(0,0,0,.12);background:#fff}.md-card .md-card-toolbar:after,.md-card .md-card-toolbar:before{content:" ";display:table}.md-card .md-card-toolbar:after{clear:both}.md-card .md-card-toolbar-heading-text{font:500 14px/50px Roboto,sans-serif;color:#212121;margin:0;float:left;overflow:hidden;height:48px}.md-card .md-card-toolbar-heading-text.large{font-size:18px;font-weight:400}.md-card .md-card-toolbar .md-toggle-group{float:left;margin:8px 0 0 16px}.md-card .md-card-toolbar .md-toggle-group.md-toggle-group-small{margin-top:10px}.md-card .md-card-toolbar .md-card-toolbar-actions{float:right;padding-top:10px}.md-card .md-card-toolbar .md-card-toolbar-actions .uk-open .md-card-toolbar-icon{background:rgba(0,0,0,.085);color:#212121}.md-card .md-card-toolbar .md-card-toolbar-actions .md-card-dropdown{display:inline-block;position:relative}.md-card .md-card-toolbar .md-card-toolbar-actions .selectize-control{min-width:220px;margin-top:-3px}.md-card .md-card-toolbar .md-card-toolbar-actions .selectize-control .selectize-input{min-height:30px;padding:4px 8px}.md-card .md-card-toolbar .md-card-toolbar-actions .selectize-control .selectize-dropdown{margin-top:-34px}.md-card .md-card-toolbar .md-icon+.md-card-dropdown{margin-left:4px}.md-card .md-card-toolbar .md-card-fullscreen-deactivate{margin:9px 8px 0 0}.md-card .md-card-toolbar-input{border:none;font:400 18px/24px Roboto,sans-serif;height:auto;background:0 0!important;padding:12px 0;width:50%;box-sizing:border-box}.md-card .md-card-toolbar .uk-tab{margin-top:-2px;border-bottom:none}.md-card .md-card-toolbar .uk-tab li>a{padding:10px 8px!important}.md-card .md-card-head{height:160px;position:relative;border-bottom:1px solid rgba(0,0,0,.12)}.md-card .md-card-head-menu{position:absolute;right:8px;top:8px}.md-card .md-card-head-avatar{width:82px;height:82px;border-radius:50%;margin-top:16px;border:2px solid #fff;display:inline-block}.md-card .md-card-head-text{padding:8px 16px 16px;font:500 16px/22px Roboto,sans-serif;color:#212121;margin:0}.md-card .md-card-head-text span{display:block;font:400 12px/18px Roboto,sans-serif;margin-top:-2px}.md-card .md-card-head-text.text_dark{color:#212121!important}.md-card .md-card-head-text-over{background-image:linear-gradient(to bottom,rgba(0,0,0,.65) 0,rgba(0,0,0,0) 100%)}.md-card .md-card-head-subtext{position:absolute;bottom:10px;left:0;right:0;padding:0 16px;text-align:right;color:#fff}.md-card .md-card-head-subtext span{font-size:26px}.md-card .md-card-head-icon{font-size:48px;color:#fff;vertical-align:middle}.md-card .md-card-head.head_background{background-repeat:no-repeat;background-position:center center;background-size:cover;border-bottom-color:transparent}.md-card .md-card-head.head_background .md-card-head-text{color:#fff}.md-card .md-card-head.head_background_top{background-repeat:no-repeat;background-position:center top}.md-card .md-card-head.head_background_bottom{background-repeat:no-repeat;background-position:center bottom}.md-card .md-card-head .head_chart{height:100px;width:100%;position:absolute!important;left:0;top:40px}.md-card .md-card-head .fitVid_player{width:100%;height:160px;overflow:hidden}.md-card .md-card-head-img{height:100%;width:auto}.md-card .md-card-head iframe{height:160px}.md-card .md-card-content{padding:16px}.md-card .md-card-content.padding-reset{padding:0}.md-card .md-card-content.large-padding{padding:24px 35px}.md-card .md-card-content.small-padding{padding:8px}.md-card .md-card-footer{padding:16px;font-size:14px;line-height:18px}.md-card .md-card-footer .md-card-footer-head{font:500 16px/20px Roboto,sans-serif;margin:0 0 4px}.md-card.md-card-fullscreen{position:fixed;z-index:9998;overflow-x:hidden}.md-card.md-card-fullscreen .md-card-fullscreen-activate{display:none}.md-card .md-card-fullscreen-content{display:none;padding:16px 0}.md-card-fullscreen-content-hidden .md-card .md-card-fullscreen-content{display:block;visibility:hidden;padding:0}.md-card.mdToolbar_fixed{overflow-y:hidden}.md-card.mdToolbar_fixed>.md-card-toolbar{position:fixed;left:0;right:0;top:0;z-index:9999;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.md-card.mdToolbar_fixed>.md-card-content{overflow-y:scroll;box-sizing:border-box;position:absolute;width:100%;top:64px;bottom:0}.md-card.md-card-overlay{overflow:hidden;padding-bottom:54px}.md-card.md-card-overlay .md-card-content{height:142px;overflow:hidden;box-sizing:border-box}.md-card.md-card-overlay .md-card-content.no_truncate{position:relative}.md-card.md-card-overlay .md-card-content.no_truncate:after{position:absolute;bottom:0;left:0;right:0;height:8px;background-image:linear-gradient(to top,#fff 50%,rgba(255,255,255,0) 100%);display:block;content:'';z-index:10}.md-card.md-card-overlay .md-card-content>pre{margin-top:0;max-height:110px}.md-card.md-card-overlay .md-card-content>pre>code{overflow:hidden}.md-card.md-card-overlay .md-card-overlay-content{position:absolute;top:100%;left:0;right:0;padding:0 16px;margin-top:-54px;border-top:1px solid rgba(0,0,0,.12);text-align:left;bottom:0;background:#fff;z-index:10;transition:all 280ms cubic-bezier(.4,0,.2,1)}.md-card.md-card-overlay .md-card-overlay-content p{margin:0}.md-card.md-card-overlay .md-card-overlay-content p+*{margin-top:16px}.md-card.md-card-overlay .md-card-overlay-content p+p{margin-top:4px}.md-card.md-card-overlay .md-card-overlay-header{padding:12px 0}.md-card.md-card-overlay .md-card-overlay-header:after,.md-card.md-card-overlay .md-card-overlay-header:before{content:" ";display:table}.md-card.md-card-overlay .md-card-overlay-header:after{clear:both}.md-card.md-card-overlay .md-card-overlay-header h3,.md-card.md-card-overlay .md-card-overlay-header h4{margin:0;text-overflow:ellipsis;display:inline-block;vertical-align:top;white-space:nowrap;overflow:hidden;width:100%;padding-right:32px;box-sizing:border-box}.md-card.md-card-overlay .md-card-overlay-header h3{font:400 16px/30px Roboto,sans-serif}.md-card.md-card-overlay .md-card-overlay-header h4{font:500 14px/30px Roboto,sans-serif}.md-card.md-card-overlay .md-card-overlay-header .md-icon{position:absolute;right:12px;top:11px}.md-card.md-card-overlay-active .md-card-overlay-content{top:-1px;margin-top:0}.md-card.md-card-hover{transition:all 280ms cubic-bezier(.4,0,.2,1);will-change:box-shadow}.md-card.md-card-hover:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.uk-sortable-dragged .md-card{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.uk-sortable-dragged .md-card canvas{margin:0 auto;display:block}.md-card .heading_list{padding:0}.md-card-danger,.md-card-primary,.md-card-success,.md-card-warning{border-left:4px solid transparent}.md-card-primary{border-left-color:#2196f3}.md-card-success{border-left-color:#7cb342}.md-card-danger{border-left-color:#e53935}.md-card-warning{border-left-color:#ffa000}.md-expand,.md-expand-group>*{opacity:0}.md-card-placeholder{min-width:100%}.md-card-list-wrapper,.md-card-list-wrapper *,.md-card-list-wrapper :after,.md-card-list-wrapper :before,.md-card-list-wrapper:after,.md-card-list-wrapper:before{box-sizing:border-box}.md-card-list-wrapper .md-card-list-header{position:absolute;top:-24px;left:0}.md-card-list-wrapper .md-card-list{margin:48px 0 0 0;position:relative}.md-card-list-wrapper .md-card-list:first-child{margin-top:24px}.md-card-list-wrapper .md-card-list>ul{margin:0;padding:0;list-style:none}.md-card-list-wrapper .md-card-list>ul>li{padding:0;margin:0;list-style:none}.md-card-list-wrapper .md-card-list>ul>li{min-height:34px;padding:8px 16px;font-size:13px;transition:background 150ms,padding .2s;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.md-card-list-wrapper .md-card-list>ul>li:after,.md-card-list-wrapper .md-card-list>ul>li:before{content:" ";display:table}.md-card-list-wrapper .md-card-list>ul>li:after{clear:both}.md-card-list-wrapper .md-card-list>ul>li.item-shown{background:#fff;padding:8px 36px}@media only screen and (max-width:767px){.md-card-list-wrapper .md-card-list>ul>li.item-shown .md-card-list-item-subject{clear:both;float:none;padding-top:16px}.md-card-list-wrapper .md-card-list>ul>li.item-shown .md-card-list-item-subject>span{white-space:normal}}.md-card-list-wrapper .md-card-list>ul>li.item-shown .md-card-list-item-sender{width:auto;overflow:hidden}.md-card-list-wrapper .md-card-list>ul>li.item-shown.md-card-list-item-selected{position:relative}.md-card-list-wrapper .md-card-list>ul>li.item-shown.md-card-list-item-selected:before{content:'';position:absolute;display:block;left:0;top:0;bottom:0;width:8px;background:#e3f2fd}.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper,.md-card-list-wrapper .md-card-list .md-card-list-item-select,.md-card-list-wrapper .md-card-list .md-card-list-item-sender{float:left}.md-card-list-wrapper .md-card-list .md-card-list-item-select{padding:6px 8px 0 0}.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper,.md-card-list-wrapper .md-card-list .md-card-list-item-date,.md-card-list-wrapper .md-card-list .md-card-list-item-sender,.md-card-list-wrapper .md-card-list .md-card-list-item-subject{padding:0 8px}.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper .md-card-list-item-avatar{background:#757575;color:#fff;width:34px;border-radius:50%;display:block}.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper .md-card-list-item-avatar-large{width:82px;border-radius:50%}.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper span.md-card-list-item-avatar{line-height:34px;text-transform:uppercase;text-align:center}.md-card-list-wrapper .md-card-list .md-card-list-item-sender{width:220px;line-height:34px}.md-card-list-wrapper .md-card-list .md-card-list-item-sender>span{text-overflow:ellipsis;display:inline-block;vertical-align:top;white-space:nowrap;overflow:hidden;width:100%}@media only screen and (max-width:1219px){.md-card-list-wrapper .md-card-list .md-card-list-item-sender{display:none}}.md-card-list-wrapper .md-card-list .md-card-list-item-subject{overflow:hidden;font-weight:500}.md-card-list-wrapper .md-card-list .md-card-list-item-subject>span{line-height:34px;text-overflow:ellipsis;display:inline-block;vertical-align:top;white-space:nowrap;overflow:hidden;width:100%}.md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small{display:none}@media only screen and (max-width:1219px){.md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small{display:block}.md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small+span{line-height:inherit}}.md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small>span{text-overflow:ellipsis;display:inline-block;vertical-align:top;white-space:nowrap;overflow:hidden;width:100%;font-size:12px;color:#999}.md-card-list-wrapper .md-card-list .md-card-list-item-date{line-height:34px;float:right;color:#999}@media only screen and (max-width:479px){.md-card-list-wrapper .md-card-list .md-card-list-item-date{display:none}}.md-card-list-wrapper .md-card-list .md-card-list-item-menu{float:right;margin:0 0 0 8px;position:relative}.md-card-list-wrapper .md-card-list .md-card-list-item-menu .uk-dropdown .material-icons{margin-right:8px}.md-card-list-wrapper .md-card-list .md-card-list-item-content-wrapper{display:none;clear:both;opacity:0}.md-card-list-wrapper .md-card-list .md-card-list-item-content{padding:16px 16px 0 0;max-height:360px;overflow-x:hidden;margin:0 0 40px;top:20px;position:relative;font-size:14px}.md-card-list-wrapper .md-card-list .md-card-list-item-content+.md-card-list-item-reply{padding-top:10px}.md-card-list-wrapper .md-card-list .md-card-list-item-reply{padding:16px 0}.md-card-list-wrapper .md-card-list .md-card-list-item-selected{background:#e3f2fd}input:not([type]),input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{outline:0}input:not([type]).md-input,input[type=color].md-input,input[type=date].md-input,input[type=datetime-local].md-input,input[type=datetime].md-input,input[type=email].md-input,input[type=month].md-input,input[type=number].md-input,input[type=password].md-input,input[type=search].md-input,input[type=tel].md-input,input[type=text].md-input,input[type=time].md-input,input[type=url].md-input,input[type=week].md-input,select.md-input,textarea.md-input{border-radius:0;border-width:0 0 1px;border-style:solid;border-color:rgba(0,0,0,.12);font:400 15px/18px Roboto,sans-serif;box-shadow:inset 0 -1px 0 transparent;box-sizing:border-box;padding:12px 4px;background:0 0;width:100%;display:block}input:not([type]).md-input.md-input-danger,input[type=color].md-input.md-input-danger,input[type=date].md-input.md-input-danger,input[type=datetime-local].md-input.md-input-danger,input[type=datetime].md-input.md-input-danger,input[type=email].md-input.md-input-danger,input[type=month].md-input.md-input-danger,input[type=number].md-input.md-input-danger,input[type=password].md-input.md-input-danger,input[type=search].md-input.md-input-danger,input[type=tel].md-input.md-input-danger,input[type=text].md-input.md-input-danger,input[type=time].md-input.md-input-danger,input[type=url].md-input.md-input-danger,input[type=week].md-input.md-input-danger,select.md-input.md-input-danger,textarea.md-input.md-input-danger{border-color:#e53935}input:not([type]).md-input.md-input-danger:focus,input[type=color].md-input.md-input-danger:focus,input[type=date].md-input.md-input-danger:focus,input[type=datetime-local].md-input.md-input-danger:focus,input[type=datetime].md-input.md-input-danger:focus,input[type=email].md-input.md-input-danger:focus,input[type=month].md-input.md-input-danger:focus,input[type=number].md-input.md-input-danger:focus,input[type=password].md-input.md-input-danger:focus,input[type=search].md-input.md-input-danger:focus,input[type=tel].md-input.md-input-danger:focus,input[type=text].md-input.md-input-danger:focus,input[type=time].md-input.md-input-danger:focus,input[type=url].md-input.md-input-danger:focus,input[type=week].md-input.md-input-danger:focus,select.md-input.md-input-danger:focus,textarea.md-input.md-input-danger:focus{border-bottom-color:#e53935}input:not([type]).md-input.md-input-success,input[type=color].md-input.md-input-success,input[type=date].md-input.md-input-success,input[type=datetime-local].md-input.md-input-success,input[type=datetime].md-input.md-input-success,input[type=email].md-input.md-input-success,input[type=month].md-input.md-input-success,input[type=number].md-input.md-input-success,input[type=password].md-input.md-input-success,input[type=search].md-input.md-input-success,input[type=tel].md-input.md-input-success,input[type=text].md-input.md-input-success,input[type=time].md-input.md-input-success,input[type=url].md-input.md-input-success,input[type=week].md-input.md-input-success,select.md-input.md-input-success,textarea.md-input.md-input-success{border-color:#7cb342}input:not([type]).md-input.md-input-success:focus,input[type=color].md-input.md-input-success:focus,input[type=date].md-input.md-input-success:focus,input[type=datetime-local].md-input.md-input-success:focus,input[type=datetime].md-input.md-input-success:focus,input[type=email].md-input.md-input-success:focus,input[type=month].md-input.md-input-success:focus,input[type=number].md-input.md-input-success:focus,input[type=password].md-input.md-input-success:focus,input[type=search].md-input.md-input-success:focus,input[type=tel].md-input.md-input-success:focus,input[type=text].md-input.md-input-success:focus,input[type=time].md-input.md-input-success:focus,input[type=url].md-input.md-input-success:focus,input[type=week].md-input.md-input-success:focus,select.md-input.md-input-success:focus,textarea.md-input.md-input-success:focus{border-bottom-color:#7cb342}input:not([type]).md-input:focus,input[type=color].md-input:focus,input[type=date].md-input:focus,input[type=datetime-local].md-input:focus,input[type=datetime].md-input:focus,input[type=email].md-input:focus,input[type=month].md-input:focus,input[type=number].md-input:focus,input[type=password].md-input:focus,input[type=search].md-input:focus,input[type=tel].md-input:focus,input[type=text].md-input:focus,input[type=time].md-input:focus,input[type=url].md-input:focus,input[type=week].md-input:focus,select.md-input:focus,textarea.md-input:focus{background:0 0;border-color:rgba(0,0,0,.12)}input:not([type]).md-input-small,input[type=color].md-input-small,input[type=date].md-input-small,input[type=datetime-local].md-input-small,input[type=datetime].md-input-small,input[type=email].md-input-small,input[type=month].md-input-small,input[type=number].md-input-small,input[type=password].md-input-small,input[type=search].md-input-small,input[type=tel].md-input-small,input[type=text].md-input-small,input[type=time].md-input-small,input[type=url].md-input-small,input[type=week].md-input-small,select.md-input-small,textarea.md-input-small{padding:4px}input:not([type]).md-input.uk-form-width-mini,input[type=color].md-input.uk-form-width-mini,input[type=date].md-input.uk-form-width-mini,input[type=datetime-local].md-input.uk-form-width-mini,input[type=datetime].md-input.uk-form-width-mini,input[type=email].md-input.uk-form-width-mini,input[type=month].md-input.uk-form-width-mini,input[type=number].md-input.uk-form-width-mini,input[type=password].md-input.uk-form-width-mini,input[type=search].md-input.uk-form-width-mini,input[type=tel].md-input.uk-form-width-mini,input[type=text].md-input.uk-form-width-mini,input[type=time].md-input.uk-form-width-mini,input[type=url].md-input.uk-form-width-mini,input[type=week].md-input.uk-form-width-mini,select.md-input.uk-form-width-mini,textarea.md-input.uk-form-width-mini{width:40px}input:not([type]).md-input.uk-form-width-small,input[type=color].md-input.uk-form-width-small,input[type=date].md-input.uk-form-width-small,input[type=datetime-local].md-input.uk-form-width-small,input[type=datetime].md-input.uk-form-width-small,input[type=email].md-input.uk-form-width-small,input[type=month].md-input.uk-form-width-small,input[type=number].md-input.uk-form-width-small,input[type=password].md-input.uk-form-width-small,input[type=search].md-input.uk-form-width-small,input[type=tel].md-input.uk-form-width-small,input[type=text].md-input.uk-form-width-small,input[type=time].md-input.uk-form-width-small,input[type=url].md-input.uk-form-width-small,input[type=week].md-input.uk-form-width-small,select.md-input.uk-form-width-small,textarea.md-input.uk-form-width-small{width:130px}input:not([type]).md-input.uk-form-width-medium,input[type=color].md-input.uk-form-width-medium,input[type=date].md-input.uk-form-width-medium,input[type=datetime-local].md-input.uk-form-width-medium,input[type=datetime].md-input.uk-form-width-medium,input[type=email].md-input.uk-form-width-medium,input[type=month].md-input.uk-form-width-medium,input[type=number].md-input.uk-form-width-medium,input[type=password].md-input.uk-form-width-medium,input[type=search].md-input.uk-form-width-medium,input[type=tel].md-input.uk-form-width-medium,input[type=text].md-input.uk-form-width-medium,input[type=time].md-input.uk-form-width-medium,input[type=url].md-input.uk-form-width-medium,input[type=week].md-input.uk-form-width-medium,select.md-input.uk-form-width-medium,textarea.md-input.uk-form-width-medium{width:200px}input:not([type]).md-input.uk-form-width-large,input[type=color].md-input.uk-form-width-large,input[type=date].md-input.uk-form-width-large,input[type=datetime-local].md-input.uk-form-width-large,input[type=datetime].md-input.uk-form-width-large,input[type=email].md-input.uk-form-width-large,input[type=month].md-input.uk-form-width-large,input[type=number].md-input.uk-form-width-large,input[type=password].md-input.uk-form-width-large,input[type=search].md-input.uk-form-width-large,input[type=tel].md-input.uk-form-width-large,input[type=text].md-input.uk-form-width-large,input[type=time].md-input.uk-form-width-large,input[type=url].md-input.uk-form-width-large,input[type=week].md-input.uk-form-width-large,select.md-input.uk-form-width-large,textarea.md-input.uk-form-width-large{width:500px}select.md-input.uk-form-width-mini{width:65px}.md-input-width-small{min-width:80px!important}.md-input-width-medium{min-width:160px!important}.md-input-width-large{min-width:320px!important}textarea.md-input{min-height:80px;resize:none;overflow:hidden;transition:height .2s ease-out;line-height:24px}textarea.no_autosize{min-height:inherit;overflow:auto;transition:none;resize:both}.md-input-wrapper{position:relative;padding-top:4px;width:100%;display:block}.md-input-wrapper .md-input-bar{display:block;position:absolute;bottom:0;left:0;width:100%}.md-input-wrapper .md-input-bar:after,.md-input-wrapper .md-input-bar:before{content:'';display:block;position:absolute;bottom:0;width:0;height:2px;background:#1976d2;transition:width .4s cubic-bezier(.4,0,.2,1)}.md-input-wrapper .md-input-bar:before{left:50%}.md-input-wrapper .md-input-bar:after{right:50%}.md-input-wrapper .md-input-bar.uk-form-width-mini{width:40px}.md-input-wrapper .md-input-bar.uk-form-width-small{width:130px}.md-input-wrapper .md-input-bar.uk-form-width-medium{width:200px}.md-input-wrapper .md-input-bar.uk-form-width-large{width:500px}.md-input-wrapper>label{color:#727272;position:absolute;top:16px;left:4px;right:0;pointer-events:none;transition:all 150ms ease-out}.md-input-wrapper+*{margin-top:10px}.md-input-wrapper.md-input-wrapper-disabled>label{color:rgba(0,0,0,.26)}.md-input-wrapper-count{padding-bottom:24px}.md-input-wrapper-count .md-input-bar{bottom:24px}.md-input-wrapper-count .text-count-wrapper{font-size:12px;position:absolute;right:0;bottom:0;opacity:0;transition:opacity .2s ease-in}.md-input-wrapper-count>.md-input-wrapper-count .text-count-wrapper{position:absolute;bottom:0;right:0}.md-input-filled>label,.md-input-focus>label{top:-6px;font-size:12px}.md-input-filled.md-input-wrapper-count .text-count-wrapper,.md-input-focus.md-input-wrapper-count .text-count-wrapper{opacity:1}.md-input-focus .md-input-bar:after,.md-input-focus .md-input-bar:before{width:50%}.md-input-wrapper-danger .md-input-bar:after,.md-input-wrapper-danger .md-input-bar:before{background:#e53935}.md-input-wrapper-danger.md-input-wrapper-count .text-count-wrapper{color:#e53935}.md-input-wrapper-success .md-input-bar:after,.md-input-wrapper-success .md-input-bar:before{background:#7cb342}.md-input-wrapper-success.md-input-wrapper-count .text-count-wrapper{color:#7cb342}.md-form-group{position:relative}label.md-label{color:#999;padding:0 6px;font-size:11px}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url(../icons/material-design-icons/MaterialIcons-Regular.eot);src:local('Material Icons'),local('MaterialIcons-Regular'),url(../icons/material-design-icons/MaterialIcons-Regular.woff2) format('woff2'),url(../icons/material-design-icons/MaterialIcons-Regular.woff) format('woff'),url(../icons/material-design-icons/MaterialIcons-Regular.ttf) format('truetype')}.material-icons{font-family:'Material Icons';font-weight:400;font-style:normal;font-size:18px;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga';vertical-align:-4px;color:rgba(0,0,0,.54)}.material-icons.md-inactive{color:rgba(0,0,0,.26)}.material-icons.md-24{font-size:24px;vertical-align:-8px}.material-icons.md-36{font-size:36px;vertical-align:-16px}.material-icons.md-48{font-size:48px;vertical-align:-24px}.material-icons.md-light{color:#fff}.material-icons.md-light.md-inactive{color:rgba(255,255,255,.3)}.md-list{margin:0;padding:0;list-style:none}.md-list>li{padding:0;margin:0;list-style:none}.md-list,.md-list *,.md-list :after,.md-list :before,.md-list:after,.md-list:before{box-sizing:border-box}.md-list .uk-nestable-list>li,.md-list>li{min-height:48px;padding:8px 4px;box-sizing:border-box;border-bottom:1px solid rgba(0,0,0,.12);position:relative}.md-list .uk-nestable-list>li>.md-list-content,.md-list>li>.md-list-content{overflow:hidden}.md-list .uk-nestable-list>li>.md-list-content>span,.md-list>li>.md-list-content>span{display:block}.md-list .uk-nestable-list>li>.md-list-content .md-list-heading,.md-list>li>.md-list-content .md-list-heading{margin:0;font-weight:500;display:block;overflow:hidden;padding-bottom:1px}.md-list .uk-nestable-list>li>.md-list-content .md-list-menu,.md-list>li>.md-list-content .md-list-menu{float:right}.md-list .uk-nestable-list>li>.md-list-content .md-list-menu .md-list-menu-toggle,.md-list>li>.md-list-content .md-list-menu .md-list-menu-toggle{display:block;font-size:18px;color:rgba(0,0,0,.8);width:28px;height:28px;line-height:28px;border-radius:14px;text-align:center}.md-list .uk-nestable-list>li>.md-list-content .uk-badge,.md-list>li>.md-list-content .uk-badge{float:right;color:#fff!important}.md-list .uk-nestable-list>li>.md-list-content .md-list-action,.md-list>li>.md-list-content .md-list-action{float:right;margin-left:8px;margin-top:2px;display:none}.md-list .uk-nestable-list>li>.md-list-content .md-list-action-placeholder,.md-list>li>.md-list-content .md-list-action-placeholder{float:right;margin-left:8px;display:none;width:32px;height:32px}.md-list .uk-nestable-list>li .md-list-action-dropdown,.md-list>li .md-list-action-dropdown{position:absolute;right:16px;top:10px;display:none}.md-list .uk-nestable-list>li>a.md-list-content,.md-list>li>a.md-list-content{display:block;color:#212121}.md-list .uk-nestable-list>li:last-child,.md-list>li:last-child{border-bottom:none}.md-list .uk-nestable-list>li.md-list-item-active,.md-list>li.md-list-item-active{color:#7cb342;background:#ededed}.md-list .uk-nestable-list>li.md-list-item-disabled>.md-list-content,.md-list>li.md-list-item-disabled>.md-list-content{color:#bdbdbd}.md-list .uk-nestable-list>li.md-list-item-disabled>.md-list-content span,.md-list>li.md-list-item-disabled>.md-list-content span{color:#bdbdbd!important}.md-list .uk-nestable-list>li.heading_list,.md-list>li.heading_list{min-height:32px;padding:32px 8px 16px;border-bottom:none;background:0 0!important;text-transform:uppercase}.md-list .uk-nestable-list>li:hover>.md-list-addon-element .uk-nestable-handle,.md-list>li:hover>.md-list-addon-element .uk-nestable-handle,.uk-touch .md-list .uk-nestable-list>li>.md-list-addon-element .uk-nestable-handle,.uk-touch .md-list>li>.md-list-addon-element .uk-nestable-handle{display:block}.md-list .uk-nestable-list>li:hover>.md-list-content .md-list-action,.md-list .uk-nestable-list>li:hover>.md-list-content .md-list-action-placeholder,.md-list>li:hover>.md-list-content .md-list-action,.md-list>li:hover>.md-list-content .md-list-action-placeholder,.uk-touch .md-list .uk-nestable-list>li>.md-list-content .md-list-action,.uk-touch .md-list .uk-nestable-list>li>.md-list-content .md-list-action-placeholder,.uk-touch .md-list>li>.md-list-content .md-list-action,.uk-touch .md-list>li>.md-list-content .md-list-action-placeholder{display:block}.md-list .uk-nestable-list>li:hover .md-list-action-dropdown,.md-list>li:hover .md-list-action-dropdown,.uk-touch .md-list .uk-nestable-list>li .md-list-action-dropdown,.uk-touch .md-list>li .md-list-action-dropdown{display:block}.md-list .uk-nestable-list>li{margin-left:64px}.md-list-addon>li{margin-left:64px;position:relative}.md-list-addon>li:last-child .md-list-addon-element{border-bottom:none;bottom:0}.md-list-addon>li:first-child .md-list-addon-element{top:0}.md-list-addon>li.md-list-item-active .md-list-addon-element,.md-list-addon>li.md-list-item-active .md-list-addon-element .material-icons{color:#7cb342}.md-list-addon-element{position:absolute;left:-64px;top:-1px;bottom:-1px;width:64px;text-align:center;padding:8px 0;display:block}.md-list-addon-element .element-status{position:absolute;right:12px;top:10px;width:12px;height:12px;border-radius:50%;background:#bdbdbd;border:1px solid #fff}.md-list-addon-element .element-status-danger{background:#e53935}.md-list-addon-element .element-status-success{background:#7cb342}.md-list-addon-element .element-status-warning{background:#ffa000}.md-list-addon-element>.md-list-addon-avatar{margin-top:2px}.md-list-addon-element>.md-list-addon-icon{font-size:28px;margin-top:4px;color:#727272}.md-list-addon-element>.material-icons{margin-top:6px}.md-list-addon-element .icheckbox_md,.md-list-addon-element .iradio_md{margin-top:10px}.md-list-addon-element .uk-nestable-handle{position:absolute;left:-2px;top:12px;display:none}.md-list-interactive li{cursor:pointer}.md-list-bg{background:#fff}.md-list-separated li{background:#fff;padding:8px}.md-list-separated li+li{border-top:none;margin-top:8px}.md-list-bg-no-sep{background:#fff;padding:8px}.md-list-bg-no-sep li>.md-list-content{padding:0 4px}.md-list-outside>li{padding:0}.md-list-outside>li>.md-list-content{padding:8px 16px;display:block;color:#212121}.md-list-outside>li.md-list-item-active,.md-list-outside>li:hover:not(.heading_list){background:rgba(0,0,0,.085)}.md-list-outside>li.heading_list{padding:32px 16px 16px}.md-list-outside.md-list-addon li{margin-left:0}.md-list-outside.md-list-addon li .md-list-addon-element{position:relative;top:auto;left:auto;float:left}.md-list-outside.md-list-addon li .md-list-content{padding-left:0}.md-list .uk-nestable-list{padding-left:0}.md-list .uk-nestable-list .uk-nestable-item{padding-right:0}.md-list .uk-nestable-item+.uk-nestable-item{margin-top:0}.md-list-right.md-list-addon>li{margin-left:0;margin-right:64px}.md-list-right.md-list-addon>li .md-list-addon-element{left:auto;right:-64px}.md-list-borderless>li{border-bottom:none}.uk-touch .md-list-addon-element .uk-nestable-handle{display:block!important}.uk-touch .md-list-content .md-list-action,.uk-touch .md-list-content .md-list-action-placeholder{display:block!important}.uk-touch .md-list-action-dropdown{display:block!important}.md-panel-full{position:relative;overflow:hidden;min-height:100%}.md-panel-full,.md-panel-full *,.md-panel-full :after,.md-panel-full :before,.md-panel-full:after,.md-panel-full:before{box-sizing:border-box}.md-panel-full>.uk-grid{height:100%}.md-panel-full>.uk-grid [class*=uk-width]{height:100%}.md-panel-full .md-panel-full-aside{margin:16px 16px 32px;padding:16px}.md-panel-full .md-panel-full-aside.md-panel-full-aside-bg{background:#fff}.md-panel-full .md-panel-full-content{background:#fff;padding:25px 25px 90px;width:inherit;min-width:100%;min-height:100%}.md-panel-full .md-panel-full-content>.md-panel-full-content-inner{position:relative;z-index:10}.md-panel-full .md-panel-full-content:before{width:inherit;content:'';position:absolute;background:#fff;display:block;right:0;top:0;bottom:0;box-shadow:-2px 2px 5px rgba(0,0,0,.26);z-index:5}.md-panel-full .md-panel-full-content .md-panel-full-content-header{margin-bottom:24px}.md-panel-full .md-panel-full-content .md-panel-full-content-header .md-panel-full-content-menu{float:right}.md-top-bar .md-top-bar-checkbox{padding-top:10px}.md-top-bar .md-top-bar-icons{margin-top:5px}.md-top-bar .md-top-bar-checkbox,.md-top-bar .md-top-bar-icons{display:inline-block}.md-top-bar .md-btn-group{margin-top:4px}.md-top-bar .md-top-bar-actions-left{float:left;padding-left:16px}.md-top-bar .md-top-bar-actions-left .md-btn-group{margin-left:8px}.md-top-bar .md-top-bar-actions-right{float:right;padding-right:16px}.md-top-bar .md-top-bar-actions-right .md-btn-group{margin-right:8px}.md-top-bar .md-btn-small{padding:2px 12px}.md-user-image{width:34px;border-radius:50%}.md-user-image-large{width:82px;border-radius:50%}.md-user-placeholder{background-color:rgba(0,0,0,.085);width:34px;height:34px;border-radius:50%}.md-user-letters{display:inline-block;line-height:35px;width:34px;height:34px;border-radius:50%;text-align:center;text-transform:uppercase;font-weight:500;background-color:rgba(0,0,0,.085)}.md-icon{font-size:24px;line-height:32px!important;height:32px!important;color:#727272;border-radius:50%;cursor:pointer;transition:background 280ms ease-out,color 280ms ease-out;width:32px!important;text-align:center;-webkit-tap-highlight-color:transparent}.md-icon.active,.md-icon:active,.md-icon:focus,.md-icon:hover{color:#212121;background:rgba(0,0,0,.08)}.md-icon-light{color:#fff}.md-icon-light:active,.md-icon-light:focus,.md-icon-light:hover{color:#fff;background:rgba(0,0,0,.2)}.md-icon-dark{color:#212121}.md-icon-dark:active,.md-icon-dark:focus,.md-icon-dark:hover{color:#212121;background:rgba(255,255,255,.6)}.md-icon+.md-icon{margin-left:4px}.md-icon-btn{display:inline-block}.md-icon-btn.active .md-icon{color:#212121;background:rgba(0,0,0,.08)}button.md-icon{background:0 0;border:none;outline:0}.uk-open .md-icon{color:#212121;background:rgba(0,0,0,.08)}.uk-open .md-icon-light{color:#fff;background:rgba(0,0,0,.2)}.uk-open .md-icon-dark{color:#212121;background:rgba(255,255,255,.6)}.md-list-inputs{margin:0;padding:0;list-style:none}.md-list-inputs>li{padding:0;margin:0;list-style:none}.md-list-inputs li+li{margin-top:8px}.md-list-inputs li .icheckbox_md{float:left}.md-list-inputs li label{overflow:hidden;padding-left:8px;display:block;cursor:pointer}.md-hr{margin:32px 0;height:0;border-top:2px solid rgba(0,0,0,.12)}@-webkit-keyframes hierarchical_show{0%{opacity:0;transform:scale3d(.2,.2,2)}50%{opacity:1}100%{transform:scale3d(1,1,1)}}@keyframes hierarchical_show{0%{opacity:0;transform:scale3d(.2,.2,2)}50%{opacity:1}100%{transform:scale3d(1,1,1)}}.hierarchical_show{will-change:transform,opacity}.hierarchical_show>*{visibility:hidden}.hierarchical_show_inView>*{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:cubic-bezier(.4,0,.2,1);animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-animation-duration:.7s;animation-duration:.7s;-webkit-animation-name:hierarchical_show;animation-name:hierarchical_show;visibility:visible}@-webkit-keyframes hierarchical_slide{0%{opacity:0;transform:translate3d(0,160%,0)}33%{opacity:1}100%{transform:translate3d(0,0,0)}}@keyframes hierarchical_slide{0%{opacity:0;transform:translate3d(0,160%,0)}33%{opacity:1}100%{transform:translate3d(0,0,0)}}.hierarchical_slide{will-change:transform,opacity}.hierarchical_slide>*{visibility:hidden}.hierarchical_slide_inView>*{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:cubic-bezier(.4,0,.2,1);animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-animation-duration:.7s;animation-duration:.7s;-webkit-animation-name:hierarchical_slide;animation-name:hierarchical_slide;visibility:visible}.fast_animation{-webkit-animation-duration:350ms;animation-duration:350ms}html{background:#fff}body{font:400 15px/1.42857143 Roboto,sans-serif;box-sizing:border-box;overflow-x:hidden}a,button{outline:0!important}a{color:#1e88e5;-webkit-tap-highlight-color:transparent}a:active,a:hover{color:#0d47a1;text-decoration:none}.uk-text-upper{text-transform:uppercase}.animate>*{visibility:hidden}.animated{visibility:visible}[class*=uk-animation-]{-webkit-animation-timing-function:cubic-bezier(.4,0,.2,1);animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-animation-duration:840ms;animation-duration:840ms}.heading_a{margin:0;font:300 42px/48px Roboto,sans-serif}.heading_a .sub-heading{font-weight:300;font-size:24px;line-height:30px;display:block;padding-top:10px}@media only screen and (max-width:959px){.heading_a{font:300 32px/36px Roboto,sans-serif}.heading_a .sub-heading{font-size:20px;line-height:24px}}.heading_b{margin:0;font:300 32px/36px Roboto,sans-serif}.heading_b .sub-heading{font-weight:300;font-size:20px;line-height:26px;display:block;padding-top:10px}@media only screen and (max-width:959px){.heading_b{font:300 28px/32px Roboto,sans-serif}.heading_b .sub-heading{font-size:18px;line-height:22px}}.heading_c{margin:0;font:400 24px/28px Roboto,sans-serif}.heading_c .sub-heading{font-weight:300;font-size:18px;line-height:20px;display:block;padding-top:10px}@media only screen and (max-width:959px){.heading_c{font:300 22px/25px Roboto,sans-serif}.heading_c .sub-heading{font-size:16px;line-height:20px}}.heading_a+.uk-grid,.heading_b+.uk-grid,.heading_c+.uk-grid{margin-top:24px}.heading_a .material-icons,.heading_b .material-icons,.heading_c .material-icons{vertical-align:middle}.heading_light,.heading_light .sub-heading{color:#fff}.icon_large{font-size:64px}@media only screen and (max-width:959px){.icon_large{font-size:48px}}.icon_dark{color:#727272}#header_main{transition:all 280ms cubic-bezier(.4,0,.2,1);position:relative;z-index:10}#header_main .uk-navbar{background:#fff}#header_main .uk-navbar-nav>li>a{color:#727272;text-transform:uppercase;font-size:14px;font-family:Roboto,sans-serif;font-weight:500;box-shadow:inset 0 -4px 0 rgba(255,255,255,0);background:0 0!important;transition:all 280ms cubic-bezier(.4,0,.2,1)}#header_main .uk-navbar-nav>li>a:active,#header_main .uk-navbar-nav>li>a:hover{color:#727272}#header_main .uk-navbar-nav>li.current_active a{box-shadow:inset 0 -4px 0 #7cb342}#header_main.header-light{background:#fff}#header_main .header_cta{margin-top:14px}@media only screen and (max-width:959px){#header_main .header_cta{margin-top:6px}}#mobile_navigation_toggle{display:none}#mobile_navigation .uk-offcanvas-bar{background:#fff;box-shadow:2px 2px 5px rgba(0,0,0,.26);transition:transform 280ms cubic-bezier(.4,0,.2,1)}#mobile_navigation .uk-offcanvas-bar:after{display:none}#mobile_navigation .uk-offcanvas-bar ul{margin:32px 0 0 0;padding:0;list-style:none}#mobile_navigation .uk-offcanvas-bar ul>li{padding:0;margin:0;list-style:none}#mobile_navigation .uk-offcanvas-bar ul li a{display:block;font-size:16px;font-weight:500;line-height:25px;padding:8px 20px;color:#212121}#mobile_navigation .uk-offcanvas-bar ul li a small{font-size:12px;color:#727272;display:block;margin-top:-2px}#mobile_navigation .uk-offcanvas-bar ul li a .menu_icon{width:48px;text-align:left;display:inline-block;color:#727272;float:left}#mobile_navigation .uk-offcanvas-bar ul li a .menu_icon .material-icons{font-size:24px;vertical-align:top}#mobile_navigation .uk-offcanvas-bar ul li a .menu_title{display:block;overflow:hidden}.uk-offcanvas-page{transition:margin 280ms cubic-bezier(.4,0,.2,1)}.header_sticky{padding-top:64px}@media only screen and (max-width:959px){.header_sticky{padding-top:48px}}.header_sticky #header_main{position:fixed;top:0;left:0;right:0;z-index:1000}.header_shadow #header_main{box-shadow:0 2px 6px rgba(0,0,0,.25)}.banner{color:#fff;position:relative}.banner .uk-slideshow,.banner .uk-slideshow>li{height:640px}.banner .uk-slideshow>li{background-size:100% auto;background-position:center center;background-repeat:no-repeat}.banner .uk-slideshow>li .slide_content_a{margin:160px 0 0 640px}.banner .uk-slideshow>li .slide_content_b{margin:320px 0 0 0;background:rgba(0,0,0,.4);padding:24px}.banner .uk-slideshow>li .slide_content_c{margin:120px 540px 0 0}.banner .uk-slideshow>li .slide_content_c .slide_header,.banner .uk-slideshow>li .slide_content_c p{color:#212121}.banner .uk-slideshow>li .slide_header{color:#fff;font:400 38px/42px Roboto,sans-serif;margin:0 0 18px}.banner .uk-slideshow>li p{margin:0;font-size:20px;font-weight:300}.banner .uk-slideshow>li p+*{margin-top:32px}.banner .slide_navigation{display:none}.banner:hover .slide_navigation{display:block}.uk-touch .slide_navigation{display:block!important}.uk-slidenav{position:absolute;top:50%;margin-top:-30px;color:#fff!important;background:rgba(0,0,0,.2);border-radius:12px;font-size:48px;transition:all 280ms cubic-bezier(.4,0,.2,1)}.uk-slidenav-previous{left:16px}.uk-slidenav-previous:before{position:relative;left:-2px;top:-2px}.uk-slidenav-next{right:16px}.uk-slidenav-next:before{position:relative;right:-2px;top:-2px}.uk-slidenav:active,.uk-slidenav:hover{background:rgba(0,0,0,.6);border-radius:50%}.uk-dotnav>li{border:2px solid rgba(255,255,255,.8);padding:2px;margin-right:6px;border-radius:50%}.uk-dotnav>li.uk-active{border-color:#fff}.uk-dotnav>li.uk-active>a{background:#7cb342}.uk-dotnav>li>a{margin:0;width:14px;height:14px}.section{padding:48px 0;position:relative}.section_large{padding:64px 0}.section_dark{color:#fff}.section_gallery{position:relative}.section_gallery .slide_navigation{display:none}.section_gallery:hover .slide_navigation{display:block}[class*=uk-width].uk-container-center{float:none}@media only screen and (max-width:1219px){.banner .uk-slideshow,.banner .uk-slideshow>li{height:auto;min-height:360px}.banner .uk-slideshow>li .slide_content_a,.banner .uk-slideshow>li .slide_content_b,.banner .uk-slideshow>li .slide_content_c{margin:0;position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,.4);padding:48px 48px 0;text-align:center}.banner .uk-slideshow>li .slide_header{margin-bottom:20px;color:#fff!important}.banner .uk-slideshow>li p{font-size:20px;color:#fff!important}.banner .uk-slideshow>li p+*{margin-top:24px}}@media only screen and (max-width:959px){#header_main{height:48px}#header_main .uk-navbar-brand{line-height:48px;padding:0}#main_navigation{display:none}#mobile_navigation_toggle{padding:12px 4px 10px;display:inline-block}#mobile_navigation_toggle i{font-size:24px}}@media only screen and (max-width:767px){.banner .uk-slideshow>li{background-size:auto 100%}.banner .uk-slideshow>li .slide_content_a,.banner .uk-slideshow>li .slide_content_b,.banner .uk-slideshow>li .slide_content_c{margin:0;position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,.4);padding:24px 12px;text-align:center}.banner .uk-slideshow>li .slide_header{font:400 24px/28px Roboto,sans-serif;margin-bottom:6px;color:#fff!important}.banner .uk-slideshow>li p{font-size:15px;color:#fff!important}.banner .uk-slideshow>li p+*{margin-top:24px}.uk-container{padding-left:15px;padding-right:15px}} +/*# sourceMappingURL=main.min.css.map */ diff --git a/assets/css/main.min.css.map b/assets/css/main.min.css.map new file mode 100644 index 0000000..f7c5ff1 --- /dev/null +++ b/assets/css/main.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../less/_uikit_custom.less","../../../less/md/_md_variables_mixins.less","../../../less/_variables_mixins.less","main.css","../../../less/main.css","../../../../bower_components/uikit/css/components/accordion.almost-flat.css","../../../../bower_components/uikit/css/components/dotnav.css","../../../../bower_components/uikit/css/components/slideshow.almost-flat.css","../../../../bower_components/uikit/css/components/slider.almost-flat.css","../../../../bower_components/uikit/css/components/slidenav.almost-flat.css","../../../../bower_components/uikit/css/components/tooltip.almost-flat.css","../../../less/md/_md_cards.less","../../../less/components/_pricing_table.less","../../../less/components/_timeline.less","../../../less/md/_md_buttons.less","../../../less/md/_md_precompiled_colors.less","../../../less/md/_md_utils.less","../../../less/md/_md_forms.less","../../../less/md/_md_icons.less","../../../less/md/_md_list.less","../../../less/md/_md_panels.less","../../../less/md/_md_top_bar.less","../../../less/_altair_landing_page.less"],"names":[],"mappings":"AAGA,uBACI,kCAAA,wBAAA,0BAAA,wBACA,2BAAA,MAAA,mBAAA,MAIJ,UACI,OAAA,KACA,WAAA,QACA,MAAA,KACA,YAAA,KACA,cAAA,KACA,SAAA,SACA,QAAA,MACA,kBACI,WAAA,kBAEJ,iBACI,WAAA,kBAEJ,kBACI,WAAA,kBAEJ,eACI,WAAA,kBAEJ,gBACI,QAAA,KAAA,KAAA,KAAA,KAEJ,gBACI,SAAA,SACA,IAAA,KACA,MAAA,IACA,MAAA,eACA,OAAA,YACA,sBACI,MAAA,eAMZ,UACI,WAAA,QACA,QAAA,IAAA,IACA,OAAA,KACA,cAAA,IACA,YAAA,KACA,UAAA,KACA,YAAA,KACA,YAAA,IACA,kBACI,WAAA,QAEJ,iBACI,WAAA,QAEJ,kBACI,WAAA,QAEJ,kBACI,WAAA,QAEJ,gBACI,WAAA,QAEJ,uBACI,cAAA,KAEJ,uBACI,eAAA,IACA,YAAA,IAEJ,kBACI,OAAA,IAAA,MAAA,gBACA,WAAA,KACA,MAAA,QACA,eAAA,EACA,YAAA,KAKR,WACI,YAAA,IACA,cAAA,IACA,WAAA,IAAA,IAAA,wBAIJ,uBAEQ,WAAA,IAAA,OAAA,gBACA,WAAA,eAHR,gCAMQ,OAAA,IAAA,EAAA,EAAA,EACA,yCAAA,gCACI,aAAA,MAKR,mBACI,QAAA,KAAA,IAAA,IACA,OAAA,KACA,WAAA,IACA,cAAA,EAEJ,kBACI,OAAA,EACA,UAAA,KACA,YAAA,KAMR,UACI,QAAA,KACA,WAAA,eACA,WAAA,QAAA,MAAA,SACA,SAAA,eACA,+BACI,WAAA,IAEJ,iBACI,cAAA,IChHA,WAAA,EAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,gBDkHA,QAAA,KACA,QAAA,gBACA,kBAAA,eAAA,UAAA,eACA,WAAA,UAAA,MAAA,uBAAA,CAAA,QAAA,MAAA,QACA,UAAA,SACA,0BACI,UAAA,SATR,kCAYQ,WAAA,IACA,cAAA,KACA,OAAA,EAAA,MAAA,KACA,QAAA,EAAA,KAAA,EAAA,KACA,SAAA,OAhBR,kDAkBY,OAAA,EE1BZ,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WFQA,uDAqBgB,UAAA,KACA,QAAA,MACA,MAAA,QAvBhB,kDA2BY,UAAA,KACA,eAAA,KACA,OAAA,QA7BZ,kCAiCQ,OAAA,KAAA,MAAA,MACA,QAAA,KACA,WAAA,KACA,WAAA,KGaZ,wCDrEI,yCAEI,QAAA,IACA,QAAA,MAEJ,wCACI,MAAA,KFcJ,+CAuCY,WAAA,IAvCZ,mCA2CQ,OAAA,KACA,OAAA,EAAA,KA5CR,uCA+CQ,IAAA,IACA,MAAA,IACA,SAAA,SACA,MAAA,KACA,OAAA,EAEJ,0BACI,QAAA,EADJ,gDAGQ,IAAA,MACA,MAAA,MC9KR,WAAA,EAAA,KAAA,KAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBDgLQ,OAAA,KA3DZ,wCA+DQ,OAAA,KAAA,EAvEZ,sCA2EQ,cAAA,EAEJ,oDAEQ,UAAA,KAGR,kBACI,kBAAA,UAAA,GAAA,SAAA,OAAA,UAAA,UAAA,GAAA,SAAA,OACA,YAAA,MACA,WAAA,MACA,KAAA,IACA,MAAA,KAKR,aACI,UAAA,aACA,QAAA,EACA,WAAA,IAAA,MAAA,wBACA,kBAAA,eAAA,UAAA,eACA,iBAAA,IAAA,YCjNI,WAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBDmNJ,OAAA,KACA,cAAA,IACA,gCACI,MAAA,MACA,yCAAA,gCACI,MAAA,OAGR,+BACI,MAAA,MAEJ,+BACI,MAAA,MAnBR,qBAwBgB,UAAA,KACA,MAAA,QACA,2BACI,WAAA,iBAGR,+BAEQ,WAAA,iBAGR,8BACI,QAAA,IAAA,IAEJ,8BACI,QAAA,IAAA,IAIZ,4BACI,QAAA,KAEJ,yBACI,QAAA,KAEJ,oCACI,2BAAA,MAGR,sCAEQ,iBAAA,IAAA,eAGR,uCAEQ,iBAAA,KAAA,cAGR,wCAEQ,iBAAA,EAAA,cAGR,4BACI,SAAA,iBADJ,uDAGQ,KAAA,YACA,MAAA,eACA,UAAA,kBACA,YAAA,YAGR,oBACI,QAAA,gBAEJ,mBACI,UAAA,WACA,QAAA,EAMQ,4BGCZ,4BHCgB,YAAA,KACA,WAAA,KACA,MAAA,QACA,WAAA,qBAOhB,2BGHA,2BACA,0BACA,oCACA,2BACA,2BACA,4BACA,8BACA,4BACA,yBACA,0BACA,0BACA,yBACA,0BACA,gBACA,kBHMQ,WAAA,WACA,QAAA,IACA,OAAA,IAAA,MAAA,gBACA,WAAA,OAAA,IAAA,QACA,OAAA,KACA,iCGHR,iCACA,gCACA,0CACA,iCACA,iCACA,kCACA,oCACA,kCACA,+BACA,gCACA,gCACA,+BACA,gCACA,sBACA,wBHVY,WAAA,IACA,aAAA,QAxBZ,kBA4BQ,WAAA,aAAA,IAAA,OAAA,CAAA,OAAA,MAAA,QAEJ,aACI,WAAA,IAAA,IAAA,SADJ,0BAGQ,WAAA,KAGR,gCAEQ,YAAA,IACA,UAAA,KACA,QAAA,MACA,eAAA,IALR,kCAOY,WAAA,EAIZ,oBACI,QAAA,MACA,UAAA,KACA,MAAA,QACA,QAAA,IAAA,EAAA,EAAA,EACA,WAAA,OAGA,qBGQR,sBAEA,oBADA,qBHLY,UAAA,KAMZ,kBGKA,gBACA,+BHHI,WAAA,KAEJ,sCGKA,6CACA,uCHHI,WAAA,KAIJ,kBACI,MAAA,QAIJ,WACI,cAAA,EACA,OAAA,KACA,WAAA,WACA,iBACI,YAAA,KACA,QAAA,aACA,OAAA,EACA,YAAA,KACA,MAAA,KAEJ,oBAEQ,OAAA,KACA,YAAA,KACA,UAAA,KACA,cAAA,YACA,YAAA,KACA,OAAA,eACA,OAAA,EGKZ,2BHJY,0BAEI,WAAA,IAEJ,2CACI,YAAA,KACA,OAAA,EAFJ,+CAIQ,WAAA,MACA,UAAA,KAQpB,cACI,cAAA,IACA,WAAA,KACA,aAAA,gBAHJ,+BAKQ,cAAA,IAAA,IAAA,EAAA,EAKR,aAEQ,oBAAA,gBAFR,aAKQ,cAAA,IAAA,KAEJ,oBGFJ,oBHKY,YAAA,OAGR,4BGJJ,4BHOY,eAAA,OAIZ,uBACI,oBAAA,YAIJ,kCAEQ,QAAA,KAMJ,oBAGY,MAAA,QAHZ,6BAQY,WAAA,QAOhB,mBAEQ,cAAA,IAAA,MAAA,gBGnBR,mBACA,mBHgBA,mBAOQ,WAAA,OACA,YAAA,IACA,MAAA,QACA,UAAA,KAVR,aAaQ,oBAAA,QAbR,mBGNA,mBHuBQ,WAAA,IAAA,MAAA,gBACA,cAAA,KAEJ,4CACI,WAAA,iBAEJ,+BACI,WAAA,iBAKR,cACI,cAAA,EACA,aAAA,gBACA,sBACI,QAAA,IAAA,IAAA,EACA,YAAA,KACA,MAAA,QACA,UAAA,KAMR,eACI,UAAA,KAEJ,eACI,MAAA,kBAEJ,iBACI,MAAA,kBAEJ,gBACI,MAAA,kBAEJ,iBACI,MAAA,kBAEJ,iBACI,MAAA,kBAGA,kBACI,cAAA,eAEJ,wBACI,cAAA,cAEJ,yBACI,cAAA,eAEJ,wBACI,cAAA,eAEJ,sBACI,WAAA,eAEJ,qBACI,WAAA,eAEJ,iBACI,aAAA,eAEJ,wBACI,aAAA,eAGR,UACI,UAAA,KACA,QAAA,EGzBJ,gBH0BI,gBAEI,QAAA,EAEJ,gBACI,QAAA,YACA,MAAA,QACA,QAAA,QACA,YAAA,iBI5BsE,+ECziB9E,oBACE,WAAA,EACA,cAAA,KACA,QAAA,IAAA,KACA,WAAA,QACA,UAAA,KACA,YAAA,KACA,OAAA,QACA,OAAA,IAAA,MAAA,KACA,cAAA,IAIF,sBACE,QAAA,EAAA,KAAA,KAAA,KF0jBF,4BErjBA,6BAEE,QAAA,GACA,QAAA,MAEF,4BACE,MAAA,KAKF,kCACE,cAAA,EL+iBE,oBACI,WAAA,qBACA,cAAA,EACA,OAAA,KACA,OAAA,EAAA,EAAA,IACA,UAAA,KACA,YAAA,IACA,QAAA,IAAA,KAAA,IAAA,KACA,SAAA,SACA,0BACI,QAAA,QACA,YAAA,iBACA,UAAA,KACA,SAAA,SACA,IAAA,IACA,MAAA,IACA,QAAA,MACA,MAAA,QACA,WAAA,UAAA,MAGA,oCACI,UAAA,gBAGR,4BACI,WAAA,QACA,MAAA,KACA,kCACI,MAAA,KAGR,2BACI,WAAA,QACA,MAAA,KACA,iCACI,MAAA,KAGR,4BACI,WAAA,QACA,MAAA,KACA,kCACI,MAAA,KAGR,4BACI,WAAA,QACA,MAAA,KACA,kCACI,MAAA,KAIZ,sBACI,QAAA,KAEJ,sCAEQ,WAAA,KACA,OAAA,EACA,QAAA,KAAA,KAAA,KAAA,KACA,WAAA,IAAA,MAAA,gBACA,kDACI,WAAA,KAEJ,4CACI,MAAA,QACA,QAAA,QACA,MAAA,KACA,KAAA,KACA,IAAA,KAGA,sDACI,UAAA,gBACA,QAAA,QAnBhB,wCAwBQ,QAAA,KIAkE,+EE7pB9E,WAGE,QAAA,KAGA,UAAA,KAEA,YAAA,MACA,WAAA,MAEA,QAAA,EACA,WAAA,KAMF,aAIE,KAAA,KAEA,aAAA,KACA,WAAA,KH0qBF,iBGrqBA,kBAEE,QAAA,GACA,QAAA,MACA,SAAA,OAEF,iBACE,MAAA,KAEF,aACE,MAAA,KAQF,eACE,QAAA,MACA,WAAA,YACA,MAAA,KACA,OAAA,KACA,cAAA,IACA,WAAA,kBAEA,YAAA,KACA,SAAA,OACA,YAAA,OH4qBF,oBGrqBA,oBAEE,WAAA,kBAEA,QAAA,EAGF,qBACE,WAAA,kBAGF,wBACE,WAAA,kBAIF,wBACE,WAAA,qBH2qBF,6BGrqBA,6BAEE,WAAA,qBAGF,8BACE,WAAA,qBAGF,iCACE,WAAA,qBAOF,oBAGE,eAAA,OAKF,sBACE,MAAA,KNojBF,8BAEQ,QAAA,MACA,WAAA,EACA,QAAA,EACA,WAAA,OACA,WAAA,KACA,cAAA,EACA,OAAA,KACA,UAAA,aACA,QAAA,EACA,WAAA,IAAA,MAAA,wBACA,kBAAA,eAAA,UAAA,eACA,iBAAA,EAAA,EAEJ,sCAEQ,UAAA,SACA,QAAA,EACA,WAAA,MAIZ,oCAEQ,MAAA,KACA,WAAA,WAHR,4CAKY,OAAA,EImHkE,+EGjzB9E,cAEE,SAAA,SAEA,QAAA,EAEA,MAAA,KAEA,OAAA,EACA,QAAA,EACA,WAAA,KAEA,SAAA,OAEA,aAAA,MAQF,iBAEE,SAAA,SACA,IAAA,EACA,KAAA,EAEA,MAAA,KAEA,QAAA,EAOF,yBAEE,QAAA,GAEA,QAAA,EAKF,qBACE,WAAA,OAKF,0BACE,OAAA,QAIF,yBJ4zBA,4BI1zBE,OAAA,MAOF,sBACE,kBAAA,QAAA,IAAA,OACA,UAAA,QAAA,IAAA,OAEF,uBACE,kBAAA,QAAA,IAAA,OAAA,QACA,UAAA,QAAA,IAAA,OAAA,QAKF,gCACE,kBAAA,eAAA,IAAA,YACA,UAAA,eAAA,IAAA,YAEF,iCACE,kBAAA,cAAA,IAAA,YAAA,QACA,UAAA,cAAA,IAAA,YAAA,QAEF,iCACE,kBAAA,cAAA,IAAA,YACA,UAAA,cAAA,IAAA,YAEF,kCACE,kBAAA,eAAA,IAAA,YAAA,QACA,UAAA,eAAA,IAAA,YAAA,QAKF,wBACE,kBAAA,iBAAA,IAAA,YAAA,QACA,UAAA,iBAAA,IAAA,YAAA,QAKF,+BACE,kBAAA,iBAAA,IAAA,YACA,UAAA,iBAAA,IAAA,YAEF,gCACE,kBAAA,cAAA,IAAA,YAAA,QACA,UAAA,cAAA,IAAA,YAAA,QAEF,gCACE,kBAAA,kBAAA,IAAA,YACA,UAAA,kBAAA,IAAA,YAEF,iCACE,kBAAA,eAAA,IAAA,YAAA,QACA,UAAA,eAAA,IAAA,YAAA,QJ8zBF,uCI5zBA,sCAEE,QAAA,GACA,SAAA,SACA,IAAA,EACA,OAAA,EACA,KAAA,EACA,MAAA,EACA,QAAA,EACA,WAAA,eACA,kBAAA,QAAA,IAAA,YAAA,QACA,UAAA,QAAA,IAAA,YAAA,QHg0B4E,+EIv8B9E,iBACE,UAAA,IAEF,2BACE,UAAA,IAOF,WAEE,SAAA,SAEA,QAAA,EAEA,aAAA,MAKF,yBAEE,OAAA,EACA,QAAA,EACA,WAAA,KAMF,aAEE,SAAA,SACA,IAAA,EACA,KAAA,EAKF,qBACE,SAAA,OAKF,yBAEE,WAAA,UAAA,IAAA,OAKF,mBACE,OAAA,WAEA,iBAAA,KACA,oBAAA,KACA,gBAAA,KACA,YAAA,KAOF,aL48BA,eKz8BE,kBAAA,KACA,UAAA,KAEA,sBAAA,KAKF,eACE,eAAA,KAIF,sBL48BA,yBK18BE,OAAA,MRynBF,qBACI,QAAA,IAAA,EI0V0E,+EKviC9E,aAEE,QAAA,aAEA,WAAA,WACA,MAAA,KACA,OAAA,KAEA,YAAA,KACA,MAAA,kBACA,UAAA,KACA,WAAA,ONujCF,mBM9iCA,mBAGE,QAAA,EAEA,gBAAA,KAEA,MAAA,kBACA,OAAA,QAGF,oBACE,MAAA,kBAKF,6BACE,QAAA,QACA,YAAA,YAEF,yBACE,QAAA,QACA,YAAA,YAOF,sBACE,SAAA,SAKF,mCACE,QAAA,KACA,SAAA,SACA,IAAA,IACA,QAAA,EACA,WAAA,MAEF,yCACE,QAAA,MAEF,4CACE,KAAA,KAEF,wCACE,MAAA,KAIF,sBACE,MAAA,qBNojCF,4BM9iCA,4BAEE,MAAA,qBAGF,6BACE,MAAA,qBLmjC4E,+EMzoC9E,YAEE,QAAA,KAEA,SAAA,SACA,QAAA,KAEA,WAAA,WACA,UAAA,MACA,QAAA,IAAA,IAEA,WAAA,KACA,MAAA,qBACA,UAAA,KACA,YAAA,KACA,cAAA,IACA,YAAA,EAAA,IAAA,EAAA,eAOF,kBACE,QAAA,GACA,QAAA,MACA,SAAA,SACA,MAAA,EACA,OAAA,EAEA,OAAA,IAAA,OAAA,KPwpCF,2BACA,4BOlpCA,sBAGE,OAAA,KACA,iBAAA,MACA,cAAA,KACA,kBAAA,YACA,mBAAA,YACA,iBAAA,KPspCF,8BACA,+BOlpCA,yBAGE,IAAA,KACA,oBAAA,MACA,WAAA,KACA,kBAAA,YACA,mBAAA,YACA,oBAAA,KPspCF,yBOjpCA,sBAEE,KAAA,IACA,YAAA,KPspCF,8BOjpCA,2BAEE,KAAA,KPspCF,+BOjpCA,4BAEE,MAAA,KAKF,uBACE,MAAA,KACA,IAAA,IACA,WAAA,KACA,kBAAA,MACA,aAAA,KACA,iBAAA,YACA,oBAAA,YACA,kBAAA,KAKF,wBACE,KAAA,KACA,IAAA,IACA,WAAA,KACA,mBAAA,MACA,YAAA,KACA,iBAAA,YACA,oBAAA,YACA,mBAAA,KV2mBF,YACI,WAAA,QACA,MAAA,KACA,UAAA,KACA,QAAA,IAAA,KACA,YAAA,KACA,YAAA,KACA,UAAA,KACA,WAAA,OACA,QAAA,KACA,QAAA,EAVJ,8BE1lBI,cAAA,SACA,QAAA,aACA,eAAA,IACA,YAAA,OACA,SAAA,OACA,MAAA,KFmmBA,kBACI,QAAA,eAEJ,sBACI,WAAA,KADJ,wCAGQ,YAAA,OACA,SAAA,QACA,YAAA,KACA,QAAA,IAAA,EAGR,kBACI,UAAA,WAKR,QACI,oBAAA,gBACA,+BACI,WAAA,KACA,YAAA,IAJR,WAOQ,cAAA,EACA,WAAA,EAEA,QAAA,EAVR,aAYY,UAAA,KACA,eAAA,UACA,MAAA,QACA,OAAA,KACA,cAAA,IAAA,MAAA,YACA,cAAA,YACA,YAAA,IACA,UAAA,MACA,UAAA,KACA,WAAA,OACA,WAAA,IAAA,MAAA,wBACA,QAAA,cACA,OAAA,YACA,WAAA,WACA,SAAA,SACA,IAAA,IACA,YAAA,KG+iBZ,mBH9iBY,mBAEI,WAAA,IACA,MAAA,QACA,oBAAA,QAGR,uBAEQ,WAAA,cACA,oBAAA,QAKA,yBG0iBhB,+BADA,+BHtiBoB,MAAA,KAKhB,kBAEQ,WAAA,EAFR,oBAIY,WAAA,IAAA,MAAA,YACA,cAAA,KACA,IAAA,KACA,OAAA,IGwiBhB,0BHviBgB,0BAEI,iBAAA,QAGR,8BAEQ,iBAAA,QAKhB,aACI,cAAA,KADJ,kBAIY,aAAA,IAAA,MAAA,YACA,cAAA,KACA,WAAA,MACA,IAAA,KACA,OAAA,KGoiBhB,wBHniBgB,wBAEI,mBAAA,QAGR,4BAEQ,mBAAA,QAKhB,cACI,cAAA,KADJ,mBAIY,YAAA,IAAA,MAAA,YACA,cAAA,KACA,WAAA,KACA,IAAA,KACA,OAAA,KGgiBhB,yBH/hBgB,yBAEI,kBAAA,QAGR,6BAEQ,kBAAA,QAKhB,wBAEQ,OAAA,eAIA,4BACI,QAAA,QACA,YAAA,iBACA,MAAA,QACA,aAAA,IACA,eAAA,KACA,UAAA,KAIZ,mBAGY,UAAA,KAHZ,mCAKgB,UAAA,KAKhB,sBACI,OAAA,KAAA,KAAA,YADJ,2BAIY,MAAA,KACA,cAAA,IAAA,MAAA,YGmhBhB,iCHlhBgB,iCAEI,MAAA,KACA,oBAAA,QAGR,qCAEQ,MAAA,KACA,oBAAA,QAGR,6CAEQ,cAAA,KACA,eAAA,cACA,oDACI,MAAA,KAMpB,iBAEQ,cAAA,EACA,WAAA,EAEA,QAAA,EALR,mBAOY,UAAA,KACA,QAAA,KAAA,eAOhB,kBACI,QAAA,MAGJ,aACI,SAAA,OADJ,gBAGQ,QAAA,IAAA,IA0HR,0BGyZE,4BQj9CD,qBXi9BO,MAAA,KGwgBN,4BACA,4BACA,4BACA,6BQ59CD,qBRs9CC,qBACA,qBACA,sBH3fM,MAAA,IGqgBN,4BACA,4BQn+CD,qBRi+CC,qBH5fM,MAAA,QGmgBN,4BACA,4BQz+CD,qBRu+CC,qBH3fM,MAAA,QGkgBN,4BQ9+CD,qBXk/BO,MAAA,IGggBN,4BQl/CD,qBXu/BO,MAAA,IGigBN,4BACA,6BQz/CD,qBRu/CC,sBHxfM,MAAA,IG+fN,4BACA,6BQ//CD,qBR6/CC,sBHvfM,MAAA,IG8fN,4BACA,6BQrgDD,qBRmgDC,sBHtfM,MAAA,IG6fN,4BACA,6BQ3gDD,qBRygDC,sBHrfM,MAAA,IG4fN,4BQhhDD,qBX0hCO,MAAA,QG0fN,4BQphDD,qBX+hCO,MAAA,QG0fN,6BQzhDD,sBXqiCO,MAAA,IGwfN,6BQ7hDD,sBX0iCO,MAAA,IGufN,6BQjiDD,sBX+iCO,MAAA,IGsfN,6BQriDD,sBXojCO,MAAA,KASR,gCAEQ,QAAA,YY7jCJ,+BACI,WAAA,OADJ,mDAGQ,UAAA,KACA,YAAA,IACA,QAAA,KAAA,EACA,cAAA,KANR,oDASQ,QAAA,IAAA,EAAA,EACA,UAAA,KACA,cAAA,KAXR,8DAaY,eAAA,IACA,UAAA,KACA,QAAA,EAAA,IAfZ,4DAkBY,UAAA,KACA,QAAA,IACA,MAAA,KACA,QAAA,MArBZ,uDV+FA,OAAA,EACA,QAAA,EACA,WAAA,KUjGA,0DVmGI,QAAA,EACA,OAAA,EACA,WAAA,KUrGJ,0DA2BY,UAAA,KACA,QAAA,IAAA,EA5BZ,qDAgCQ,QAAA,KAAA,EAGR,+BACI,WAAA,OADJ,mDAGQ,UAAA,KACA,YAAA,IACA,QAAA,KAAA,EACA,cAAA,KACA,eAAA,UAPR,oDAUQ,QAAA,IAAA,EAAA,EACA,UAAA,KACA,cAAA,KAZR,8DAcY,eAAA,IACA,UAAA,KACA,QAAA,EAAA,IAhBZ,4DAmBY,UAAA,KACA,QAAA,IACA,MAAA,KACA,QAAA,MAtBZ,uDV4DA,OAAA,EACA,QAAA,EACA,WAAA,KU9DA,0DVgEI,QAAA,EACA,OAAA,EACA,WAAA,KUlEJ,0DA4BY,UAAA,KACA,QAAA,IAAA,EA7BZ,qDAiCQ,QAAA,KAAA,EAGR,+BACI,WAAA,OADJ,mDAGQ,UAAA,KACA,YAAA,IACA,QAAA,KAAA,EACA,cAAA,IANR,oDASQ,QAAA,IAAA,EAAA,EACA,UAAA,KACA,cAAA,KAXR,8DAaY,eAAA,IACA,UAAA,KACA,QAAA,EAAA,IAfZ,4DAkBY,UAAA,KACA,MAAA,KACA,eAAA,EACA,aAAA,IArBZ,uDVwBA,OAAA,EACA,QAAA,EACA,WAAA,KU1BA,0DV4BI,QAAA,EACA,OAAA,EACA,WAAA,KU9BJ,0DA2BY,UAAA,KACA,QAAA,IAAA,EA5BZ,qDAgCQ,QAAA,KAAA,ECzGZ,aACI,SAAA,SACA,QAAA,KAAA,EAAA,KACA,mBACI,SAAA,SACA,IAAA,EACA,OAAA,EACA,YAAA,KACA,KAAA,IACA,QAAA,GACA,MAAA,IACA,WAAA,qBACA,QAAA,MVkrDR,yBDjlDI,0BAEI,QAAA,IACA,QAAA,MAEJ,yBACI,MAAA,KWrGJ,qBAGQ,WAAA,KAII,wDACI,MAAA,MACA,8DACI,kBAAA,YACA,mBAAA,KACA,MAAA,KACA,KAAA,MAMpB,qBACI,WAAA,WACA,WAAA,KACA,MAAA,IACA,QAAA,KZ5BA,WAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBY8BA,SAAA,SACA,cAAA,IACA,2BACI,SAAA,SACA,IAAA,KACA,MAAA,MACA,QAAA,GACA,QAAA,MACA,OAAA,KAAA,MAAA,YACA,kBAAA,KAGR,mBACI,SAAA,SACA,KAAA,IACA,MAAA,KACA,OAAA,KACA,YAAA,MACA,WAAA,KACA,cAAA,IACA,WAAA,OACA,QAAA,GZnDA,WAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBY0CJ,qBAYQ,UAAA,KACA,YAAA,KAKZ,yCAEQ,mBACI,YAAA,EACA,KAAA,KAEJ,mBACI,aAAA,KAEJ,qBACI,MAAA,KACA,2BACI,kBAAA,YACA,mBAAA,KACA,MAAA,KACA,KAAA,MAGR,mBACI,KAAA,EACA,YAAA,GAKZ,yCAEQ,mBACI,YAAA,EACA,KAAA,KAEJ,mBACI,aAAA,KAEJ,qBACI,MAAA,KACA,2BACI,kBAAA,YACA,mBAAA,KACA,MAAA,KACA,KAAA,MACA,IAAA,KAGR,mBACI,MAAA,KACA,OAAA,KACA,KAAA,EACA,YAAA,EAJJ,qBAMQ,YAAA,KACA,UAAA,MZvFhB,YACI,iBAAA,kBACA,MAAA,KAEJ,mBACI,iBAAA,kBACA,MAAA,KAEJ,YACI,iBAAA,kBACA,MAAA,KAEJ,WACI,iBAAA,kBACA,MAAA,KAEJ,kBACI,iBAAA,kBACA,MAAA,KAEJ,YACI,iBAAA,kBACA,MAAA,KAEJ,cACI,iBAAA,kBACA,MAAA,KarDJ,QACI,WAAA,KACA,OAAA,KACA,cAAA,IbHI,WAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBaKJ,WAAA,KACA,UAAA,KACA,QAAA,IAAA,KACA,WAAA,OACA,YAAA,KACA,eAAA,UACA,WAAA,IAAA,MAAA,wBACA,MAAA,QACA,WAAA,WACA,OAAA,QACA,mBAAA,KACA,QAAA,aACA,eAAA,OZkGA,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,qBCkuDJ,eADA,cWj0DI,cXm0DJ,oCW/zDQ,WAAA,KACA,QAAA,EACA,gBAAA,KACA,MAAA,QbvBA,WAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBa0BJ,eXi0DJ,oCFx1DQ,WAAA,EAAA,KAAA,KAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBa2BJ,abpCI,WAAA,easCA,WAAA,IXm0DR,mBWl0DQ,mBAEI,WAAA,qBAEJ,oBACI,WAAA,qBAGA,oBXm0DZ,2BADA,0BADA,0BW7zDgB,MAAA,QXo0DhB,2BADA,0BWj0DY,0BAGI,WAAA,QAIJ,qBXi0DZ,4BADA,2BADA,2BW3zDgB,MAAA,QXk0DhB,4BADA,2BW/zDY,2BAGI,WAAA,QAIJ,qBX+zDZ,4BADA,2BADA,2BWzzDgB,MAAA,QXg0DhB,4BADA,2BW7zDY,2BAGI,WAAA,QAIJ,qBX6zDZ,4BADA,2BADA,2BWvzDgB,MAAA,QX8zDhB,4BADA,2BW3zDY,2BAGI,WAAA,QAGR,sBACI,WAAA,cAIJ,eX0zDR,sBADA,qBADA,qBWpzDY,WAAA,QAIJ,gBXwzDR,uBADA,sBADA,sBWlzDY,WAAA,QAIJ,gBXszDR,uBADA,sBADA,sBWhzDY,WAAA,QAIJ,gBXozDR,uBADA,sBADA,sBW9yDY,WAAA,QAOJ,eXwzDR,sBAJA,qBAJA,qBAYA,iBAfA,gBAYA,uBAJA,sBAJA,sBAYA,kBAfA,gBAYA,uBAJA,sBAJA,sBAYA,kBAfA,gBAYA,uBAJA,sBAJA,sBAYA,kBW1zDY,MAAA,KAIJ,iBX4zDR,wBADA,uBADA,uBWtzDY,MAAA,QACA,WAAA,QACA,WAAA,eACA,OAAA,QACA,eAAA,KAIJ,yBACI,WAAA,IACA,UAAA,KAGR,aACI,YAAA,eACA,UAAA,KACA,UAAA,eACA,WAAA,KAEJ,cACI,YAAA,eACA,UAAA,KACA,UAAA,eAEJ,cACI,YAAA,eACA,UAAA,eAEJ,0BACI,OAAA,EACA,QAAA,EAlLR,gBAqLQ,YAAA,IAEJ,cACI,MAAA,KACA,4BACI,YAAA,EACA,WAAA,KA3LZ,sBA+LQ,YAAA,KAEJ,iBACI,WAAA,kBAEJ,gBACI,WAAA,kBAEJ,cACI,WAAA,kBAKA,iBXszDR,mBADA,cAGA,gBAJA,gBAGA,kBWrzDY,MAAA,eAOA,yBACI,aAAA,YACA,YAAA,YAuBhB,mBX8xDA,0BW7xDI,UAAA,KADJ,qBXkyDA,4BW/xDQ,UAAA,KACA,aAAA,KACA,eAAA,KXmyDR,aWhyDA,qBACI,UAAA,KADJ,uBXoyDA,eWjyDQ,UAAA,KACA,aAAA,IACA,eAAA,KAGR,mBXkyDA,0BWjyDI,UAAA,KADJ,qBXsyDA,4BWnyDQ,UAAA,KACA,aAAA,IACA,eAAA,KAGR,kBXoyDA,yBWnyDI,UAAA,KADJ,oBXwyDA,2BWryDQ,UAAA,KACA,aAAA,IACA,eAAA,KAIR,QACI,WAAA,WACA,MAAA,KACA,OAAA,KACA,cAAA,IACA,WAAA,KACA,MAAA,QACA,QAAA,MbvRI,WAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBayRJ,WAAA,WAAA,MAAA,wBACA,OAAA,KACA,SAAA,SACA,WAAA,OACA,OAAA,QXwyDJ,eADA,cWtyDI,cbxRI,WAAA,EAAA,KAAA,KAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBa0QR,UAoBQ,UAAA,KACA,YAAA,KACA,OAAA,QACA,MAAA,QACA,SAAA,SACA,KAAA,EACA,IAAA,EACA,MAAA,QAEJ,sBACI,WAAA,QADJ,wBAGQ,MAAA,KAGR,uBACI,WAAA,QADJ,yBAGQ,MAAA,KAGR,sBACI,WAAA,QADJ,wBAGQ,MAAA,KAGR,uBACI,WAAA,QADJ,yBAGQ,MAAA,KAGR,uBACI,WAAA,QADJ,yBAGQ,MAAA,KAGR,qBACI,MAAA,KACA,OAAA,KACA,cAAA,IAHJ,uBAKQ,YAAA,KACA,OAAA,QACA,MAAA,QACA,UAAA,KAGR,wCAEQ,QAAA,KAIZ,gBACI,SAAA,MACA,OAAA,KACA,MAAA,KACA,QAAA,KACA,WAAA,OAAA,MAAA,wBACA,yCAAA,gBACI,OAAA,KACA,MAAA,MARR,gCAWQ,WAAA,KAEJ,+BACI,SAAA,SAIR,yCAEQ,SAAA,SACA,OAAA,KACA,MAAA,IACA,WAAA,KACA,MAAA,KACA,QAAA,GAPR,uDASY,UAAA,SACA,QAAA,EACA,SAAA,SACA,MAAA,EACA,oEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,IAAA,CAAA,QAAA,IAAA,wBAAA,KAIA,yEACI,OAAA,KAGJ,oEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,GAAA,CAAA,QAAA,IAAA,wBAAA,IALJ,yEACI,OAAA,MAGJ,oEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,KAAA,CAAA,QAAA,IAAA,wBAAA,MALJ,yEACI,OAAA,MAGJ,oEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,GAAA,CAAA,QAAA,IAAA,wBAAA,IALJ,yEACI,OAAA,MAGJ,oEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,KAAA,CAAA,QAAA,IAAA,wBAAA,MALJ,yEACI,OAAA,MAGJ,oEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,GAAA,CAAA,QAAA,IAAA,wBAAA,IALJ,yEACI,OAAA,MAGJ,oEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,KAAA,CAAA,QAAA,IAAA,wBAAA,MALJ,yEACI,OAAA,MAGJ,oEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,GAAA,CAAA,QAAA,IAAA,wBAAA,IAOhB,+CAEQ,UAAA,SACA,QAAA,EACA,QAAA,GAGA,iEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,IAAA,CAAA,QAAA,IAAA,wBAAA,KAGA,iEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,GAAA,CAAA,QAAA,IAAA,wBAAA,IADJ,iEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,KAAA,CAAA,QAAA,IAAA,wBAAA,MADJ,iEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,GAAA,CAAA,QAAA,IAAA,wBAAA,IADJ,iEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,KAAA,CAAA,QAAA,IAAA,wBAAA,MADJ,iEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,GAAA,CAAA,QAAA,IAAA,wBAAA,IADJ,iEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,KAAA,CAAA,QAAA,IAAA,wBAAA,MADJ,iEACI,WAAA,WAAA,MAAA,uBAAA,CAAA,UAAA,IAAA,wBAAA,GAAA,CAAA,QAAA,IAAA,wBAAA,IASpB,gBACI,WAAA,IAAA,MAAA,wBACA,OAAA,QAFJ,kBAIQ,OAAA,QAEJ,wBACI,WAAA,OACA,YAAA,OACA,QAAA,EAAA,KACA,SAAA,OACA,WAAA,WALJ,0BXi1DJ,+BWz0DY,QAAA,MACA,MAAA,KACA,QAAA,EACA,OAAA,EAAA,EAAA,EAAA,KACA,OAAA,KACA,MAAA,KACA,WAAA,WACA,WAAA,QAAA,MAAA,wBACA,WAAA,IACA,OAAA,KACA,QAAA,EACA,OAAA,QACA,sCX40DZ,2CW30DgB,YAAA,EArBZ,wCAyBQ,UAAA,KACA,YAAA,KAGR,gCbpcI,WAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBascA,cAAA,IAFJ,kCAIQ,QAAA,KAGR,sDAEQ,WAAA,QAFR,wDX80DJ,6DWz0DgB,QAAA,EAIZ,uDXy0DJ,4DWr0DgB,OAAA,KACA,MAAA,KACA,QAAA,EACA,OAAA,EAAA,EAAA,EAAA,IACA,mEXw0DhB,wEWv0DoB,YAAA,EAThB,qEAaY,UAAA,KACA,YAAA,KACA,OAAA,QAMhB,cACI,WAAA,IAAA,MAAA,wBACA,OAAA,QAFJ,gBAIQ,OAAA,QAEJ,sBACI,WAAA,OACA,YAAA,OACA,SAAA,OACA,WAAA,WACA,QAAA,IAAA,EALJ,wBAOQ,QAAA,MACA,QAAA,EACA,QAAA,IAAA,KACA,WAAA,WZtYR,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WYwYQ,WAAA,KACA,wBXu0DZ,8BWr0DgB,MAAA,QAfZ,sCAmBQ,UAAA,KACA,aAAA,IACA,eAAA,KAGR,8BbvgBI,WAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBaygBA,cAAA,IAFJ,gCAIQ,QAAA,KAGR,kDAEQ,WAAA,QAFR,oDAIY,QAAA,EAMhB,0CAEQ,aAAA,MACA,yCAAA,0CACI,aAAA,OAKZ,mCAEQ,aAAA,EAAA,EAAA,IACA,aAAA,MACA,aAAA,YACA,WAAA,IACA,YAAA,KACA,UAAA,KACA,WAAA,OACA,QAAA,EAAA,IACA,eAAA,OACA,OAAA,QACA,oDACI,oBAAA,QAGR,yDAEQ,UAAA,KACA,YAAA,KACA,UAAA,KACA,QAAA,EAAA,IAKZ,cACI,QAAA,aACA,eAAA,IACA,SAAA,SACA,UAAA,EACA,YAAA,OALJ,sBAOQ,eAAA,IACA,YAAA,YACA,kCACI,wBAAA,EACA,2BAAA,EAEJ,yDACI,cAAA,EAEJ,iCACI,uBAAA,EACA,0BAAA,EHnlBX,iBIWO,MAAA,kBJXP,cIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,sBIWO,MAAA,eJXP,mBIeO,iBAAA,eJfP,yBIWO,MAAA,kBJXP,sBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,2BIWO,MAAA,kBJXP,wBIeO,iBAAA,kBJfP,2BIWO,MAAA,kBJXP,wBIeO,iBAAA,kBJfP,2BIWO,MAAA,kBJXP,wBIeO,iBAAA,kBJfP,2BIWO,MAAA,kBJXP,wBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,wBIWO,MAAA,kBJXP,qBIeO,iBAAA,kBJfP,yBIWO,MAAA,kBJXP,sBIeO,iBAAA,kBJfP,yBIWO,MAAA,kBJXP,sBIeO,iBAAA,kBJfP,yBIWO,MAAA,kBJXP,sBIeO,iBAAA,kBJfP,yBIWO,MAAA,kBJXP,sBIeO,iBAAA,kBJfP,yBIWO,MAAA,kBJXP,sBIeO,iBAAA,kBJfP,yBIWO,MAAA,kBJXP,sBIeO,iBAAA,kBJfP,yBIWO,MAAA,kBJXP,sBIeO,iBAAA,kBJfP,yBIWO,MAAA,kBJXP,sBIeO,iBAAA,kBJfP,yBIWO,MAAA,kBJXP,sBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,yBIWO,MAAA,kBJXP,sBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,2BIWO,MAAA,kBJXP,wBIeO,iBAAA,kBJfP,2BIWO,MAAA,kBJXP,wBIeO,iBAAA,kBJfP,2BIWO,MAAA,kBJXP,wBIeO,iBAAA,kBJfP,2BIWO,MAAA,kBJXP,wBIeO,iBAAA,kBJfP,kBIWO,MAAA,kBJXP,eIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,sBIWO,MAAA,eJXP,mBIeO,iBAAA,eJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,mBIWO,MAAA,kBJXP,gBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,oBIWO,MAAA,kBJXP,iBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,qBIWO,MAAA,kBJXP,kBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,sBIWO,MAAA,kBJXP,mBIeO,iBAAA,kBJfP,yBIWO,MAAA,kBJXP,sBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,0BIWO,MAAA,kBJXP,uBIeO,iBAAA,kBJfP,2BIWO,MAAA,kBJXP,wBIeO,iBAAA,kBJfP,2BIWO,MAAA,kBJXP,wBIeO,iBAAA,kBJfP,2BIWO,MAAA,kBJXP,wBIeO,iBAAA,kBJfP,2BIWO,MAAA,kBJXP,wBIeO,iBAAA,kBJfP,mBIqCO,MAAA,kBJrCP,gBIyCO,iBAAA,kBJzCP,oBIqCO,MAAA,kBJrCP,iBIyCO,iBAAA,kBJzCP,oBIqCO,MAAA,kBJrCP,iBIyCO,iBAAA,kBJzCP,oBIqCO,MAAA,kBJrCP,iBIyCO,iBAAA,kBJzCP,oBIqCO,MAAA,kBJrCP,iBIyCO,iBAAA,kBJzCP,oBIqCO,MAAA,kBJrCP,iBIyCO,iBAAA,kBJzCP,oBIqCO,MAAA,kBJrCP,iBIyCO,iBAAA,kBJzCP,oBIqCO,MAAA,kBJrCP,iBIyCO,iBAAA,kBJzCP,oBIqCO,MAAA,kBJrCP,iBIyCO,iBAAA,kBJzCP,oBIqCO,MAAA,kBJrCP,iBIyCO,iBAAA,kBJzCP,kBIqCO,MAAA,kBJrCP,eIyCO,iBAAA,kBJzCP,mBIqCO,MAAA,kBJrCP,gBIyCO,iBAAA,kBJzCP,mBIqCO,MAAA,eJrCP,gBIyCO,iBAAA,eJzCP,mBIqCO,MAAA,kBJrCP,gBIyCO,iBAAA,kBJzCP,mBIqCO,MAAA,kBJrCP,gBIyCO,iBAAA,kBJzCP,mBIqCO,MAAA,kBJrCP,gBIyCO,iBAAA,kBJzCP,mBIqCO,MAAA,kBJrCP,gBIyCO,iBAAA,kBJzCP,mBIqCO,MAAA,kBJrCP,gBIyCO,iBAAA,kBJzCP,mBIqCO,MAAA,kBJrCP,gBIyCO,iBAAA,kBJzCP,mBIqCO,MAAA,kBJrCP,gBIyCO,iBAAA,kBJzCP,uBIqCO,MAAA,kBJrCP,oBIyCO,iBAAA,kBJzCP,wBIqCO,MAAA,kBJrCP,qBIyCO,iBAAA,kBJzCP,wBIqCO,MAAA,kBJrCP,qBIyCO,iBAAA,kBJzCP,wBIqCO,MAAA,kBJrCP,qBIyCO,iBAAA,kBJzCP,wBIqCO,MAAA,kBJrCP,qBIyCO,iBAAA,kBJzCP,wBIqCO,MAAA,kBJrCP,qBIyCO,iBAAA,kBJzCP,wBIqCO,MAAA,kBJrCP,qBIyCO,iBAAA,kBJzCP,wBIqCO,MAAA,kBJrCP,qBIyCO,iBAAA,kBJzCP,wBIqCO,MAAA,kBJrCP,qBIyCO,iBAAA,kBJzCP,wBIqCO,MAAA,kBJrCP,qBIyCO,iBAAA,kBAeR,gBACI,MAAA,eJxDJ,SACI,WAAA,KACA,SAAA,SVGI,WAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBUDJ,OAAA,KACA,kBR04HJ,kBACA,kBQx4HQ,WAAA,KARR,6BAWQ,QAAA,KAAA,KACA,WAAA,iBAZR,0BAeQ,OAAA,KAGA,QAAA,EAAA,KACA,cAAA,IAAA,MAAA,gBACA,WAAA,KR04HR,gCDlzHI,iCAEI,QAAA,IACA,QAAA,MAEJ,gCACI,MAAA,KS5FA,uCTkGJ,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WShGQ,MAAA,QACA,OAAA,EACA,MAAA,KACA,SAAA,OACA,OAAA,KACA,6CACI,UAAA,KACA,YAAA,IA/BhB,2CAmCY,MAAA,KACA,OAAA,IAAA,EAAA,EAAA,KACA,iEACI,WAAA,KAtChB,mDA0CY,MAAA,MACA,YAAA,KA3CZ,kFA8CoB,WAAA,iBACA,MAAA,QA/CpB,qEAmDgB,QAAA,aACA,SAAA,SApDhB,sEAuDgB,UAAA,MACA,WAAA,KAxDhB,uFA0DoB,WAAA,KACA,QAAA,IAAA,IA3DpB,0FA8DoB,WAAA,MA9DpB,qDAoEe,YAAA,IApEf,yDAwEY,OAAA,IAAA,IAAA,EAAA,EAEJ,gCACI,OAAA,KT6CR,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WS3CQ,OAAA,KACA,WAAA,cACA,QAAA,KAAA,EACA,MAAA,IACA,WAAA,WAjFZ,kCAoFY,WAAA,KACA,cAAA,KArFZ,uCAuFgB,QAAA,KAAA,cAvFhB,uBA4FQ,OAAA,MACA,SAAA,SACA,cAAA,IAAA,MAAA,gBACA,4BACI,SAAA,SACA,MAAA,IACA,IAAA,IAEJ,8BACI,MAAA,KACA,OAAA,KACA,cAAA,IACA,WAAA,KACA,OAAA,IAAA,MAAA,KACA,QAAA,aAEJ,4BACI,QAAA,IAAA,KAAA,KTWR,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WSTQ,MAAA,QACA,OAAA,EAJJ,iCAMQ,QAAA,MTMZ,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WSJY,WAAA,KAEJ,sCACI,MAAA,kBAEJ,iCACI,iBAAA,gEAGR,+BACI,SAAA,SACA,OAAA,KACA,KAAA,EACA,MAAA,EACA,QAAA,EAAA,KACA,WAAA,MACA,MAAA,KAPJ,oCASQ,UAAA,KAGR,4BACI,UAAA,KACA,MAAA,KACA,eAAA,OAEJ,uCACI,kBAAA,UACA,oBAAA,OAAA,OACA,gBAAA,MACA,oBAAA,YAJJ,0DAMQ,MAAA,KAEJ,2CACI,kBAAA,UACA,oBAAA,OAAA,IAEJ,8CACI,kBAAA,UACA,oBAAA,OAAA,OA5JhB,mCAgKY,OAAA,MACA,MAAA,KACA,SAAA,mBACA,KAAA,EACA,IAAA,KApKZ,sCAuKY,MAAA,KACA,OAAA,MACA,SAAA,OAEJ,2BACI,OAAA,KACA,MAAA,KA7KZ,8BAgLY,OAAA,MAhLZ,0BAoLQ,QAAA,KACA,wCACI,QAAA,EAEJ,wCACI,QAAA,KAAA,KAEJ,wCACI,QAAA,IA5LZ,yBAgMQ,QAAA,KACA,UAAA,KACA,YAAA,KAlMR,8CTwHI,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WS6EQ,OAAA,EAAA,EAAA,IAGR,4BACI,SAAA,MACA,QAAA,KACA,WAAA,OAHJ,yDAKQ,QAAA,KA7MZ,qCAiNQ,QAAA,KACA,QAAA,KAAA,EACA,wEACI,QAAA,MACA,WAAA,OACA,QAAA,EAGR,yBACI,WAAA,OADJ,0CAGQ,SAAA,MACA,KAAA,EACA,MAAA,EACA,IAAA,EACA,QAAA,KVxNJ,WAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBUiNJ,0CAWQ,WAAA,OACA,WAAA,WACA,SAAA,SACA,MAAA,KACA,IAAA,KACA,OAAA,EAGR,yBACI,SAAA,OACA,eAAA,KAFJ,0CAIQ,OAAA,MACA,SAAA,OACA,WAAA,WACA,sDACI,SAAA,SACA,4DACI,SAAA,SACA,OAAA,EACA,KAAA,EACA,MAAA,EACA,OAAA,IACA,iBAAA,0DACA,QAAA,MACA,QAAA,GACA,QAAA,GAlBhB,8CAsBY,WAAA,EACA,WAAA,MAvBZ,mDAyBgB,SAAA,OAzBhB,kDA8BQ,SAAA,SACA,IAAA,KACA,KAAA,EACA,MAAA,EACA,QAAA,EAAA,KACA,WAAA,MACA,WAAA,IAAA,MAAA,gBACA,WAAA,KACA,OAAA,EACA,WAAA,KACA,QAAA,GACA,WAAA,IAAA,MAAA,wBAzCR,oDA2CY,OAAA,EA3CZ,sDA6CgB,WAAA,KA7ChB,sDAgDgB,WAAA,IAhDhB,iDAsDQ,QAAA,KAAA,ER64HZ,uDDnkII,wDAEI,QAAA,IACA,QAAA,MAEJ,uDACI,MAAA,KS0HJ,oDR28HJ,oDQl5HgB,OAAA,ETjKZ,cAAA,SACA,QAAA,aACA,eAAA,IACA,YAAA,OACA,SAAA,OACA,MAAA,KS8JY,cAAA,KACA,WAAA,WA5DZ,oDTpHA,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WSoHA,oDTpHA,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WSoHA,0DAqEY,SAAA,SACA,MAAA,KACA,IAAA,KAGR,yDAEQ,IAAA,KACA,WAAA,EAIZ,uBACI,WAAA,IAAA,MAAA,wBACA,YAAA,WACA,6BVrTA,WAAA,EAAA,KAAA,KAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBU0TJ,8BV1TI,WAAA,EAAA,KAAA,KAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBU0TJ,qCAGQ,OAAA,EAAA,KACA,QAAA,MAzUZ,uBA6UQ,QAAA,ERu5HR,gBQr5HI,iBRo5HJ,iBAEA,iBQl5HQ,YAAA,IAAA,MAAA,YAEJ,iBACI,kBAAA,QAEJ,iBACI,kBAAA,QAEJ,gBACI,kBAAA,QAEJ,iBACI,kBAAA,QAGR,WRm5HA,mBQj5HI,QAAA,EAEJ,qBACI,UAAA,KTlSA,sBCyrIJ,wBAEA,6BADA,8BAFA,4BADA,6BDjrIQ,WAAA,WS8RR,2CAGQ,SAAA,SACA,IAAA,MACA,KAAA,EALR,oCAQQ,OAAA,KAAA,EAAA,EAAA,EACA,SAAA,SACA,gDACI,WAAA,KAXZ,uCTzQI,OAAA,EACA,QAAA,EACA,WAAA,KSuQJ,0CTrQQ,QAAA,EACA,OAAA,EACA,WAAA,KSmQR,0CAgBgB,WAAA,KACA,QAAA,IAAA,KACA,UAAA,KAEA,WAAA,WAAA,KAAA,CAAA,QAAA,IACA,WAAA,KVzXR,WAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,IAAA,gBE6xIR,gDDtrII,iDAEI,QAAA,IACA,QAAA,MAEJ,gDACI,MAAA,KS8QQ,qDACI,WAAA,KACA,QAAA,IAAA,KAGQ,yCAAA,gFACI,MAAA,KACA,MAAA,KACA,YAAA,KAHJ,qFAKQ,YAAA,QAIZ,+EACI,MAAA,KACA,SAAA,OAGR,gFACI,SAAA,SACA,uFACI,QAAA,GACA,SAAA,SACA,QAAA,MACA,KAAA,EACA,IAAA,EACA,OAAA,EACA,MAAA,IACA,WAAA,QR46H5B,sEQr6HY,8DRs6HZ,8DQn6HgB,MAAA,KAEJ,8DACI,QAAA,IAAA,IAAA,EAAA,EAEJ,sERu6HZ,4DAFA,8DACA,+DQl6HgB,QAAA,EAAA,IAEJ,gGAEQ,WAAA,QACA,MAAA,KKlbhB,MAAA,KACA,cAAA,ILmbgB,QAAA,MKlbhB,sGACI,MAAA,KACA,cAAA,IL2aI,oGAQQ,YAAA,KACA,eAAA,UACA,WAAA,OAIR,8DACI,MAAA,MACA,YAAA,KAFJ,mET5TR,cAAA,SACA,QAAA,aACA,eAAA,IACA,YAAA,OACA,SAAA,OACA,MAAA,KS6TY,0CAAA,8DACI,QAAA,MAGR,+DACI,SAAA,OACA,YAAA,IAFJ,oEAIQ,YAAA,KT1UhB,cAAA,SACA,QAAA,aACA,eAAA,IACA,YAAA,OACA,SAAA,OACA,MAAA,KSiUQ,+FAQQ,QAAA,KACA,0CAAA,+FACI,QAAA,MADJ,oGAGQ,YAAA,SAZhB,oGTtUR,cAAA,SACA,QAAA,aACA,eAAA,IACA,YAAA,OACA,SAAA,OACA,MAAA,KSkVoB,UAAA,KACA,MAAA,KAIZ,4DACI,YAAA,KACA,MAAA,MACA,MAAA,KACA,yCAAA,4DACI,QAAA,MAGR,4DACI,MAAA,MACA,OAAA,EAAA,EAAA,EAAA,IACA,SAAA,SAHJ,yFAMY,aAAA,IAIZ,uEACI,QAAA,KACA,MAAA,KACA,QAAA,EAEJ,+DACI,QAAA,KAAA,KAAA,EAAA,EACA,WAAA,MACA,WAAA,OACA,OAAA,EAAA,EAAA,KACA,IAAA,KACA,SAAA,SACA,UAAA,KAPJ,wFASQ,YAAA,KAGR,6DACI,QAAA,KAAA,EAEJ,gEACI,WAAA,QR87HhB,kBAcA,kBATA,iBADA,2BADA,qBAOA,kBAJA,kBAGA,mBAPA,qBAUA,mBACA,gBAZA,iBAMA,iBAIA,gBAHA,iBc78IA,Odo8IA,Scn7II,QAAA,Edu8IJ,2BAcA,2BATA,0BADA,oCADA,8BAOA,2BAJA,2BAGA,4BAPA,8BAUA,4BACA,yBAZA,0BAMA,0BAIA,yBAHA,0Bc98II,gBdq8IJ,kBcp8IQ,cAAA,EACA,aAAA,EAAA,EAAA,IACA,aAAA,MACA,aAAA,gBfkGJ,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WehGI,WAAA,MAAA,EAAA,KAAA,EAAA,YACA,WAAA,WACA,QAAA,KAAA,IACA,WAAA,IACA,MAAA,KACA,QAAA,Mdw9IR,2CAcA,2CATA,0CADA,oDADA,8CAOA,2CAJA,2CAGA,4CAPA,8CAUA,4CACA,yCAZA,0CAMA,0CAIA,yCAHA,0Cc/9IQ,gCds9IR,kCcr9IY,aAAA,Qdy+IZ,iDAcA,iDATA,gDADA,0DADA,oDAOA,iDAJA,iDAGA,kDAPA,oDAUA,kDACA,+CAZA,gDAMA,gDAIA,+CAHA,gDch/IY,sCdu+IZ,wCct+IgB,oBAAA,Qd0/IhB,4CAcA,4CATA,2CADA,qDADA,+CAOA,4CAJA,4CAGA,6CAPA,+CAUA,6CACA,0CAZA,2CAMA,2CAIA,0CAHA,2Cc//IQ,iCds/IR,mCcr/IY,aAAA,QdygJZ,kDAcA,kDATA,iDADA,2DADA,qDAOA,kDAJA,kDAGA,mDAPA,qDAUA,mDACA,gDAZA,iDAMA,iDAIA,gDAHA,iDchhJY,uCdugJZ,yCctgJgB,oBAAA,Qd0hJhB,iCAcA,iCATA,gCADA,0CADA,oCAOA,iCAJA,iCAGA,kCAPA,oCAUA,kCACA,+BAZA,gCAMA,gCAIA,+BAHA,gCc/hJQ,sBdshJR,wBcrhJY,WAAA,IACA,aAAA,gBdyiJZ,iCAcA,iCATA,gCADA,0CADA,oCAOA,iCAJA,iCAGA,kCAPA,oCAUA,kCACA,+BAZA,gCAMA,gCAIA,+BAHA,gCc/iJQ,sBdsiJR,wBcriJY,QAAA,IdyjJZ,8CAcA,8CATA,6CADA,uDADA,iDAOA,8CAJA,8CAGA,+CAPA,iDAUA,+CACA,4CAZA,6CAMA,6CAIA,4CAHA,6Cc9jJY,mCdqjJZ,qCcpjJgB,MAAA,KdwkJhB,+CAcA,+CATA,8CADA,wDADA,kDAOA,+CAJA,+CAGA,gDAPA,kDAUA,gDACA,6CAZA,8CAMA,8CAIA,6CAHA,8Cc9kJY,oCdqkJZ,sCcpkJgB,MAAA,MdwlJhB,gDAcA,gDATA,+CADA,yDADA,mDAOA,gDAJA,gDAGA,iDAPA,mDAUA,iDACA,8CAZA,+CAMA,+CAIA,8CAHA,+Cc9lJY,qCdqlJZ,uCcplJgB,MAAA,MdwmJhB,+CAcA,+CATA,8CADA,wDADA,kDAOA,+CAJA,+CAGA,gDAPA,kDAUA,gDACA,6CAZA,8CAMA,8CAIA,6CAHA,8Cc9mJY,oCdqmJZ,sCcpmJgB,MAAA,MAOZ,mCACI,MAAA,KAKJ,sBACI,UAAA,eAEJ,uBACI,UAAA,gBAEJ,sBACI,UAAA,gBAKJ,kBACI,WAAA,KACA,OAAA,KACA,SAAA,OACA,WAAA,OAAA,IAAA,SACA,YAAA,KAEJ,qBACI,WAAA,QACA,SAAA,KACA,WAAA,KACA,OAAA,KAIR,kBACI,SAAA,SACA,YAAA,IACA,MAAA,KACA,QAAA,MAJJ,gCAMQ,QAAA,MACA,SAAA,SACA,OAAA,EACA,KAAA,EACA,MAAA,Kd2mJR,sCc1mJQ,uCAEI,QAAA,GACA,QAAA,MACA,SAAA,SACA,OAAA,EACA,MAAA,EACA,OAAA,IACA,WAAA,QACA,WAAA,MAAA,IAAA,wBAEJ,uCACI,KAAA,IAEJ,sCACI,MAAA,IAGA,mDACI,MAAA,KAEJ,oDACI,MAAA,MAEJ,qDACI,MAAA,MAEJ,oDACI,MAAA,MAvChB,wBA4CQ,MAAA,QACA,SAAA,SACA,IAAA,KACA,KAAA,IACA,MAAA,EACA,eAAA,KACA,WAAA,IAAA,MAAA,SAlDR,oBAqDQ,WAAA,KAEJ,kDAEQ,MAAA,gBAGR,wBACI,eAAA,KADJ,sCAGQ,OAAA,KAHR,4CAMQ,UAAA,KACA,SAAA,SACA,MAAA,EACA,OAAA,EACA,QAAA,EACA,WAAA,QAAA,IAAA,QACA,oEACI,SAAA,SACA,OAAA,EACA,MAAA,EAOhB,uBdkmJA,sBc/lJQ,IAAA,KACA,UAAA,KAEJ,4DdimJJ,2Dc/lJY,QAAA,EdmmJZ,oCc/lJA,qCAGQ,MAAA,IdgmJR,6Cc1lJQ,8CAEI,WAAA,QAGR,oEAEQ,MAAA,Qd0lJZ,8CcnlJQ,+CAEI,WAAA,QAGR,qEAEQ,MAAA,QAKZ,eACI,SAAA,SAGJ,eACI,MAAA,KACA,QAAA,EAAA,IACA,UAAA,KCzOJ,WACI,YAAA,iBACA,WAAA,OACA,YAAA,IACA,IAAA,8DACA,IAAA,uBAAA,CAAA,8BAAA,CAAA,gEAAA,eAAA,CAAA,+DAAA,cAAA,CAAA,8DAAA,mBAMJ,gBACI,YAAA,iBACA,YAAA,IACA,WAAA,OACA,UAAA,KACA,QAAA,aACA,MAAA,IACA,OAAA,IACA,YAAA,EACA,eAAA,KACA,eAAA,OAEA,uBAAA,YAEA,eAAA,mBAEA,wBAAA,UAEA,sBAAA,OACA,eAAA,KACA,MAAA,gBACA,4BACI,MAAA,gBAEJ,sBACI,UAAA,KACA,eAAA,KAEJ,sBACI,UAAA,KACA,eAAA,MAEJ,sBACI,UAAA,KACA,eAAA,MAEJ,yBACI,MAAA,KACA,qCACI,MAAA,qBCrDZ,SjBgGI,OAAA,EACA,QAAA,EACA,WAAA,KiBlGJ,YjBoGQ,QAAA,EACA,OAAA,EACA,WAAA,KAjCJ,SC0zJJ,WAEA,gBADA,iBAFA,eADA,gBDlzJQ,WAAA,WiB3ER,8BhBq4JA,YgBh4JQ,WAAA,KACA,QAAA,IAAA,IACA,WAAA,WACA,cAAA,IAAA,MAAA,gBACA,SAAA,SATR,+ChB64JA,6BgBl4JY,SAAA,OAXZ,oDhBi5JA,kCgBp4JgB,QAAA,MAbhB,gEhBq5JA,8CgBr4JgB,OAAA,EACA,YAAA,IACA,QAAA,MACA,SAAA,OACA,eAAA,IApBhB,6DhB65JA,2CgBt4JgB,MAAA,MAvBhB,kFhBi6JA,gEgBx4JoB,QAAA,MACA,UAAA,KACA,MAAA,eACA,MAAA,KACA,OAAA,KACA,YAAA,KACA,cAAA,KACA,WAAA,OAhCpB,yDhB46JA,uCgBx4JgB,MAAA,MACA,MAAA,eArChB,+DhBi7JA,6CgBz4JgB,MAAA,MACA,YAAA,IACA,WAAA,IACA,QAAA,KA3ChB,2EhBw7JA,yDgB14JgB,MAAA,MACA,YAAA,IACA,QAAA,KACA,MAAA,KACA,OAAA,KAlDhB,uDhBg8JA,qCgB14JY,SAAA,SACA,MAAA,KACA,IAAA,KACA,QAAA,KAzDZ,gDhBu8JA,8BgB34JY,QAAA,MACA,MAAA,QAEJ,yChB64JR,uBgB54JY,cAAA,KAEJ,kDhB84JR,gCgB74JY,MAAA,QACA,WAAA,QAEJ,qEhB+4JR,mDgB74JgB,MAAA,QAFR,0EhBm5JR,wDgB/4JoB,MAAA,kBAIZ,2ChB+4JR,yBgB94JY,WAAA,KACA,QAAA,KAAA,IAAA,KACA,cAAA,KACA,WAAA,cACA,eAAA,UhBm5JZ,+EACA,6DgBl5JQ,mFhBg5JR,iEgB54JoB,QAAA,MhBm5JpB,qEAIA,iFAHA,mDAIA,+DgB55JQ,yEhBy5JR,qFAHA,uDAIA,mEgBh5JoB,QAAA,MhBu5JpB,6DACA,2CgBl6JQ,iEhBg6JR,+CgBl5JgB,QAAA,MAnGhB,8BAwGQ,YAAA,KAEJ,kBAEQ,YAAA,KACA,SAAA,SACA,oDAEQ,cAAA,KACA,OAAA,EAGR,qDAEQ,IAAA,EAKA,6DhB84JpB,6EgB54JwB,MAAA,QAKhB,uBACI,SAAA,SACA,KAAA,MACA,IAAA,KACA,OAAA,KACA,MAAA,KACA,WAAA,OACA,QAAA,IAAA,EACA,QAAA,MARJ,uCAUQ,SAAA,SACA,MAAA,KACA,IAAA,KACA,MAAA,KACA,OAAA,KACA,cAAA,IACA,WAAA,QACA,OAAA,IAAA,MAAA,KACA,8CACI,WAAA,QAEJ,+CACI,WAAA,QAEJ,+CACI,WAAA,QAzBZ,6CA6BQ,WAAA,IA7BR,2CAgCQ,UAAA,KACA,WAAA,IACA,MAAA,QAlCR,uCAqCQ,WAAA,IhB84JhB,qCgBn7JQ,kCAyCQ,WAAA,KAzCR,2CA4CQ,SAAA,SACA,KAAA,KACA,IAAA,KACA,QAAA,KAIZ,wBAEQ,OAAA,QAGR,YACI,WAAA,KAEJ,sBAEQ,WAAA,KACA,QAAA,IAHR,yBAKY,WAAA,KACA,WAAA,IAIZ,mBACI,WAAA,KACA,QAAA,IAFJ,uCAIQ,QAAA,EAAA,IAGR,oBAEQ,QAAA,EAFR,qCAIY,QAAA,IAAA,KACA,QAAA,MACA,MAAA,QAEJ,wChBs4JZ,6CgBp4JgB,WAAA,iBAEJ,iCACI,QAAA,KAAA,KAAA,KAGR,kCAEQ,YAAA,EAFR,yDAIY,SAAA,SACA,IAAA,KACA,KAAA,KACA,MAAA,KAPZ,mDAUY,aAAA,EAxOpB,2BAiPQ,aAAA,EAjPR,6CAmPY,cAAA,EAnPZ,6CAuPQ,WAAA,EAGA,gCAEQ,YAAA,EACA,aAAA,KAHR,uDAKY,KAAA,KACA,MAAA,MAKhB,uBAEQ,cAAA,KAKZ,qDAGY,QAAA,gBAHZ,2ChB03JA,uDgBj3JY,QAAA,gBATZ,mCAaQ,QAAA,gBCzRR,eAEI,SAAA,SACA,SAAA,OACA,WAAA,KlBiEA,eCglKJ,iBAEA,sBADA,uBAFA,qBADA,sBDxkKQ,WAAA,WkB3ER,wBAMQ,OAAA,KANR,0CAQY,OAAA,KARZ,oCAYQ,OAAA,KAAA,KAAA,KACA,QAAA,KACA,2DACI,WAAA,KAfZ,sCAmBQ,WAAA,KACA,QAAA,KAAA,KAAA,KACA,MAAA,QACA,UAAA,KACA,WAAA,KAvBR,mEAyBY,SAAA,SACA,QAAA,GAEJ,6CACI,MAAA,QACA,QAAA,GACA,SAAA,SACA,WAAA,KACA,QAAA,MACA,MAAA,EACA,IAAA,EACA,OAAA,EnBdR,WAAA,KAAA,IAAA,IAAA,gBmBgBQ,QAAA,EAtCZ,oEAyCY,cAAA,KAzCZ,gGA2CgB,MAAA,MC3ChB,iCAEQ,YAAA,KAFR,8BAKQ,WAAA,IlBusKR,iCkB5sKA,8BASQ,QAAA,aATR,0BAYQ,WAAA,IAZR,qCAeQ,MAAA,KACA,aAAA,KAhBR,mDAkBY,YAAA,IAlBZ,sCAsBQ,MAAA,MACA,cAAA,KAvBR,oDAyBY,aAAA,IAzBZ,0BA6BQ,QAAA,IAAA,KL3BR,eACI,MAAA,KACA,cAAA,IACA,qBACI,MAAA,KACA,cAAA,IAIJ,qBACI,iBAAA,iBACA,MAAA,KACA,OAAA,KACA,cAAA,IAEJ,iBACI,QAAA,aACA,YAAA,KACA,MAAA,KACA,OAAA,KACA,cAAA,IACA,WAAA,OACA,eAAA,UACA,YAAA,IACA,iBAAA,iBAKR,SACI,UAAA,KACA,YAAA,eACA,OAAA,eACA,MAAA,QACA,cAAA,IACA,OAAA,QACA,WAAA,WAAA,MAAA,QAAA,CAAA,MAAA,MAAA,SACA,MAAA,eACA,WAAA,OACA,4BAAA,YbquKJ,gBADA,gBADA,ealuKI,eAII,MAAA,QACA,WAAA,gBAEJ,eACI,MAAA,KbquKR,sBADA,qBanuKQ,qBAGI,MAAA,KACA,WAAA,eAGR,cACI,MAAA,QbquKR,qBADA,oBanuKQ,oBAGI,MAAA,QACA,WAAA,qBAGR,kBACI,YAAA,IAEJ,aACI,QAAA,aACA,6BAEQ,MAAA,QACA,WAAA,gBAIZ,eACI,WAAA,IACA,OAAA,KACA,QAAA,EAIR,kBAEQ,MAAA,QACA,WAAA,gBACA,wBACI,MAAA,KACA,WAAA,eAEJ,uBACI,MAAA,QACA,WAAA,qBAOZ,gBdPI,OAAA,EACA,QAAA,EACA,WAAA,KcKJ,mBdHQ,QAAA,EACA,OAAA,EACA,WAAA,KcCR,sBAIY,WAAA,IAJZ,iCAOY,MAAA,KAPZ,yBAUY,SAAA,OACA,aAAA,IACA,QAAA,MACA,OAAA,QAMZ,OACI,OAAA,KAAA,EACA,OAAA,EACA,WAAA,IAAA,MAAA,gBAIJ,qCACI,GACI,QAAA,EACA,UAAA,iBAEJ,IACI,QAAA,EAEJ,KACI,UAAA,gBATR,6BACI,GACI,QAAA,EACA,UAAA,iBAEJ,IACI,QAAA,EAEJ,KACI,UAAA,gBAIR,mBACI,YAAA,SAAA,CAAA,QADJ,qBAGQ,WAAA,OAEJ,4BAEQ,4BAAA,KAAA,oBAAA,KACA,kCAAA,wBAAA,0BAAA,wBACA,2BAAA,IAAA,mBAAA,IACA,uBAAA,kBAAA,eAAA,kBACA,WAAA,QAKZ,sCACI,GACI,QAAA,EACA,UAAA,sBAEJ,IACI,QAAA,EAEJ,KACI,UAAA,oBATR,8BACI,GACI,QAAA,EACA,UAAA,sBAEJ,IACI,QAAA,EAEJ,KACI,UAAA,oBAIR,oBACI,YAAA,SAAA,CAAA,QADJ,sBAGQ,WAAA,OAEJ,6BAEQ,4BAAA,KAAA,oBAAA,KACA,kCAAA,wBAAA,0BAAA,wBACA,2BAAA,IAAA,mBAAA,IACA,uBAAA,mBAAA,eAAA,mBACA,WAAA,QAKZ,gBACI,2BAAA,MAAA,mBAAA,MM7LJ,KACI,WAAA,KAEJ,KpBsHI,KAAA,IAAA,IAAA,CAAA,WAAA,MAAA,CAAA,WoBpHA,WAAA,WACA,WAAA,OAOJ,EnBq7KA,OmBp7KI,QAAA,YAGJ,EACI,MAAA,QACA,4BAAA,YnBu7KJ,SmBt7KI,QAEI,MAAA,QACA,gBAAA,KAIR,eACI,eAAA,UAGJ,WACI,WAAA,OAGJ,UACI,WAAA,QAGJ,uBACI,kCAAA,wBAAA,0BAAA,wBACA,2BAAA,MAAA,mBAAA,MAIA,WACI,OAAA,EpB2EJ,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WoB5EA,wBAIQ,YAAA,IACA,UAAA,KACA,YAAA,KACA,QAAA,MACA,YAAA,KAEJ,yCAAA,WpBkEJ,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WoBlEI,wBAGQ,UAAA,KACA,YAAA,MAIZ,WACI,OAAA,EpByDJ,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WoB1DA,wBAIQ,YAAA,IACA,UAAA,KACA,YAAA,KACA,QAAA,MACA,YAAA,KAEJ,yCAAA,WpBgDJ,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WoBhDI,wBAGQ,UAAA,KACA,YAAA,MAIZ,WACI,OAAA,EpBuCJ,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WoBxCA,wBAIQ,YAAA,IACA,UAAA,KACA,YAAA,KACA,QAAA,MACA,YAAA,KAEJ,yCAAA,WpB8BJ,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WoB9BI,wBAGQ,UAAA,KACA,YAAA,MAIZ,oBnBu7KJ,oBACA,oBmBp7KY,WAAA,KAJR,2BnB47KJ,2BACA,2BmBt7KY,eAAA,OAIJ,enBs7KR,4BmBp7KY,MAAA,KAQR,YACI,UAAA,KACA,yCAAA,YACI,UAAA,MAGR,WACI,MAAA,QAKR,aACI,WAAA,IAAA,MAAA,wBACA,SAAA,SACA,QAAA,GAHJ,wBAKQ,WAAA,KACA,iCAGY,MAAA,QACA,eAAA,UACA,UAAA,KpBfhB,YAAA,MAAA,CAAA,WoBiBgB,YAAA,IACA,WAAA,MAAA,EAAA,KAAA,EAAA,oBACA,WAAA,cACA,WAAA,IAAA,MAAA,wBnBi7KpB,wCmBh7KoB,uCAEI,MAAA,QAGR,gDAEQ,WAAA,MAAA,EAAA,KAAA,EAAA,QAMpB,0BACI,WAAA,KA/BR,yBAkCQ,WAAA,KACA,yCAAA,yBACI,WAAA,KAIZ,0BACI,QAAA,KAEJ,qCAEQ,WAAA,KrBvJJ,WAAA,IAAA,IAAA,IAAA,gBqByJI,WAAA,UAAA,MAAA,wBACA,2CACI,QAAA,KANZ,wCpB9EI,OAAA,KAAA,EAAA,EAAA,EACA,QAAA,EACA,WAAA,KoB4EJ,2CpB1EQ,QAAA,EACA,OAAA,EACA,WAAA,KoBwER,6CAaoB,QAAA,MACA,UAAA,KACA,YAAA,IACA,YAAA,KACA,QAAA,IAAA,KACA,MAAA,QAlBpB,mDAoBwB,UAAA,KACA,MAAA,QACA,QAAA,MACA,WAAA,KAvBxB,wDA0BwB,MAAA,KACA,WAAA,KACA,QAAA,aACA,MAAA,QACA,MAAA,KA9BxB,wEAgC4B,UAAA,KACA,eAAA,IAjC5B,yDAqCwB,QAAA,MACA,SAAA,OAOxB,mBACI,WAAA,OAAA,MAAA,wBAGJ,eACI,YAAA,KACA,yCAAA,eACI,YAAA,MAHR,4BAMQ,SAAA,MACA,IAAA,EACA,KAAA,EACA,MAAA,EACA,QAAA,KAGR,4BAEQ,WAAA,EAAA,IAAA,IAAA,gBAKR,QACI,MAAA,KACA,SAAA,SAEI,sBnB06KR,yBmBx6KY,OAAA,MANZ,yBASY,gBAAA,KAAA,KACA,oBAAA,OAAA,OACA,kBAAA,UAEI,0CACI,OAAA,MAAA,EAAA,EAAA,MAEJ,0CACI,OAAA,MAAA,EAAA,EAAA,EACA,WAAA,eACA,QAAA,KAEJ,0CACI,OAAA,MAAA,MAAA,EAAA,EADJ,wDnB66KhB,4CmBz6KwB,MAAA,QAGR,uCACI,MAAA,KpBxJhB,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WoB0JgB,OAAA,EAAA,EAAA,KA/BpB,2BAmCgB,OAAA,EACA,UAAA,KACA,YAAA,IArChB,6BAuCmB,WAAA,KAvCnB,0BA6CQ,QAAA,KAEJ,gCAEQ,QAAA,MAIZ,4BAEQ,QAAA,gBAGR,aACI,SAAA,SACA,IAAA,IACA,WAAA,MACA,MAAA,eACA,WAAA,eACA,cAAA,KACA,UAAA,KACA,WAAA,IAAA,MAAA,wBACA,sBACI,KAAA,KACA,6BACI,SAAA,SACA,KAAA,KACA,IAAA,KAGR,kBACI,MAAA,KACA,yBACI,SAAA,SACA,MAAA,KACA,IAAA,KAGR,oBnBm6KJ,mBmBj6KQ,WAAA,eACA,cAAA,IAGR,cAEQ,OAAA,IAAA,MAAA,qBACA,QAAA,IACA,aAAA,IACA,cAAA,IACA,wBACI,aAAA,KADJ,0BAGQ,WAAA,QAThB,gBAaY,OAAA,EACA,MAAA,KACA,OAAA,KAMZ,SACI,QAAA,KAAA,EACA,SAAA,SACA,eACI,QAAA,KAAA,EAEJ,cACI,MAAA,KAEJ,iBACI,SAAA,SADJ,mCAGQ,QAAA,KAEJ,yCAEQ,QAAA,MAOhB,sCACI,MAAA,KAIJ,0CAGY,sBnBs5KV,yBmBp5Kc,OAAA,KACA,WAAA,MAII,0CnBo5KlB,0CACA,0CmBl5KsB,OAAA,EACA,SAAA,SACA,KAAA,EACA,MAAA,EACA,IAAA,EACA,OAAA,EACA,WAAA,eACA,QAAA,KAAA,KAAA,EACA,WAAA,OAEJ,uCACI,cAAA,KACA,MAAA,eAxBpB,2BA4BgB,UAAA,KACA,MAAA,eA7BhB,6BA+BoB,WAAA,MAOxB,yCACI,aACI,OAAA,KADJ,8BAGQ,YAAA,KACA,QAAA,EAGR,iBACI,QAAA,KAOJ,0BACI,QAAA,KAAA,IAAA,KACA,QAAA,aAFJ,4BAIQ,UAAA,MAIZ,yCACI,yBAGY,gBAAA,KAAA,KAEI,0CnBy4KlB,0CACA,0CmBv4KsB,OAAA,EACA,SAAA,SACA,KAAA,EACA,MAAA,EACA,IAAA,EACA,OAAA,EACA,WAAA,eACA,QAAA,KAAA,KACA,WAAA,OAEJ,uCpBvVhB,KAAA,IAAA,IAAA,CAAA,KAAA,MAAA,CAAA,WoByVoB,cAAA,IACA,MAAA,eArBpB,2BAyBgB,UAAA,KACA,MAAA,eA1BhB,6BA4BoB,WAAA,KAMpB,cACI,aAAA,KACA,cAAA","file":"main.min.css","sourcesContent":[null,null,null,"/*\n* Altair Admin Landing Page\n* author: tzd\n*\n* Content:\n* 1. variables/mixins\n* 2. UIkit custom styles\n* 3. custom components\n* 4. material design styles\n* 5. partials (header,sidebars,top bar)\n* 6. altair landing page styles\n*\n*/\n/* 1. altair variables/mixins ======================== */\n/* 2. UIkit custom styles ============================ */\n/* animations */\n[class*=\"uk-animation-\"] {\n -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n -webkit-animation-duration: 560ms;\n animation-duration: 560ms;\n}\n/* alerts */\n.uk-alert {\n border: none;\n background: #1976d2;\n color: #fff;\n text-shadow: none;\n padding-right: 32px;\n position: relative;\n display: block;\n}\n.uk-alert-success {\n background: #8bc34a !important;\n}\n.uk-alert-danger {\n background: #e53935 !important;\n}\n.uk-alert-warning {\n background: #ffa000 !important;\n}\n.uk-alert-info {\n background: #0097a7 !important;\n}\n.uk-alert-large {\n padding: 24px 32px 24px 24px;\n}\n.uk-alert-close {\n position: absolute;\n top: 10px;\n right: 8px;\n float: none !important;\n margin: 0 !important;\n}\n.uk-alert-close:after {\n color: #fff !important;\n}\n/* badges */\n.uk-badge {\n background: #0097a7;\n padding: 2px 6px;\n border: none;\n border-radius: 2px;\n text-shadow: none;\n font-size: 11px;\n line-height: 15px;\n font-weight: 400;\n}\n.uk-badge-primary {\n background: #2196f3;\n}\n.uk-badge-danger {\n background: #e53935;\n}\n.uk-badge-warning {\n background: #ffa000;\n}\n.uk-badge-success {\n background: #7cb342;\n}\n.uk-badge-muted {\n background: #bdbdbd;\n}\n.uk-badge-notification {\n border-radius: 20px;\n}\n.uk-badge.inline-label {\n vertical-align: 1px;\n margin-left: 4px;\n}\n.uk-badge-outline {\n border: 1px solid rgba(0, 0, 0, 0.12);\n background: #fff;\n color: #212121;\n padding-bottom: 0;\n line-height: 16px;\n}\n/* buttons */\n.uk-button {\n font-weight: 400;\n border-radius: 2px;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/* comments */\n.uk-comment-list > li + li {\n border-top: 1px dashed rgba(0, 0, 0, 0.12);\n margin-top: 16px !important;\n}\n.uk-comment-list .uk-comment + ul {\n margin: 8px 0 0 0;\n}\n@media only screen and (min-width: 768px) {\n .uk-comment-list .uk-comment + ul {\n padding-left: 48px;\n }\n}\n.uk-comment-header {\n padding: 16px 8px 8px;\n border: none;\n background: none;\n margin-bottom: 0;\n}\n.uk-comment-title {\n margin: 0;\n font-size: 14px;\n line-height: 20px;\n}\n/* dialog modals */\n.uk-modal {\n z-index: 1304;\n background: rgba(0, 0, 0, 0.5);\n transition: opacity 250ms ease-out;\n overflow: auto !important;\n}\n.uk-modal.uk-modal-no-backdrop {\n background: transparent;\n}\n.uk-modal-dialog {\n border-radius: 2px;\n box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);\n padding: 24px;\n display: block !important;\n -webkit-animation: none !important;\n animation: none !important;\n transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 280ms ease-in;\n transform: scale(0);\n}\n.uk-open .uk-modal-dialog {\n transform: scale(1);\n}\n.uk-modal-dialog .uk-modal-header {\n background: none;\n border-bottom: none;\n margin: 0 -24px 24px;\n padding: 0 32px 0 24px;\n overflow: hidden;\n}\n.uk-modal-dialog .uk-modal-header .uk-modal-title {\n margin: 0;\n font: 500 18px / 28px \"Roboto\", sans-serif;\n}\n.uk-modal-dialog .uk-modal-header .uk-modal-title span {\n font-size: 16px;\n display: block;\n color: #727272;\n}\n.uk-modal-dialog .uk-modal-header .material-icons {\n font-size: 24px;\n vertical-align: -4px;\n cursor: default;\n}\n.uk-modal-dialog .uk-modal-footer {\n margin: 16px -16px -16px;\n padding: 16px;\n background: #fff;\n border-top: none;\n}\n.uk-modal-dialog .uk-modal-footer:before,\n.uk-modal-dialog .uk-modal-footer:after {\n content: \" \";\n display: table;\n}\n.uk-modal-dialog .uk-modal-footer:after {\n clear: both;\n}\n.uk-modal-dialog .uk-modal-footer .md-icon-btn {\n margin-top: 2px;\n}\n.uk-modal-dialog .uk-modal-caption {\n bottom: 16px;\n margin: 0 32px;\n}\n.uk-modal-dialog > .uk-close:first-child {\n top: 8px;\n right: 8px;\n position: absolute;\n float: none;\n margin: 0;\n}\n.uk-modal-dialog-lightbox {\n padding: 0;\n}\n.uk-modal-dialog-lightbox > .uk-close:first-child {\n top: -11px;\n right: -11px;\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n border: none;\n}\n.uk-modal-dialog .uk-overflow-container {\n margin: 16px 0;\n}\n.uk-modal .uk-margin.uk-modal-content {\n margin-bottom: 0;\n}\n.uk-modal.uk-modal-dialog-replace .uk-modal-content {\n font-size: 18px;\n}\n.uk-modal-spinner {\n -webkit-animation: uk-rotate 2s infinite linear;\n animation: uk-rotate 2s infinite linear;\n margin-left: -12px;\n margin-top: -17px;\n left: 50%;\n right: auto;\n}\n/* dropdowns */\n.uk-dropdown {\n transform: scale(0.25, 0);\n opacity: 0;\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n -webkit-animation: none !important;\n animation: none !important;\n transform-origin: 50% 0 !important;\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n border: none;\n border-radius: 2px;\n}\n.uk-dropdown.uk-dropdown-xlarge {\n width: 360px;\n}\n@media only screen and (max-width: 479px) {\n .uk-dropdown.uk-dropdown-xlarge {\n width: 260px;\n }\n}\n.uk-dropdown.uk-dropdown-large {\n width: 260px;\n}\n.uk-dropdown.uk-dropdown-small {\n width: 160px;\n}\n.uk-dropdown > ul > li > a {\n font-size: 14px;\n color: #212121;\n}\n.uk-dropdown > ul > li > a:hover {\n background: rgba(0, 0, 0, 0.085);\n}\n.uk-dropdown > ul > li.uk-active > a {\n background: rgba(0, 0, 0, 0.085);\n}\n.uk-dropdown > ul > li.padding_sm {\n padding: 2px 4px;\n}\n.uk-dropdown > ul > li.padding_md {\n padding: 4px 8px;\n}\n.uk-dropdown.dropdown-modal {\n z-index: 1310;\n}\n.uk-dropdown.dropdown-fs {\n z-index: 9999;\n}\n.uk-dropdown.uk-dropdown-scrollable {\n -webkit-overflow-scrolling: touch;\n}\n[data-uk-dropdown*=\"top-\"] .uk-dropdown {\n transform-origin: 50% 100% !important;\n}\n[data-uk-dropdown*=\"left-\"] .uk-dropdown {\n transform-origin: 100% 50% !important;\n}\n[data-uk-dropdown*=\"right-\"] .uk-dropdown {\n transform-origin: 0 50% !important;\n}\n[data-uk-dropdown*='justify'] {\n position: static !important;\n}\n[data-uk-dropdown*='justify'] [class*=\"uk-dropdown-width\"] {\n left: 0 !important;\n width: 100% !important;\n min-width: inherit !important;\n margin-left: 0 !important;\n}\n.uk-dropdown-active {\n display: block !important;\n}\n.uk-dropdown-shown {\n transform: scale(1, 1);\n opacity: 1;\n}\n.uk-nav-dropdown > li > a:focus,\n.uk-nav-dropdown > li > a:hover {\n text-shadow: none;\n box-shadow: none;\n color: #212121;\n background: rgba(153, 153, 153, 0.2);\n}\n/* forms */\n.uk-form input:not([type]),\n.uk-form input[type=color],\n.uk-form input[type=date],\n.uk-form input[type=datetime-local],\n.uk-form input[type=email],\n.uk-form input[type=month],\n.uk-form input[type=number],\n.uk-form input[type=password],\n.uk-form input[type=search],\n.uk-form input[type=tel],\n.uk-form input[type=text],\n.uk-form input[type=time],\n.uk-form input[type=url],\n.uk-form input[type=week],\n.uk-form select,\n.uk-form textarea {\n box-sizing: border-box;\n padding: 8px;\n border: 1px solid rgba(0, 0, 0, 0.12);\n transition: border 200ms ease-in;\n resize: none;\n}\n.uk-form input:not([type]):focus,\n.uk-form input[type=color]:focus,\n.uk-form input[type=date]:focus,\n.uk-form input[type=datetime-local]:focus,\n.uk-form input[type=email]:focus,\n.uk-form input[type=month]:focus,\n.uk-form input[type=number]:focus,\n.uk-form input[type=password]:focus,\n.uk-form input[type=search]:focus,\n.uk-form input[type=tel]:focus,\n.uk-form input[type=text]:focus,\n.uk-form input[type=time]:focus,\n.uk-form input[type=url]:focus,\n.uk-form input[type=week]:focus,\n.uk-form select:focus,\n.uk-form textarea:focus {\n background: none;\n border-color: #2196f3;\n}\n.uk-form textarea {\n transition: border-color 200ms ease-in, height 280ms ease-in;\n}\n.uk-form-row {\n transition: all 200ms ease-out;\n}\n.uk-form-row + .uk-form-row {\n margin-top: 24px;\n}\n.uk-form-stacked .uk-form-label {\n font-weight: 500;\n font-size: 13px;\n display: block;\n padding-bottom: 8px;\n}\n.uk-form-stacked .uk-form-label + p {\n margin-top: 0;\n}\n.uk-form-help-block {\n display: block;\n font-size: 12px;\n color: #727272;\n padding: 4px 0 0 0;\n font-style: italic;\n}\n.uk-form-width-large,\n.uk-form-width-medium,\n.uk-form-width-small,\n.uk-form-width-mini {\n max-width: 100%;\n}\n/* grid */\n.uk-grid + .uk-grid,\n.uk-grid-margin,\n.uk-grid > * > .uk-panel + .uk-panel {\n margin-top: 48px;\n}\n.uk-grid.uk-grid-small + .uk-grid-small,\n.uk-grid.uk-grid-small > * > .uk-panel + .uk-panel,\n.uk-grid.uk-grid-small > .uk-grid-margin {\n margin-top: 10px;\n}\n/* icons */\n[class*=\"uk-icon-\"] {\n color: #727272;\n}\n/* navbar */\n.uk-navbar {\n border-radius: 0;\n border: none;\n box-sizing: border-box;\n}\n.uk-navbar-brand {\n line-height: 64px;\n display: inline-block;\n margin: 0;\n text-shadow: none;\n color: #fff;\n}\n.uk-navbar-nav > li > a {\n height: 64px;\n text-shadow: none;\n font-size: 16px;\n border-radius: 0 !important;\n line-height: 68px;\n border: none !important;\n margin: 0;\n}\n.uk-navbar-nav > li > a:hover,\n.uk-navbar-nav > li > a:active {\n background: none;\n}\n.uk-navbar-nav > li > a.uk-navbar-nav-subtitle {\n line-height: 50px;\n margin: 0;\n}\n.uk-navbar-nav > li > a.uk-navbar-nav-subtitle > div {\n margin-top: -12px;\n font-size: 11px;\n}\n/* panels */\n.uk-panel-box {\n border-radius: 2px;\n background: #fff;\n border-color: rgba(0, 0, 0, 0.12);\n}\n.uk-panel-box .uk-panel-teaser {\n border-radius: 2px 2px 0 0;\n}\n/* tables */\n.uk-table td {\n border-bottom-color: rgba(0, 0, 0, 0.12);\n}\n.uk-table th {\n border-bottom: 1px #444;\n}\n.uk-table-nowrap td,\n.uk-table-nowrap th {\n white-space: nowrap;\n}\n.uk-table-align-vertical td,\n.uk-table-align-vertical th {\n vertical-align: middle;\n}\n.uk-table-no-border td {\n border-bottom-color: transparent;\n}\n/* sticky */\n.uk-sticky-placeholder .uk-active {\n z-index: 1094;\n}\n/* subnav */\n.uk-subnav-pill > * > * {\n color: #212121;\n}\n.uk-subnav-pill > .uk-active > * {\n background: #7cb342;\n}\n/* tables */\n.uk-table thead th {\n border-bottom: 2px solid rgba(0, 0, 0, 0.12);\n}\n.uk-table thead th,\n.uk-table tfoot td,\n.uk-table tfoot th {\n font-style: normal;\n font-weight: 400;\n color: #727272;\n font-size: 14px;\n}\n.uk-table td {\n border-bottom-color: #e0e0e0;\n}\n.uk-table tfoot td,\n.uk-table tfoot th {\n border-top: 2px solid rgba(0, 0, 0, 0.12);\n border-bottom: none;\n}\n.uk-table-striped tbody tr:nth-of-type(odd) {\n background: rgba(0, 0, 0, 0.085);\n}\n.uk-table-hover tbody tr:hover {\n background: rgba(0, 0, 0, 0.085);\n}\n/* thumbnails */\n.uk-thumbnail {\n border-radius: 0;\n border-color: rgba(0, 0, 0, 0.12);\n}\n.uk-thumbnail-caption {\n padding: 4px 4px 0;\n line-height: 20px;\n color: #727272;\n font-size: 12px;\n}\n/* utilities */\n.uk-text-small {\n font-size: 12px;\n}\n.uk-text-muted {\n color: #757575 !important;\n}\n.uk-text-primary {\n color: #2196f3 !important;\n}\n.uk-text-danger {\n color: #e53935 !important;\n}\n.uk-text-success {\n color: #7cb342 !important;\n}\n.uk-text-warning {\n color: #ffa000 !important;\n}\n.uk-margin-bottom {\n margin-bottom: 16px !important;\n}\n.uk-margin-small-bottom {\n margin-bottom: 8px !important;\n}\n.uk-margin-medium-bottom {\n margin-bottom: 32px !important;\n}\n.uk-margin-large-bottom {\n margin-bottom: 48px !important;\n}\n.uk-margin-medium-top {\n margin-top: 32px !important;\n}\n.uk-margin-large-top {\n margin-top: 48px !important;\n}\n.uk-margin-right {\n margin-right: 16px !important;\n}\n.uk-margin-medium-right {\n margin-right: 32px !important;\n}\n.uk-close {\n font-size: 18px;\n opacity: 1;\n}\n.uk-close:hover,\n.uk-close:focus {\n opacity: 1;\n}\n.uk-close:after {\n opacity: 1 !important;\n color: #727272;\n content: '\\e5cd';\n font-family: \"Material Icons\";\n}\n/* ------------ Components ------------ */\n/* accordion */\n/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Accordion\n ========================================================================== */\n/* Sub-object: `uk-accordion-title`\n ========================================================================== */\n.uk-accordion-title {\n margin-top: 0;\n margin-bottom: 15px;\n padding: 5px 15px;\n background: #f5f5f5;\n font-size: 18px;\n line-height: 24px;\n cursor: pointer;\n border: 1px solid #ddd;\n border-radius: 4px;\n}\n/* Sub-object: `uk-accordion-content`\n ========================================================================== */\n.uk-accordion-content {\n padding: 0 15px 15px 15px;\n}\n/*\n * Micro clearfix to make panels more robust\n */\n.uk-accordion-content:before,\n.uk-accordion-content:after {\n content: \"\";\n display: table;\n}\n.uk-accordion-content:after {\n clear: both;\n}\n/*\n * Remove margin from the last-child\n */\n.uk-accordion-content > :last-child {\n margin-bottom: 0;\n}\n.uk-accordion-title {\n background: rgba(153, 153, 153, 0.2);\n border-radius: 0;\n border: none;\n margin: 0 0 4px;\n font-size: 15px;\n font-weight: 400;\n padding: 8px 24px 8px 16px;\n position: relative;\n}\n.uk-accordion-title:after {\n content: '\\e313';\n font-family: \"Material Icons\";\n font-size: 18px;\n position: absolute;\n top: 8px;\n right: 8px;\n display: block;\n color: #727272;\n transition: transform 280ms;\n}\n.uk-accordion-title.uk-active:after {\n transform: rotate(-180deg);\n}\n.uk-accordion-title-primary {\n background: #2196f3;\n color: #fff;\n}\n.uk-accordion-title-primary:after {\n color: #fff;\n}\n.uk-accordion-title-danger {\n background: #e53935;\n color: #fff;\n}\n.uk-accordion-title-danger:after {\n color: #fff;\n}\n.uk-accordion-title-success {\n background: #7cb342;\n color: #fff;\n}\n.uk-accordion-title-success:after {\n color: #fff;\n}\n.uk-accordion-title-warning {\n background: #ffa000;\n color: #fff;\n}\n.uk-accordion-title-warning:after {\n color: #fff;\n}\n.uk-accordion-content {\n padding: 16px;\n}\n.uk-accordion-alt .uk-accordion-title {\n background: #fff;\n margin: 0;\n padding: 16px 24px 16px 48px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n}\n.uk-accordion-alt .uk-accordion-title:first-child {\n border-top: none;\n}\n.uk-accordion-alt .uk-accordion-title:after {\n color: #2196f3;\n content: '\\e145';\n right: auto;\n left: 16px;\n top: 16px;\n}\n.uk-accordion-alt .uk-accordion-title.uk-active:after {\n transform: rotate(-180deg);\n content: '\\e15b';\n}\n.uk-accordion-alt .uk-accordion-content {\n padding: 24px;\n}\n/* dotnav */\n/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Dotnav\n ========================================================================== */\n/*\n * 1. Gutter\n * 2. Remove default list style\n */\n.uk-dotnav {\n display: flex;\n flex-wrap: wrap;\n /* 1 */\n margin-left: -15px;\n margin-top: -15px;\n /* 2 */\n padding: 0;\n list-style: none;\n}\n/*\n * 1. Space is allocated solely based on content dimensions\n * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied\n */\n.uk-dotnav > * {\n /* 1 */\n flex: none;\n /* 2 */\n padding-left: 15px;\n margin-top: 15px;\n}\n/*\n * DEPRECATED IE9 Support\n */\n.uk-dotnav:before,\n.uk-dotnav:after {\n content: \"\";\n display: block;\n overflow: hidden;\n}\n.uk-dotnav:after {\n clear: both;\n}\n.uk-dotnav > * {\n float: left;\n}\n/* Items\n ========================================================================== */\n/*\n * Items\n * 1. Hide text if present\n */\n.uk-dotnav > * > * {\n display: block;\n box-sizing: content-box;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: rgba(50, 50, 50, 0.1);\n /* 1 */\n text-indent: 100%;\n overflow: hidden;\n white-space: nowrap;\n}\n/*\n * Hover\n * 1. Apply hover style also to focus state\n * 2. Remove default focus style\n */\n.uk-dotnav > * > :hover,\n.uk-dotnav > * > :focus {\n background: rgba(50, 50, 50, 0.4);\n /* 2 */\n outline: none;\n}\n/* OnClick */\n.uk-dotnav > * > :active {\n background: rgba(50, 50, 50, 0.6);\n}\n/* Active */\n.uk-dotnav > .uk-active > * {\n background: rgba(50, 50, 50, 0.4);\n}\n/* Modifier: `uk-dotnav-contrast`\n ========================================================================== */\n.uk-dotnav-contrast > * > * {\n background: rgba(255, 255, 255, 0.4);\n}\n/*\n * Hover\n * 1. Apply hover style also to focus state\n */\n.uk-dotnav-contrast > * > :hover,\n.uk-dotnav-contrast > * > :focus {\n background: rgba(255, 255, 255, 0.7);\n}\n/* OnClick */\n.uk-dotnav-contrast > * > :active {\n background: rgba(255, 255, 255, 0.9);\n}\n/* Active */\n.uk-dotnav-contrast > .uk-active > * {\n background: rgba(255, 255, 255, 0.9);\n}\n/* Modifier: 'uk-dotnav-vertical'\n ========================================================================== */\n/*\n * DEPRECATED\n */\n.uk-dotnav-vertical {\n flex-direction: column;\n}\n/*\n * DEPRECATED IE9 Support\n */\n.uk-dotnav-vertical > * {\n float: none;\n}\n/* autocomplete, timepicker */\n.uk-autocomplete .uk-dropdown {\n display: block;\n max-height: 0;\n padding: 0;\n overflow-x: hidden;\n overflow-y: auto;\n border-radius: 0;\n border: none;\n transform: scale(0.25, 0);\n opacity: 0;\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n -webkit-animation: none !important;\n animation: none !important;\n transform-origin: 0 0;\n}\n.uk-autocomplete.uk-open .uk-dropdown {\n transform: scale(1);\n opacity: 1;\n max-height: 210px;\n}\n[data-uk-autocomplete] .uk-dropdown {\n width: 100%;\n box-sizing: border-box;\n}\n[data-uk-autocomplete] .uk-dropdown .uk-nav {\n margin: 0;\n}\n/* slideshow */\n/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Slideshow\n ========================================================================== */\n/*\n * 1. Create position context\n * 2. Create stacking context to prevent z-index issues with other components\n * 3. Set width because child elements are positioned absolute. Height is set via JS\n * 4. Reset list style\n * 5. Clip child elements\n * 6. Deactivate browser history navigation in IE11\n */\n.uk-slideshow {\n /* 1 */\n position: relative;\n /* 2 */\n z-index: 0;\n /* 3 */\n width: 100%;\n /* 4 */\n margin: 0;\n padding: 0;\n list-style: none;\n /* 5 */\n overflow: hidden;\n /* 6 */\n touch-action: pan-y;\n}\n/*\n * Sub-object item\n * 1. Position items above each other\n * 2. Expand to parent container width\n * 3. Hide by default\n */\n.uk-slideshow > li {\n /* 1 */\n position: absolute;\n top: 0;\n left: 0;\n /* 2 */\n width: 100%;\n /* 3 */\n opacity: 0;\n}\n/*\n * Active\n * 1. Stack at first\n * 2. Show slide\n */\n.uk-slideshow > .uk-active {\n /* 1 */\n z-index: 10;\n /* 2 */\n opacity: 1;\n}\n/*\n * Hide default images which is only relevant to keep existing proportions\n */\n.uk-slideshow > li > img {\n visibility: hidden;\n}\n/*\n * Pointer for controls\n */\n[data-uk-slideshow-slide] {\n cursor: pointer;\n}\n/* Modifier: `uk-slideshow-fullscreen`\n ========================================================================== */\n.uk-slideshow-fullscreen,\n.uk-slideshow-fullscreen > li {\n height: 100vh;\n}\n/* Animations\n ========================================================================== */\n/*\n * Fade\n */\n.uk-slideshow-fade-in {\n -webkit-animation: uk-fade 0.5s linear;\n animation: uk-fade 0.5s linear;\n}\n.uk-slideshow-fade-out {\n -webkit-animation: uk-fade 0.5s linear reverse;\n animation: uk-fade 0.5s linear reverse;\n}\n/*\n * Scroll\n */\n.uk-slideshow-scroll-forward-in {\n -webkit-animation: uk-slide-right 0.5s ease-in-out;\n animation: uk-slide-right 0.5s ease-in-out;\n}\n.uk-slideshow-scroll-forward-out {\n -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;\n animation: uk-slide-left 0.5s ease-in-out reverse;\n}\n.uk-slideshow-scroll-backward-in {\n -webkit-animation: uk-slide-left 0.5s ease-in-out;\n animation: uk-slide-left 0.5s ease-in-out;\n}\n.uk-slideshow-scroll-backward-out {\n -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;\n animation: uk-slide-right 0.5s ease-in-out reverse;\n}\n/*\n * Scale\n */\n.uk-slideshow-scale-out {\n -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse;\n animation: uk-fade-scale-15 0.5s ease-in-out reverse;\n}\n/*\n * Swipe\n */\n.uk-slideshow-swipe-forward-in {\n -webkit-animation: uk-slide-left-33 0.5s ease-in-out;\n animation: uk-slide-left-33 0.5s ease-in-out;\n}\n.uk-slideshow-swipe-forward-out {\n -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;\n animation: uk-slide-left 0.5s ease-in-out reverse;\n}\n.uk-slideshow-swipe-backward-in {\n -webkit-animation: uk-slide-right-33 0.5s ease-in-out;\n animation: uk-slide-right-33 0.5s ease-in-out;\n}\n.uk-slideshow-swipe-backward-out {\n -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;\n animation: uk-slide-right 0.5s ease-in-out reverse;\n}\n.uk-slideshow-swipe-forward-in:before,\n.uk-slideshow-swipe-backward-in:before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n background: rgba(0, 0, 0, 0.6);\n -webkit-animation: uk-fade 0.5s ease-in-out reverse;\n animation: uk-fade 0.5s ease-in-out reverse;\n}\n/* slider */\n/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Slider\n ========================================================================== */\n/*\n * RTL Compatibility\n */\n[data-uk-slider] {\n direction: ltr;\n}\nhtml[dir=\"rtl\"] .uk-slider > * {\n direction: rtl;\n}\n/*\n * 1. Create position context\n * 2. Create stacking context to prevent z-index issues with other components\n * 3. Deactivate browser history navigation in IE11\n */\n.uk-slider {\n /* 1 */\n position: relative;\n /* 2 */\n z-index: 0;\n /* 3 */\n touch-action: pan-y;\n}\n/*\n * 1. Reset list style without interfering with grid\n */\n.uk-slider:not(.uk-grid) {\n /* 1 */\n margin: 0;\n padding: 0;\n list-style: none;\n}\n/*\n * Sub-object item\n * 1. Position items above each other\n */\n.uk-slider > * {\n /* 1 */\n position: absolute;\n top: 0;\n left: 0;\n}\n/*\n * Clip child elements\n */\n.uk-slider-container {\n overflow: hidden;\n}\n/*\n * Dragged\n */\n.uk-slider:not(.uk-drag) {\n transition: transform 200ms linear;\n}\n/*\n * 1. Makes text unselectable\n */\n.uk-slider.uk-drag {\n cursor: col-resize;\n /* 1 */\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n/*\n * 1. Prevents images and links from being dragged (default browser behavior)\n * 2. Disables the default callout shown when you touch and hold a touch target\n * Currently only works in Webkit\n */\n.uk-slider a,\n.uk-slider img {\n /* 1 */\n -webkit-user-drag: none;\n user-drag: none;\n /* 2 */\n -webkit-touch-callout: none;\n}\n/*\n * 1. Prevents images and links from being dragged in Firefox\n */\n.uk-slider img {\n pointer-events: none;\n}\n/* Modifier: `uk-slider-fullscreen`\n ========================================================================== */\n.uk-slider-fullscreen,\n.uk-slider-fullscreen > li {\n height: 100vh;\n}\n.uk-slider-container {\n padding: 8px 0;\n}\n/* slidenav */\n/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Slidenav\n ========================================================================== */\n/*\n * 1. Required for `a` elements\n * 2. Dimension\n * 3. Style\n */\n.uk-slidenav {\n /* 1 */\n display: inline-block;\n /* 2 */\n box-sizing: border-box;\n width: 60px;\n height: 60px;\n /* 3 */\n line-height: 60px;\n color: rgba(50, 50, 50, 0.4);\n font-size: 60px;\n text-align: center;\n}\n/*\n * Hover\n * 1. Apply hover style also to focus state\n * 2. Remove default focus style\n * 3. Required for `a` elements\n * 4. Style\n */\n.uk-slidenav:hover,\n.uk-slidenav:focus {\n /* 2 */\n outline: none;\n /* 3 */\n text-decoration: none;\n /* 4 */\n color: rgba(50, 50, 50, 0.7);\n cursor: pointer;\n}\n/* Active */\n.uk-slidenav:active {\n color: rgba(50, 50, 50, 0.9);\n}\n/*\n * Icons\n */\n.uk-slidenav-previous:before {\n content: \"\\f104\";\n font-family: FontAwesome;\n}\n.uk-slidenav-next:before {\n content: \"\\f105\";\n font-family: FontAwesome;\n}\n/* Sub-object: `uk-slidenav-position`\n ========================================================================== */\n/*\n * Create position context\n */\n.uk-slidenav-position {\n position: relative;\n}\n/*\n * Center vertically\n */\n.uk-slidenav-position .uk-slidenav {\n display: none;\n position: absolute;\n top: 50%;\n z-index: 1;\n margin-top: -30px;\n}\n.uk-slidenav-position:hover .uk-slidenav {\n display: block;\n}\n.uk-slidenav-position .uk-slidenav-previous {\n left: 20px;\n}\n.uk-slidenav-position .uk-slidenav-next {\n right: 20px;\n}\n/* Modifier: `uk-slidenav-contrast`\n ========================================================================== */\n.uk-slidenav-contrast {\n color: rgba(255, 255, 255, 0.5);\n}\n/*\n * Hover\n * 1. Apply hover style also to focus state\n */\n.uk-slidenav-contrast:hover,\n.uk-slidenav-contrast:focus {\n color: rgba(255, 255, 255, 0.7);\n}\n/* Active */\n.uk-slidenav-contrast:active {\n color: rgba(255, 255, 255, 0.9);\n}\n/* tooltips */\n/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */\n/* ========================================================================\n Component: Tooltip\n ========================================================================== */\n/*\n * 1. Hide by default\n * 2. Set fixed position\n * 3. Set dimensions\n * 4. Set style\n */\n.uk-tooltip {\n /* 1 */\n display: none;\n /* 2 */\n position: absolute;\n z-index: 1030;\n /* 3 */\n box-sizing: border-box;\n max-width: 200px;\n padding: 5px 8px;\n /* 4 */\n background: #333;\n color: rgba(255, 255, 255, 0.7);\n font-size: 12px;\n line-height: 18px;\n border-radius: 3px;\n text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);\n}\n/* Triangle\n ========================================================================== */\n/*\n * 1. Dashed is less antialised than solid\n */\n.uk-tooltip:after {\n content: \"\";\n display: block;\n position: absolute;\n width: 0;\n height: 0;\n /* 1 */\n border: 5px dashed #333;\n}\n/* Direction modifiers\n ========================================================================== */\n/*\n * Top\n */\n.uk-tooltip-top:after,\n.uk-tooltip-top-left:after,\n.uk-tooltip-top-right:after {\n bottom: -5px;\n border-top-style: solid;\n border-bottom: none;\n border-left-color: transparent;\n border-right-color: transparent;\n border-top-color: #333;\n}\n/*\n * Bottom\n */\n.uk-tooltip-bottom:after,\n.uk-tooltip-bottom-left:after,\n.uk-tooltip-bottom-right:after {\n top: -5px;\n border-bottom-style: solid;\n border-top: none;\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: #333;\n}\n/*\n * Top/Bottom center\n */\n.uk-tooltip-top:after,\n.uk-tooltip-bottom:after {\n left: 50%;\n margin-left: -5px;\n}\n/*\n * Top/Bottom left\n */\n.uk-tooltip-top-left:after,\n.uk-tooltip-bottom-left:after {\n left: 10px;\n}\n/*\n * Top/Bottom right\n */\n.uk-tooltip-top-right:after,\n.uk-tooltip-bottom-right:after {\n right: 10px;\n}\n/*\n * Left\n */\n.uk-tooltip-left:after {\n right: -5px;\n top: 50%;\n margin-top: -5px;\n border-left-style: solid;\n border-right: none;\n border-top-color: transparent;\n border-bottom-color: transparent;\n border-left-color: #333;\n}\n/*\n * Right\n */\n.uk-tooltip-right:after {\n left: -5px;\n top: 50%;\n margin-top: -5px;\n border-right-style: solid;\n border-left: none;\n border-top-color: transparent;\n border-bottom-color: transparent;\n border-right-color: #333;\n}\n.uk-tooltip {\n background: #424242;\n color: #fff;\n font-size: 13px;\n padding: 3px 16px;\n line-height: 22px;\n text-shadow: none;\n min-width: 80px;\n text-align: center;\n z-index: 1304;\n opacity: 0;\n}\n.uk-tooltip .uk-tooltip-inner {\n text-overflow: ellipsis;\n display: inline-block;\n vertical-align: top;\n white-space: nowrap;\n overflow: hidden;\n width: 100%;\n}\n.uk-tooltip:after {\n display: none !important;\n}\n.uk-tooltip.long-text {\n text-align: left;\n}\n.uk-tooltip.long-text .uk-tooltip-inner {\n white-space: normal;\n overflow: visible;\n line-height: 18px;\n padding: 4px 0;\n}\n.uk-tooltip-small {\n transform: scale(0.85);\n}\n/* tabs */\n.uk-tab {\n border-bottom-color: rgba(0, 0, 0, 0.12);\n}\n.uk-sticky-placeholder .uk-tab {\n background: #fff;\n padding-top: 8px;\n}\n.uk-tab > li {\n margin-bottom: 0;\n margin-top: 0 ;\n z-index: 1;\n}\n.uk-tab > li > a {\n font-size: 13px;\n text-transform: uppercase;\n color: #212121;\n border: none;\n border-bottom: 2px solid transparent;\n border-radius: 0 !important;\n font-weight: 500;\n min-width: 100px;\n max-width: 100%;\n text-align: center;\n transition: all 220ms cubic-bezier(0.4, 0, 0.2, 1);\n padding: 8px !important;\n margin: 0 !important;\n box-sizing: border-box;\n position: relative;\n top: 1px;\n text-shadow: none;\n}\n.uk-tab > li > a:hover,\n.uk-tab > li > a:focus {\n background: none;\n color: #212121;\n border-bottom-color: #b2dbfb;\n}\n.uk-tab > li.uk-active > a {\n background: transparent !important;\n border-bottom-color: #2196f3;\n}\n.uk-tab > li.uk-disabled > a,\n.uk-tab > li.uk-disabled > a:hover,\n.uk-tab > li.uk-disabled > a:focus {\n color: #aaa;\n}\n.uk-tab-bottom li {\n margin-top: 0;\n}\n.uk-tab-bottom li > a {\n border-top: 2px solid transparent;\n border-bottom: none;\n top: auto;\n bottom: 1px;\n}\n.uk-tab-bottom li > a:hover,\n.uk-tab-bottom li > a:focus {\n border-top-color: #b2dbfb;\n}\n.uk-tab-bottom li.uk-active > a {\n border-top-color: #2196f3;\n}\n.uk-tab-left {\n border-bottom: none;\n}\n.uk-tab-left li > a {\n border-right: 2px solid transparent;\n border-bottom: none;\n text-align: right;\n top: auto;\n bottom: auto;\n}\n.uk-tab-left li > a:hover,\n.uk-tab-left li > a:focus {\n border-right-color: #b2dbfb;\n}\n.uk-tab-left li.uk-active > a {\n border-right-color: #2196f3;\n}\n.uk-tab-right {\n border-bottom: none;\n}\n.uk-tab-right li > a {\n border-left: 2px solid transparent;\n border-bottom: none;\n text-align: left;\n top: auto;\n bottom: auto;\n}\n.uk-tab-right li > a:hover,\n.uk-tab-right li > a:focus {\n border-left-color: #b2dbfb;\n}\n.uk-tab-right li.uk-active > a {\n border-left-color: #2196f3;\n}\n.uk-tab-responsive li a {\n border: none !important;\n}\n.uk-tab-responsive > a:before {\n content: '\\e5d2';\n font-family: \"Material Icons\";\n color: #727272;\n margin-right: 8px;\n vertical-align: -4px;\n font-size: 18px;\n}\n.uk-tab-icons > li > a {\n min-width: 64px;\n}\n.uk-tab-icons > li > a > .material-icons {\n font-size: 24px;\n}\n.uk-tab-double-header {\n margin: 10px 24px 0 !important;\n}\n.uk-tab-double-header > li > a {\n color: #fff;\n border-bottom: 4px solid transparent;\n}\n.uk-tab-double-header > li > a:hover,\n.uk-tab-double-header > li > a:focus {\n color: #fff;\n border-bottom-color: #39a1f4;\n}\n.uk-tab-double-header > li.uk-active > a {\n color: #fff;\n border-bottom-color: #7cb342;\n}\n.uk-tab-double-header > li.uk-tab-responsive > a {\n border-bottom: none;\n padding-bottom: 5px !important;\n}\n.uk-tab-double-header > li.uk-tab-responsive > a:before {\n color: #fff;\n}\n.uk-tab-large > li {\n margin-bottom: 0;\n margin-top: 0 ;\n z-index: 1;\n}\n.uk-tab-large > li > a {\n font-size: 16px;\n padding: 12px 24px !important;\n}\n/* text truncate */\n.uk-text-truncate {\n display: block;\n}\n.uk-switcher {\n overflow: hidden;\n}\n.uk-switcher > li {\n padding: 8px 4px;\n}\n/*\n* add extra Uikit grid sizes\n*\n* usage:\n* set custom breakpoint (1480px) and name (\"xlarge-x\")\n* @media (min-width: 1480px) {\n* .add-grid-sizes(xlarge-x);\n* }\n*/\n@media (min-width: 1480px) {\n /* Whole */\n .uk-width-xLarge-1-1,\n .uk-grid-width-xLarge-1-1 > * {\n width: 100%;\n }\n /* Halves */\n .uk-width-xLarge-1-2,\n .uk-width-xLarge-2-4,\n .uk-width-xLarge-3-6,\n .uk-width-xLarge-5-10,\n .uk-grid-width-xLarge-1-2 > *,\n .uk-grid-width-xLarge-2-4 > *,\n .uk-grid-width-xLarge-3-6 > *,\n .uk-grid-width-xLarge-5-10 > * {\n width: 50%;\n }\n /* Thirds */\n .uk-width-xLarge-1-3,\n .uk-width-xLarge-2-6,\n .uk-grid-width-xLarge-1-3 > *,\n .uk-grid-width-xLarge-2-6 > * {\n width: 33.333%;\n }\n .uk-width-xLarge-2-3,\n .uk-width-xLarge-4-6,\n .uk-grid-width-xLarge-2-3 > *,\n .uk-grid-width-xLarge-4-6 > * {\n width: 66.666%;\n }\n /* Quarters */\n .uk-width-xLarge-1-4,\n .uk-grid-width-xLarge-1-4 > * {\n width: 25%;\n }\n .uk-width-xLarge-3-4,\n .uk-grid-width-xLarge-3-4 > * {\n width: 75%;\n }\n /* Fifths */\n .uk-width-xLarge-1-5,\n .uk-width-xLarge-2-10,\n .uk-grid-width-xLarge-1-5 > *,\n .uk-grid-width-xLarge-2-10 > * {\n width: 20%;\n }\n .uk-width-xLarge-2-5,\n .uk-width-xLarge-4-10,\n .uk-grid-width-xLarge-2-5 > *,\n .uk-grid-width-xLarge-4-10 > * {\n width: 40%;\n }\n .uk-width-xLarge-3-5,\n .uk-width-xLarge-6-10,\n .uk-grid-width-xLarge-3-5 > *,\n .uk-grid-width-xLarge-6-10 > * {\n width: 60%;\n }\n .uk-width-xLarge-4-5,\n .uk-width-xLarge-8-10,\n .uk-grid-width-xLarge-4-5 > *,\n .uk-grid-width-xLarge-8-10 > * {\n width: 80%;\n }\n /* Sixths */\n .uk-width-xLarge-1-6,\n .uk-grid-width-xLarge-1-6 > * {\n width: 16.666%;\n }\n .uk-width-xLarge-5-6,\n .uk-grid-width-xLarge-5-6 > * {\n width: 83.333%;\n }\n /* Tenths */\n .uk-width-xLarge-1-10,\n .uk-grid-width-xLarge-1-10 > * {\n width: 10%;\n }\n .uk-width-xLarge-3-10,\n .uk-grid-width-xLarge-3-10 > * {\n width: 30%;\n }\n .uk-width-xLarge-7-10,\n .uk-grid-width-xLarge-7-10 > * {\n width: 70%;\n }\n .uk-width-xLarge-9-10,\n .uk-grid-width-xLarge-9-10 > * {\n width: 90%;\n }\n}\n/* ie9 fixes */\n.lte-ie9 *[class*=\"uk-animation-\"] {\n opacity: 1 !important;\n}\n/* 3. custom components ============================== */\n/* pricing tables */\n.pricing_table.pricing_table_a {\n text-align: center;\n}\n.pricing_table.pricing_table_a .pricing_table_plan {\n font-size: 18px;\n font-weight: 400;\n padding: 16px 0;\n margin-bottom: 16px;\n}\n.pricing_table.pricing_table_a .pricing_table_price {\n padding: 8px 0 0;\n font-size: 48px;\n margin-bottom: 24px;\n}\n.pricing_table.pricing_table_a .pricing_table_price .currency {\n vertical-align: top;\n font-size: 24px;\n padding: 0 4px;\n}\n.pricing_table.pricing_table_a .pricing_table_price .period {\n font-size: 14px;\n padding: 4px;\n color: #aaa;\n display: block;\n}\n.pricing_table.pricing_table_a .pricing_table_features {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.pricing_table.pricing_table_a .pricing_table_features > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.pricing_table.pricing_table_a .pricing_table_features li {\n font-size: 16px;\n padding: 8px 0;\n}\n.pricing_table.pricing_table_a .pricing_table_select {\n padding: 32px 0;\n}\n.pricing_table.pricing_table_b {\n text-align: center;\n}\n.pricing_table.pricing_table_b .pricing_table_plan {\n font-size: 16px;\n font-weight: 400;\n padding: 16px 0;\n margin-bottom: 16px;\n text-transform: uppercase;\n}\n.pricing_table.pricing_table_b .pricing_table_price {\n padding: 8px 0 0;\n font-size: 48px;\n margin-bottom: 24px;\n}\n.pricing_table.pricing_table_b .pricing_table_price .currency {\n vertical-align: top;\n font-size: 24px;\n padding: 0 4px;\n}\n.pricing_table.pricing_table_b .pricing_table_price .period {\n font-size: 14px;\n padding: 4px;\n color: #aaa;\n display: block;\n}\n.pricing_table.pricing_table_b .pricing_table_features {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.pricing_table.pricing_table_b .pricing_table_features > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.pricing_table.pricing_table_b .pricing_table_features li {\n font-size: 16px;\n padding: 8px 0;\n}\n.pricing_table.pricing_table_b .pricing_table_select {\n padding: 32px 0;\n}\n.pricing_table.pricing_table_c {\n text-align: center;\n}\n.pricing_table.pricing_table_c .pricing_table_plan {\n font-size: 16px;\n font-weight: 400;\n padding: 16px 0;\n margin-bottom: 8px;\n}\n.pricing_table.pricing_table_c .pricing_table_price {\n padding: 8px 0 0;\n font-size: 48px;\n margin-bottom: 24px;\n}\n.pricing_table.pricing_table_c .pricing_table_price .currency {\n vertical-align: top;\n font-size: 24px;\n padding: 0 4px;\n}\n.pricing_table.pricing_table_c .pricing_table_price .period {\n font-size: 14px;\n color: #aaa;\n vertical-align: 0;\n padding-left: 4px;\n}\n.pricing_table.pricing_table_c .pricing_table_features {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.pricing_table.pricing_table_c .pricing_table_features > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.pricing_table.pricing_table_c .pricing_table_features li {\n font-size: 16px;\n padding: 8px 0;\n}\n.pricing_table.pricing_table_c .pricing_table_select {\n padding: 32px 0;\n}\n.al_timeline {\n position: relative;\n padding: 24px 0 32px;\n}\n.al_timeline:after {\n position: absolute;\n top: 0;\n bottom: 0;\n margin-left: -2px;\n left: 50%;\n content: '';\n width: 4px;\n background: rgba(255, 255, 255, 0.5);\n display: block;\n}\n.al_timeline_block:before,\n.al_timeline_block:after {\n content: \" \";\n display: table;\n}\n.al_timeline_block:after {\n clear: both;\n}\n.al_timeline_block + * {\n margin-top: 48px;\n}\n.al_timeline_block:nth-child(even) .al_timeline_content {\n float: right;\n}\n.al_timeline_block:nth-child(even) .al_timeline_content:after {\n border-left-color: transparent;\n border-right-color: #fff;\n right: auto;\n left: -20px;\n}\n.al_timeline_content {\n box-sizing: border-box;\n background: #fff;\n width: 44%;\n padding: 16px;\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n position: relative;\n border-radius: 4px;\n}\n.al_timeline_content:after {\n position: absolute;\n top: 24px;\n right: -20px;\n content: '';\n display: block;\n border: 10px solid transparent;\n border-left-color: #fff;\n}\n.al_timeline_image {\n position: absolute;\n left: 50%;\n width: 64px;\n height: 64px;\n margin-left: -32px;\n background: #fff;\n border-radius: 50%;\n text-align: center;\n z-index: 10;\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n}\n.al_timeline_image > i {\n font-size: 32px;\n line-height: 64px;\n}\n@media only screen and (max-width: 959px) {\n .al_timeline:after {\n margin-left: 0;\n left: 30px;\n }\n .al_timeline_block {\n padding-left: 96px;\n }\n .al_timeline_content {\n width: 100%;\n }\n .al_timeline_content:after {\n border-left-color: transparent;\n border-right-color: #fff;\n right: auto;\n left: -20px;\n }\n .al_timeline_image {\n left: 0;\n margin-left: 0;\n }\n}\n@media only screen and (max-width: 767px) {\n .al_timeline:after {\n margin-left: 0;\n left: 22px;\n }\n .al_timeline_block {\n padding-left: 72px;\n }\n .al_timeline_content {\n width: 100%;\n }\n .al_timeline_content:after {\n border-left-color: transparent;\n border-right-color: #fff;\n right: auto;\n left: -20px;\n top: 14px;\n }\n .al_timeline_image {\n width: 48px;\n height: 48px;\n left: 0;\n margin-left: 0;\n }\n .al_timeline_image > i {\n line-height: 48px;\n font-size: 24px;\n }\n}\n/* 4. material designv styles ========================= */\n/* bg colors */\n.md-bg-cyan {\n background-color: #00acc1 !important;\n color: #fff;\n}\n.md-bg-light-green {\n background-color: #7cb342 !important;\n color: #fff;\n}\n.md-bg-grey {\n background-color: #616161 !important;\n color: #fff;\n}\n.md-bg-red {\n background-color: #d32f2f !important;\n color: #fff;\n}\n.md-bg-light-blue {\n background-color: #0288d1 !important;\n color: #fff;\n}\n.md-bg-teal {\n background-color: #00897b !important;\n color: #fff;\n}\n.md-bg-purple {\n background-color: #8e24aa !important;\n color: #fff;\n}\n/* buttons */\n.md-btn {\n background: #fff;\n border: none;\n border-radius: 2px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n min-height: 31px;\n min-width: 70px;\n padding: 2px 16px;\n text-align: center;\n text-shadow: none;\n text-transform: uppercase;\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n color: #212121;\n box-sizing: border-box;\n cursor: pointer;\n -webkit-appearance: none;\n display: inline-block;\n vertical-align: middle;\n font: 500 14px / 31px \"Roboto\", sans-serif !important;\n}\n.md-btn:hover,\n.md-btn:focus,\n.md-btn:active,\n.uk-button-dropdown.uk-open > .md-btn {\n background: #fff;\n outline: none;\n text-decoration: none;\n color: #212121;\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n}\n.md-btn:active,\n.uk-button-dropdown.uk-open > .md-btn {\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n}\n.md-btn-flat {\n box-shadow: none !important;\n background: none;\n}\n.md-btn-flat:hover,\n.md-btn-flat:focus {\n background: rgba(153, 153, 153, 0.2);\n}\n.md-btn-flat:active {\n background: rgba(153, 153, 153, 0.4);\n}\n.md-btn-flat-danger,\n.md-btn-flat-danger:hover,\n.md-btn-flat-danger:focus,\n.md-btn-flat-danger:active {\n color: #e53935;\n}\n.md-btn-flat-danger:hover,\n.md-btn-flat-danger:focus,\n.md-btn-flat-danger:active {\n background: #fceaea;\n}\n.md-btn-flat-primary,\n.md-btn-flat-primary:hover,\n.md-btn-flat-primary:focus,\n.md-btn-flat-primary:active {\n color: #1976d2;\n}\n.md-btn-flat-primary:hover,\n.md-btn-flat-primary:focus,\n.md-btn-flat-primary:active {\n background: #e3f2fd;\n}\n.md-btn-flat-success,\n.md-btn-flat-success:hover,\n.md-btn-flat-success:focus,\n.md-btn-flat-success:active {\n color: #7cb342;\n}\n.md-btn-flat-success:hover,\n.md-btn-flat-success:focus,\n.md-btn-flat-success:active {\n background: #e1efd2;\n}\n.md-btn-flat-warning,\n.md-btn-flat-warning:hover,\n.md-btn-flat-warning:focus,\n.md-btn-flat-warning:active {\n color: #ffa000;\n}\n.md-btn-flat-warning:hover,\n.md-btn-flat-warning:focus,\n.md-btn-flat-warning:active {\n background: #ffeccc;\n}\n.md-btn-flat.disabled {\n background: none !important;\n}\n.md-btn-danger,\n.md-btn-danger:hover,\n.md-btn-danger:focus,\n.md-btn-danger:active {\n background: #e53935;\n}\n.md-btn-primary,\n.md-btn-primary:hover,\n.md-btn-primary:focus,\n.md-btn-primary:active {\n background: #2196f3;\n}\n.md-btn-success,\n.md-btn-success:hover,\n.md-btn-success:focus,\n.md-btn-success:active {\n background: #7cb342;\n}\n.md-btn-warning,\n.md-btn-warning:hover,\n.md-btn-warning:focus,\n.md-btn-warning:active {\n background: #ffa000;\n}\n.md-btn-danger,\n.md-btn-primary,\n.md-btn-success,\n.md-btn-warning,\n.md-btn-danger:hover,\n.md-btn-primary:hover,\n.md-btn-success:hover,\n.md-btn-warning:hover,\n.md-btn-danger:focus,\n.md-btn-primary:focus,\n.md-btn-success:focus,\n.md-btn-warning:focus,\n.md-btn-danger:active,\n.md-btn-primary:active,\n.md-btn-success:active,\n.md-btn-warning:active,\n.md-btn-danger > i,\n.md-btn-primary > i,\n.md-btn-success > i,\n.md-btn-warning > i {\n color: #fff;\n}\n.md-btn.disabled,\n.md-btn.disabled:hover,\n.md-btn.disabled:focus,\n.md-btn.disabled:active {\n color: #a8a8a8;\n background: #eaeaea;\n box-shadow: none !important;\n cursor: default;\n pointer-events: none;\n}\n.md-btn > i.material-icons {\n margin-top: 5px;\n font-size: 18px;\n}\n.md-btn-mini {\n line-height: 21px !important;\n min-width: 12px;\n font-size: 10px !important;\n min-height: 24px;\n}\n.md-btn-small {\n line-height: 27px !important;\n min-width: 14px;\n font-size: 11px !important;\n}\n.md-btn-large {\n line-height: 42px !important;\n font-size: 16px !important;\n}\n.md-btn::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n.md-btn + .md-btn {\n margin-left: 8px;\n}\n.md-btn-block {\n width: 100%;\n}\n.md-btn-block + .md-btn-block {\n margin-left: 0;\n margin-top: 12px;\n}\n.md-btn + .md-btn-group {\n margin-left: 16px;\n}\n.md-btn-facebook {\n background: #3b5998 !important;\n}\n.md-btn-twitter {\n background: #00aced !important;\n}\n.md-btn-gplus {\n background: #dd4b39 !important;\n}\n.md-btn-facebook,\n.md-btn-twitter,\n.md-btn-gplus,\n.md-btn-facebook > i,\n.md-btn-twitter > i,\n.md-btn-gplus > i {\n color: #fff !important;\n}\n.md-btn-icon > i.no_margin {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n.md-btn-icon-large,\n.md-btn-icon.md-btn-large {\n min-width: 72px;\n}\n.md-btn-icon-large > i,\n.md-btn-icon.md-btn-large > i {\n font-size: 24px;\n margin-right: 12px;\n vertical-align: -3px;\n}\n.md-btn-icon-default,\n.md-btn-icon {\n min-width: 64px;\n}\n.md-btn-icon-default > i,\n.md-btn-icon > i {\n font-size: 18px;\n margin-right: 8px;\n vertical-align: -2px;\n}\n.md-btn-icon-small,\n.md-btn-icon.md-btn-small {\n min-width: 48px;\n}\n.md-btn-icon-small > i,\n.md-btn-icon.md-btn-small > i {\n font-size: 16px;\n margin-right: 6px;\n vertical-align: -2px;\n}\n.md-btn-icon-mini,\n.md-btn-icon.md-btn-mini {\n min-width: 36px;\n}\n.md-btn-icon-mini > i,\n.md-btn-icon.md-btn-mini > i {\n font-size: 16px;\n margin-right: 4px;\n vertical-align: -2px;\n}\n.md-fab {\n box-sizing: border-box;\n width: 64px;\n height: 64px;\n border-radius: 50%;\n background: #fff;\n color: #727272;\n display: block;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n border: none;\n position: relative;\n text-align: center;\n cursor: pointer;\n}\n.md-fab:hover,\n.md-fab:focus,\n.md-fab:active {\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n}\n.md-fab > i {\n font-size: 36px;\n line-height: 64px;\n height: inherit;\n width: inherit;\n position: absolute;\n left: 0;\n top: 0;\n color: #727272;\n}\n.md-fab.md-fab-accent {\n background: #7cb342;\n}\n.md-fab.md-fab-accent > i {\n color: #fff;\n}\n.md-fab.md-fab-success {\n background: #7cb342;\n}\n.md-fab.md-fab-success > i {\n color: #fff;\n}\n.md-fab.md-fab-danger {\n background: #e53935;\n}\n.md-fab.md-fab-danger > i {\n color: #fff;\n}\n.md-fab.md-fab-primary {\n background: #2196f3;\n}\n.md-fab.md-fab-primary > i {\n color: #fff;\n}\n.md-fab.md-fab-warning {\n background: #ffa000;\n}\n.md-fab.md-fab-warning > i {\n color: #fff;\n}\n.md-fab.md-fab-small {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n}\n.md-fab.md-fab-small > i {\n line-height: 48px;\n height: inherit;\n width: inherit;\n font-size: 24px;\n}\n.md-fab-speed-dial .md-fab-action-close {\n display: none;\n}\n.md-fab-wrapper {\n position: fixed;\n bottom: 24px;\n right: 24px;\n z-index: 1004;\n transition: margin 280ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n@media only screen and (max-width: 767px) {\n .md-fab-wrapper {\n bottom: 20px;\n right: 20px;\n }\n}\n.md-fab-wrapper > .md-fab + .md-fab {\n margin-top: 16px;\n}\n.md-fab-wrapper.md-fab-in-card {\n position: absolute;\n}\n.md-fab-speed-dial .md-fab-wrapper-small {\n position: absolute;\n bottom: 80px;\n right: 8px;\n min-height: 48px;\n width: 48px;\n z-index: -1;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small {\n transform: scale(0);\n opacity: 0;\n position: absolute;\n right: 0;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(1) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 50ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 50ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(2) {\n bottom: 64px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(2) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(3) {\n bottom: 128px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(3) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 150ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 150ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(4) {\n bottom: 192px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(4) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 200ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 200ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(5) {\n bottom: 256px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(5) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 250ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 250ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(6) {\n bottom: 320px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(6) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 300ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 300ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(7) {\n bottom: 384px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(7) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 350ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 350ms;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-last-child(8) {\n bottom: 448px;\n}\n.md-fab-speed-dial .md-fab-wrapper-small .md-fab-small:nth-child(8) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 400ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 400ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small {\n transform: scale(1);\n opacity: 1;\n z-index: 10;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(1) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 50ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 50ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(2) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(3) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 150ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 150ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(4) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 200ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 200ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(5) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 250ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 250ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(6) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 300ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 300ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(7) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 350ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 350ms;\n}\n.md-fab-speed-dial.md-fab-active .md-fab-small:nth-last-child(8) {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), transform 100ms cubic-bezier(0.4, 0, 0.2, 1) 400ms, opacity 100ms cubic-bezier(0.4, 0, 0.2, 1) 400ms;\n}\n.md-fab-toolbar {\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n cursor: default;\n}\n.md-fab-toolbar > i {\n cursor: pointer;\n}\n.md-fab-toolbar-actions {\n visibility: hidden;\n white-space: nowrap;\n padding: 0 16px;\n overflow: hidden;\n box-sizing: border-box;\n}\n.md-fab-toolbar-actions > a,\n.md-fab-toolbar-actions > button {\n display: block;\n float: left;\n opacity: 0;\n margin: 0 0 0 16px;\n height: 64px;\n width: 48px;\n box-sizing: border-box;\n transition: opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);\n background: none;\n border: none;\n outline: none;\n cursor: pointer;\n}\n.md-fab-toolbar-actions > a:first-child,\n.md-fab-toolbar-actions > button:first-child {\n margin-left: 0;\n}\n.md-fab-toolbar-actions .material-icons {\n font-size: 36px;\n line-height: 64px;\n}\n.md-fab-toolbar.md-fab-animated {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n border-radius: 4px;\n}\n.md-fab-toolbar.md-fab-animated > i {\n display: none;\n}\n.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions {\n visibility: visible;\n}\n.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions > a,\n.md-fab-toolbar.md-fab-active .md-fab-toolbar-actions > button {\n opacity: 1;\n}\n.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions > a,\n.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions > button {\n height: 48px;\n width: 36px;\n padding: 0;\n margin: 0 0 0 8px;\n}\n.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions > a:first-child,\n.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions > button:first-child {\n margin-left: 0;\n}\n.md-fab-toolbar.md-fab-small .md-fab-toolbar-actions .material-icons {\n font-size: 24px;\n line-height: 48px;\n height: inherit;\n}\n.md-fab-sheet {\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n cursor: default;\n}\n.md-fab-sheet > i {\n cursor: pointer;\n}\n.md-fab-sheet-actions {\n visibility: hidden;\n white-space: nowrap;\n overflow: hidden;\n box-sizing: border-box;\n padding: 4px 0;\n}\n.md-fab-sheet-actions > a {\n display: block;\n opacity: 0;\n padding: 4px 16px;\n box-sizing: border-box;\n font: 400 16px / 32px \"Roboto\", sans-serif;\n text-align: left;\n}\n.md-fab-sheet-actions > a,\n.md-fab-sheet-actions > a:hover {\n color: #212121;\n}\n.md-fab-sheet-actions .material-icons {\n font-size: 24px;\n margin-right: 8px;\n vertical-align: -6px;\n}\n.md-fab-sheet.md-fab-animated {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n border-radius: 4px;\n}\n.md-fab-sheet.md-fab-animated > i {\n display: none;\n}\n.md-fab-sheet.md-fab-active .md-fab-sheet-actions {\n visibility: visible;\n}\n.md-fab-sheet.md-fab-active .md-fab-sheet-actions > a {\n opacity: 1;\n}\n.sidebar_secondary_active .md-fab-wrapper {\n margin-right: 264px;\n}\n@media only screen and (max-width: 767px) {\n .sidebar_secondary_active .md-fab-wrapper {\n margin-right: 280px;\n }\n}\n.md-toggle-group .md-toggle-button {\n border-width: 0 0 2px;\n border-style: solid;\n border-color: transparent;\n background: none;\n line-height: 30px;\n min-width: 42px;\n text-align: center;\n padding: 0 8px;\n vertical-align: middle;\n cursor: pointer;\n}\n.md-toggle-group .md-toggle-button.md-toggle-active {\n border-bottom-color: #212121;\n}\n.md-toggle-group.md-toggle-group-small .md-toggle-button {\n font-size: 11px;\n line-height: 24px;\n min-width: 16px;\n padding: 0 6px;\n}\n.md-btn-group {\n display: inline-block;\n vertical-align: top;\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.md-btn-group .md-btn {\n vertical-align: top;\n margin-left: 0 !important;\n}\n.md-btn-group .md-btn:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.md-btn-group .md-btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.md-btn-group .md-btn:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.md-color-red-50 {\n color: #ffebee !important;\n}\n.md-bg-red-50 {\n background-color: #ffebee !important;\n}\n.md-color-red-100 {\n color: #ffcdd2 !important;\n}\n.md-bg-red-100 {\n background-color: #ffcdd2 !important;\n}\n.md-color-red-200 {\n color: #ef9a9a !important;\n}\n.md-bg-red-200 {\n background-color: #ef9a9a !important;\n}\n.md-color-red-300 {\n color: #e57373 !important;\n}\n.md-bg-red-300 {\n background-color: #e57373 !important;\n}\n.md-color-red-400 {\n color: #ef5350 !important;\n}\n.md-bg-red-400 {\n background-color: #ef5350 !important;\n}\n.md-color-red-500 {\n color: #f44336 !important;\n}\n.md-bg-red-500 {\n background-color: #f44336 !important;\n}\n.md-color-red-600 {\n color: #e53935 !important;\n}\n.md-bg-red-600 {\n background-color: #e53935 !important;\n}\n.md-color-red-700 {\n color: #d32f2f !important;\n}\n.md-bg-red-700 {\n background-color: #d32f2f !important;\n}\n.md-color-red-800 {\n color: #c62828 !important;\n}\n.md-bg-red-800 {\n background-color: #c62828 !important;\n}\n.md-color-red-900 {\n color: #b71c1c !important;\n}\n.md-bg-red-900 {\n background-color: #b71c1c !important;\n}\n.md-color-red-A100 {\n color: #ff8a80 !important;\n}\n.md-bg-red-A100 {\n background-color: #ff8a80 !important;\n}\n.md-color-red-A200 {\n color: #ff5252 !important;\n}\n.md-bg-red-A200 {\n background-color: #ff5252 !important;\n}\n.md-color-red-A400 {\n color: #ff1744 !important;\n}\n.md-bg-red-A400 {\n background-color: #ff1744 !important;\n}\n.md-color-red-A700 {\n color: #d50000 !important;\n}\n.md-bg-red-A700 {\n background-color: #d50000 !important;\n}\n.md-color-pink-50 {\n color: #fce4ec !important;\n}\n.md-bg-pink-50 {\n background-color: #fce4ec !important;\n}\n.md-color-pink-100 {\n color: #f8bbd0 !important;\n}\n.md-bg-pink-100 {\n background-color: #f8bbd0 !important;\n}\n.md-color-pink-200 {\n color: #f48fb1 !important;\n}\n.md-bg-pink-200 {\n background-color: #f48fb1 !important;\n}\n.md-color-pink-300 {\n color: #f06292 !important;\n}\n.md-bg-pink-300 {\n background-color: #f06292 !important;\n}\n.md-color-pink-400 {\n color: #ec407a !important;\n}\n.md-bg-pink-400 {\n background-color: #ec407a !important;\n}\n.md-color-pink-500 {\n color: #e91e63 !important;\n}\n.md-bg-pink-500 {\n background-color: #e91e63 !important;\n}\n.md-color-pink-600 {\n color: #d81b60 !important;\n}\n.md-bg-pink-600 {\n background-color: #d81b60 !important;\n}\n.md-color-pink-700 {\n color: #c2185b !important;\n}\n.md-bg-pink-700 {\n background-color: #c2185b !important;\n}\n.md-color-pink-800 {\n color: #ad1457 !important;\n}\n.md-bg-pink-800 {\n background-color: #ad1457 !important;\n}\n.md-color-pink-900 {\n color: #880e4f !important;\n}\n.md-bg-pink-900 {\n background-color: #880e4f !important;\n}\n.md-color-pink-A100 {\n color: #ff80ab !important;\n}\n.md-bg-pink-A100 {\n background-color: #ff80ab !important;\n}\n.md-color-pink-A200 {\n color: #ff4081 !important;\n}\n.md-bg-pink-A200 {\n background-color: #ff4081 !important;\n}\n.md-color-pink-A400 {\n color: #f50057 !important;\n}\n.md-bg-pink-A400 {\n background-color: #f50057 !important;\n}\n.md-color-pink-A700 {\n color: #c51162 !important;\n}\n.md-bg-pink-A700 {\n background-color: #c51162 !important;\n}\n.md-color-purple-50 {\n color: #f3e5f5 !important;\n}\n.md-bg-purple-50 {\n background-color: #f3e5f5 !important;\n}\n.md-color-purple-100 {\n color: #e1bee7 !important;\n}\n.md-bg-purple-100 {\n background-color: #e1bee7 !important;\n}\n.md-color-purple-200 {\n color: #ce93d8 !important;\n}\n.md-bg-purple-200 {\n background-color: #ce93d8 !important;\n}\n.md-color-purple-300 {\n color: #ba68c8 !important;\n}\n.md-bg-purple-300 {\n background-color: #ba68c8 !important;\n}\n.md-color-purple-400 {\n color: #ab47bc !important;\n}\n.md-bg-purple-400 {\n background-color: #ab47bc !important;\n}\n.md-color-purple-500 {\n color: #9c27b0 !important;\n}\n.md-bg-purple-500 {\n background-color: #9c27b0 !important;\n}\n.md-color-purple-600 {\n color: #8e24aa !important;\n}\n.md-bg-purple-600 {\n background-color: #8e24aa !important;\n}\n.md-color-purple-700 {\n color: #7b1fa2 !important;\n}\n.md-bg-purple-700 {\n background-color: #7b1fa2 !important;\n}\n.md-color-purple-800 {\n color: #6a1b9a !important;\n}\n.md-bg-purple-800 {\n background-color: #6a1b9a !important;\n}\n.md-color-purple-900 {\n color: #4a148c !important;\n}\n.md-bg-purple-900 {\n background-color: #4a148c !important;\n}\n.md-color-purple-A100 {\n color: #ea80fc !important;\n}\n.md-bg-purple-A100 {\n background-color: #ea80fc !important;\n}\n.md-color-purple-A200 {\n color: #e040fb !important;\n}\n.md-bg-purple-A200 {\n background-color: #e040fb !important;\n}\n.md-color-purple-A400 {\n color: #d500f9 !important;\n}\n.md-bg-purple-A400 {\n background-color: #d500f9 !important;\n}\n.md-color-purple-A700 {\n color: #aa00ff !important;\n}\n.md-bg-purple-A700 {\n background-color: #aa00ff !important;\n}\n.md-color-deep-purple-50 {\n color: #ede7f6 !important;\n}\n.md-bg-deep-purple-50 {\n background-color: #ede7f6 !important;\n}\n.md-color-deep-purple-100 {\n color: #d1c4e9 !important;\n}\n.md-bg-deep-purple-100 {\n background-color: #d1c4e9 !important;\n}\n.md-color-deep-purple-200 {\n color: #b39ddb !important;\n}\n.md-bg-deep-purple-200 {\n background-color: #b39ddb !important;\n}\n.md-color-deep-purple-300 {\n color: #9575cd !important;\n}\n.md-bg-deep-purple-300 {\n background-color: #9575cd !important;\n}\n.md-color-deep-purple-400 {\n color: #7e57c2 !important;\n}\n.md-bg-deep-purple-400 {\n background-color: #7e57c2 !important;\n}\n.md-color-deep-purple-500 {\n color: #673ab7 !important;\n}\n.md-bg-deep-purple-500 {\n background-color: #673ab7 !important;\n}\n.md-color-deep-purple-600 {\n color: #5e35b1 !important;\n}\n.md-bg-deep-purple-600 {\n background-color: #5e35b1 !important;\n}\n.md-color-deep-purple-700 {\n color: #512da8 !important;\n}\n.md-bg-deep-purple-700 {\n background-color: #512da8 !important;\n}\n.md-color-deep-purple-800 {\n color: #4527a0 !important;\n}\n.md-bg-deep-purple-800 {\n background-color: #4527a0 !important;\n}\n.md-color-deep-purple-900 {\n color: #311b92 !important;\n}\n.md-bg-deep-purple-900 {\n background-color: #311b92 !important;\n}\n.md-color-deep-purple-A100 {\n color: #b388ff !important;\n}\n.md-bg-deep-purple-A100 {\n background-color: #b388ff !important;\n}\n.md-color-deep-purple-A200 {\n color: #7c4dff !important;\n}\n.md-bg-deep-purple-A200 {\n background-color: #7c4dff !important;\n}\n.md-color-deep-purple-A400 {\n color: #651fff !important;\n}\n.md-bg-deep-purple-A400 {\n background-color: #651fff !important;\n}\n.md-color-deep-purple-A700 {\n color: #6200ea !important;\n}\n.md-bg-deep-purple-A700 {\n background-color: #6200ea !important;\n}\n.md-color-indigo-50 {\n color: #e8eaf6 !important;\n}\n.md-bg-indigo-50 {\n background-color: #e8eaf6 !important;\n}\n.md-color-indigo-100 {\n color: #c5cae9 !important;\n}\n.md-bg-indigo-100 {\n background-color: #c5cae9 !important;\n}\n.md-color-indigo-200 {\n color: #9fa8da !important;\n}\n.md-bg-indigo-200 {\n background-color: #9fa8da !important;\n}\n.md-color-indigo-300 {\n color: #7986cb !important;\n}\n.md-bg-indigo-300 {\n background-color: #7986cb !important;\n}\n.md-color-indigo-400 {\n color: #5c6bc0 !important;\n}\n.md-bg-indigo-400 {\n background-color: #5c6bc0 !important;\n}\n.md-color-indigo-500 {\n color: #3f51b5 !important;\n}\n.md-bg-indigo-500 {\n background-color: #3f51b5 !important;\n}\n.md-color-indigo-600 {\n color: #3949ab !important;\n}\n.md-bg-indigo-600 {\n background-color: #3949ab !important;\n}\n.md-color-indigo-700 {\n color: #303f9f !important;\n}\n.md-bg-indigo-700 {\n background-color: #303f9f !important;\n}\n.md-color-indigo-800 {\n color: #283593 !important;\n}\n.md-bg-indigo-800 {\n background-color: #283593 !important;\n}\n.md-color-indigo-900 {\n color: #1a237e !important;\n}\n.md-bg-indigo-900 {\n background-color: #1a237e !important;\n}\n.md-color-indigo-A100 {\n color: #8c9eff !important;\n}\n.md-bg-indigo-A100 {\n background-color: #8c9eff !important;\n}\n.md-color-indigo-A200 {\n color: #536dfe !important;\n}\n.md-bg-indigo-A200 {\n background-color: #536dfe !important;\n}\n.md-color-indigo-A400 {\n color: #3d5afe !important;\n}\n.md-bg-indigo-A400 {\n background-color: #3d5afe !important;\n}\n.md-color-indigo-A700 {\n color: #304ffe !important;\n}\n.md-bg-indigo-A700 {\n background-color: #304ffe !important;\n}\n.md-color-blue-50 {\n color: #e3f2fd !important;\n}\n.md-bg-blue-50 {\n background-color: #e3f2fd !important;\n}\n.md-color-blue-100 {\n color: #bbdefb !important;\n}\n.md-bg-blue-100 {\n background-color: #bbdefb !important;\n}\n.md-color-blue-200 {\n color: #90caf9 !important;\n}\n.md-bg-blue-200 {\n background-color: #90caf9 !important;\n}\n.md-color-blue-300 {\n color: #64b5f6 !important;\n}\n.md-bg-blue-300 {\n background-color: #64b5f6 !important;\n}\n.md-color-blue-400 {\n color: #42a5f5 !important;\n}\n.md-bg-blue-400 {\n background-color: #42a5f5 !important;\n}\n.md-color-blue-500 {\n color: #2196f3 !important;\n}\n.md-bg-blue-500 {\n background-color: #2196f3 !important;\n}\n.md-color-blue-600 {\n color: #1e88e5 !important;\n}\n.md-bg-blue-600 {\n background-color: #1e88e5 !important;\n}\n.md-color-blue-700 {\n color: #1976d2 !important;\n}\n.md-bg-blue-700 {\n background-color: #1976d2 !important;\n}\n.md-color-blue-800 {\n color: #1565c0 !important;\n}\n.md-bg-blue-800 {\n background-color: #1565c0 !important;\n}\n.md-color-blue-900 {\n color: #0d47a1 !important;\n}\n.md-bg-blue-900 {\n background-color: #0d47a1 !important;\n}\n.md-color-blue-A100 {\n color: #82b1ff !important;\n}\n.md-bg-blue-A100 {\n background-color: #82b1ff !important;\n}\n.md-color-blue-A200 {\n color: #448aff !important;\n}\n.md-bg-blue-A200 {\n background-color: #448aff !important;\n}\n.md-color-blue-A400 {\n color: #2979ff !important;\n}\n.md-bg-blue-A400 {\n background-color: #2979ff !important;\n}\n.md-color-blue-A700 {\n color: #2962ff !important;\n}\n.md-bg-blue-A700 {\n background-color: #2962ff !important;\n}\n.md-color-light-blue-50 {\n color: #e1f5fe !important;\n}\n.md-bg-light-blue-50 {\n background-color: #e1f5fe !important;\n}\n.md-color-light-blue-100 {\n color: #b3e5fc !important;\n}\n.md-bg-light-blue-100 {\n background-color: #b3e5fc !important;\n}\n.md-color-light-blue-200 {\n color: #81d4fa !important;\n}\n.md-bg-light-blue-200 {\n background-color: #81d4fa !important;\n}\n.md-color-light-blue-300 {\n color: #4fc3f7 !important;\n}\n.md-bg-light-blue-300 {\n background-color: #4fc3f7 !important;\n}\n.md-color-light-blue-400 {\n color: #29b6f6 !important;\n}\n.md-bg-light-blue-400 {\n background-color: #29b6f6 !important;\n}\n.md-color-light-blue-500 {\n color: #03a9f4 !important;\n}\n.md-bg-light-blue-500 {\n background-color: #03a9f4 !important;\n}\n.md-color-light-blue-600 {\n color: #039be5 !important;\n}\n.md-bg-light-blue-600 {\n background-color: #039be5 !important;\n}\n.md-color-light-blue-700 {\n color: #0288d1 !important;\n}\n.md-bg-light-blue-700 {\n background-color: #0288d1 !important;\n}\n.md-color-light-blue-800 {\n color: #0277bd !important;\n}\n.md-bg-light-blue-800 {\n background-color: #0277bd !important;\n}\n.md-color-light-blue-900 {\n color: #01579b !important;\n}\n.md-bg-light-blue-900 {\n background-color: #01579b !important;\n}\n.md-color-light-blue-A100 {\n color: #80d8ff !important;\n}\n.md-bg-light-blue-A100 {\n background-color: #80d8ff !important;\n}\n.md-color-light-blue-A200 {\n color: #40c4ff !important;\n}\n.md-bg-light-blue-A200 {\n background-color: #40c4ff !important;\n}\n.md-color-light-blue-A400 {\n color: #00b0ff !important;\n}\n.md-bg-light-blue-A400 {\n background-color: #00b0ff !important;\n}\n.md-color-light-blue-A700 {\n color: #0091ea !important;\n}\n.md-bg-light-blue-A700 {\n background-color: #0091ea !important;\n}\n.md-color-cyan-50 {\n color: #e0f7fa !important;\n}\n.md-bg-cyan-50 {\n background-color: #e0f7fa !important;\n}\n.md-color-cyan-100 {\n color: #b2ebf2 !important;\n}\n.md-bg-cyan-100 {\n background-color: #b2ebf2 !important;\n}\n.md-color-cyan-200 {\n color: #80deea !important;\n}\n.md-bg-cyan-200 {\n background-color: #80deea !important;\n}\n.md-color-cyan-300 {\n color: #4dd0e1 !important;\n}\n.md-bg-cyan-300 {\n background-color: #4dd0e1 !important;\n}\n.md-color-cyan-400 {\n color: #26c6da !important;\n}\n.md-bg-cyan-400 {\n background-color: #26c6da !important;\n}\n.md-color-cyan-500 {\n color: #00bcd4 !important;\n}\n.md-bg-cyan-500 {\n background-color: #00bcd4 !important;\n}\n.md-color-cyan-600 {\n color: #00acc1 !important;\n}\n.md-bg-cyan-600 {\n background-color: #00acc1 !important;\n}\n.md-color-cyan-700 {\n color: #0097a7 !important;\n}\n.md-bg-cyan-700 {\n background-color: #0097a7 !important;\n}\n.md-color-cyan-800 {\n color: #00838f !important;\n}\n.md-bg-cyan-800 {\n background-color: #00838f !important;\n}\n.md-color-cyan-900 {\n color: #006064 !important;\n}\n.md-bg-cyan-900 {\n background-color: #006064 !important;\n}\n.md-color-cyan-A100 {\n color: #84ffff !important;\n}\n.md-bg-cyan-A100 {\n background-color: #84ffff !important;\n}\n.md-color-cyan-A200 {\n color: #18ffff !important;\n}\n.md-bg-cyan-A200 {\n background-color: #18ffff !important;\n}\n.md-color-cyan-A400 {\n color: #00e5ff !important;\n}\n.md-bg-cyan-A400 {\n background-color: #00e5ff !important;\n}\n.md-color-cyan-A700 {\n color: #00b8d4 !important;\n}\n.md-bg-cyan-A700 {\n background-color: #00b8d4 !important;\n}\n.md-color-teal-50 {\n color: #e0f2f1 !important;\n}\n.md-bg-teal-50 {\n background-color: #e0f2f1 !important;\n}\n.md-color-teal-100 {\n color: #b2dfdb !important;\n}\n.md-bg-teal-100 {\n background-color: #b2dfdb !important;\n}\n.md-color-teal-200 {\n color: #80cbc4 !important;\n}\n.md-bg-teal-200 {\n background-color: #80cbc4 !important;\n}\n.md-color-teal-300 {\n color: #4db6ac !important;\n}\n.md-bg-teal-300 {\n background-color: #4db6ac !important;\n}\n.md-color-teal-400 {\n color: #26a69a !important;\n}\n.md-bg-teal-400 {\n background-color: #26a69a !important;\n}\n.md-color-teal-500 {\n color: #009688 !important;\n}\n.md-bg-teal-500 {\n background-color: #009688 !important;\n}\n.md-color-teal-600 {\n color: #00897b !important;\n}\n.md-bg-teal-600 {\n background-color: #00897b !important;\n}\n.md-color-teal-700 {\n color: #00796b !important;\n}\n.md-bg-teal-700 {\n background-color: #00796b !important;\n}\n.md-color-teal-800 {\n color: #00695c !important;\n}\n.md-bg-teal-800 {\n background-color: #00695c !important;\n}\n.md-color-teal-900 {\n color: #004d40 !important;\n}\n.md-bg-teal-900 {\n background-color: #004d40 !important;\n}\n.md-color-teal-A100 {\n color: #a7ffeb !important;\n}\n.md-bg-teal-A100 {\n background-color: #a7ffeb !important;\n}\n.md-color-teal-A200 {\n color: #64ffda !important;\n}\n.md-bg-teal-A200 {\n background-color: #64ffda !important;\n}\n.md-color-teal-A400 {\n color: #1de9b6 !important;\n}\n.md-bg-teal-A400 {\n background-color: #1de9b6 !important;\n}\n.md-color-teal-A700 {\n color: #00bfa5 !important;\n}\n.md-bg-teal-A700 {\n background-color: #00bfa5 !important;\n}\n.md-color-green-50 {\n color: #e8f5e9 !important;\n}\n.md-bg-green-50 {\n background-color: #e8f5e9 !important;\n}\n.md-color-green-100 {\n color: #c8e6c9 !important;\n}\n.md-bg-green-100 {\n background-color: #c8e6c9 !important;\n}\n.md-color-green-200 {\n color: #a5d6a7 !important;\n}\n.md-bg-green-200 {\n background-color: #a5d6a7 !important;\n}\n.md-color-green-300 {\n color: #81c784 !important;\n}\n.md-bg-green-300 {\n background-color: #81c784 !important;\n}\n.md-color-green-400 {\n color: #66bb6a !important;\n}\n.md-bg-green-400 {\n background-color: #66bb6a !important;\n}\n.md-color-green-500 {\n color: #4caf50 !important;\n}\n.md-bg-green-500 {\n background-color: #4caf50 !important;\n}\n.md-color-green-600 {\n color: #43a047 !important;\n}\n.md-bg-green-600 {\n background-color: #43a047 !important;\n}\n.md-color-green-700 {\n color: #388e3c !important;\n}\n.md-bg-green-700 {\n background-color: #388e3c !important;\n}\n.md-color-green-800 {\n color: #2e7d32 !important;\n}\n.md-bg-green-800 {\n background-color: #2e7d32 !important;\n}\n.md-color-green-900 {\n color: #1b5e20 !important;\n}\n.md-bg-green-900 {\n background-color: #1b5e20 !important;\n}\n.md-color-green-A100 {\n color: #b9f6ca !important;\n}\n.md-bg-green-A100 {\n background-color: #b9f6ca !important;\n}\n.md-color-green-A200 {\n color: #69f0ae !important;\n}\n.md-bg-green-A200 {\n background-color: #69f0ae !important;\n}\n.md-color-green-A400 {\n color: #00e676 !important;\n}\n.md-bg-green-A400 {\n background-color: #00e676 !important;\n}\n.md-color-green-A700 {\n color: #00c853 !important;\n}\n.md-bg-green-A700 {\n background-color: #00c853 !important;\n}\n.md-color-light-green-50 {\n color: #f1f8e9 !important;\n}\n.md-bg-light-green-50 {\n background-color: #f1f8e9 !important;\n}\n.md-color-light-green-100 {\n color: #dcedc8 !important;\n}\n.md-bg-light-green-100 {\n background-color: #dcedc8 !important;\n}\n.md-color-light-green-200 {\n color: #c5e1a5 !important;\n}\n.md-bg-light-green-200 {\n background-color: #c5e1a5 !important;\n}\n.md-color-light-green-300 {\n color: #aed581 !important;\n}\n.md-bg-light-green-300 {\n background-color: #aed581 !important;\n}\n.md-color-light-green-400 {\n color: #9ccc65 !important;\n}\n.md-bg-light-green-400 {\n background-color: #9ccc65 !important;\n}\n.md-color-light-green-500 {\n color: #8bc34a !important;\n}\n.md-bg-light-green-500 {\n background-color: #8bc34a !important;\n}\n.md-color-light-green-600 {\n color: #7cb342 !important;\n}\n.md-bg-light-green-600 {\n background-color: #7cb342 !important;\n}\n.md-color-light-green-700 {\n color: #689f38 !important;\n}\n.md-bg-light-green-700 {\n background-color: #689f38 !important;\n}\n.md-color-light-green-800 {\n color: #558b2f !important;\n}\n.md-bg-light-green-800 {\n background-color: #558b2f !important;\n}\n.md-color-light-green-900 {\n color: #33691e !important;\n}\n.md-bg-light-green-900 {\n background-color: #33691e !important;\n}\n.md-color-light-green-A100 {\n color: #ccff90 !important;\n}\n.md-bg-light-green-A100 {\n background-color: #ccff90 !important;\n}\n.md-color-light-green-A200 {\n color: #b2ff59 !important;\n}\n.md-bg-light-green-A200 {\n background-color: #b2ff59 !important;\n}\n.md-color-light-green-A400 {\n color: #76ff03 !important;\n}\n.md-bg-light-green-A400 {\n background-color: #76ff03 !important;\n}\n.md-color-light-green-A700 {\n color: #64dd17 !important;\n}\n.md-bg-light-green-A700 {\n background-color: #64dd17 !important;\n}\n.md-color-lime-50 {\n color: #f9fbe7 !important;\n}\n.md-bg-lime-50 {\n background-color: #f9fbe7 !important;\n}\n.md-color-lime-100 {\n color: #f0f4c3 !important;\n}\n.md-bg-lime-100 {\n background-color: #f0f4c3 !important;\n}\n.md-color-lime-200 {\n color: #e6ee9c !important;\n}\n.md-bg-lime-200 {\n background-color: #e6ee9c !important;\n}\n.md-color-lime-300 {\n color: #dce775 !important;\n}\n.md-bg-lime-300 {\n background-color: #dce775 !important;\n}\n.md-color-lime-400 {\n color: #d4e157 !important;\n}\n.md-bg-lime-400 {\n background-color: #d4e157 !important;\n}\n.md-color-lime-500 {\n color: #cddc39 !important;\n}\n.md-bg-lime-500 {\n background-color: #cddc39 !important;\n}\n.md-color-lime-600 {\n color: #c0ca33 !important;\n}\n.md-bg-lime-600 {\n background-color: #c0ca33 !important;\n}\n.md-color-lime-700 {\n color: #afb42b !important;\n}\n.md-bg-lime-700 {\n background-color: #afb42b !important;\n}\n.md-color-lime-800 {\n color: #9e9d24 !important;\n}\n.md-bg-lime-800 {\n background-color: #9e9d24 !important;\n}\n.md-color-lime-900 {\n color: #827717 !important;\n}\n.md-bg-lime-900 {\n background-color: #827717 !important;\n}\n.md-color-lime-A100 {\n color: #f4ff81 !important;\n}\n.md-bg-lime-A100 {\n background-color: #f4ff81 !important;\n}\n.md-color-lime-A200 {\n color: #eeff41 !important;\n}\n.md-bg-lime-A200 {\n background-color: #eeff41 !important;\n}\n.md-color-lime-A400 {\n color: #c6ff00 !important;\n}\n.md-bg-lime-A400 {\n background-color: #c6ff00 !important;\n}\n.md-color-lime-A700 {\n color: #aeea00 !important;\n}\n.md-bg-lime-A700 {\n background-color: #aeea00 !important;\n}\n.md-color-yellow-50 {\n color: #fffde7 !important;\n}\n.md-bg-yellow-50 {\n background-color: #fffde7 !important;\n}\n.md-color-yellow-100 {\n color: #fff9c4 !important;\n}\n.md-bg-yellow-100 {\n background-color: #fff9c4 !important;\n}\n.md-color-yellow-200 {\n color: #fff59d !important;\n}\n.md-bg-yellow-200 {\n background-color: #fff59d !important;\n}\n.md-color-yellow-300 {\n color: #fff176 !important;\n}\n.md-bg-yellow-300 {\n background-color: #fff176 !important;\n}\n.md-color-yellow-400 {\n color: #ffee58 !important;\n}\n.md-bg-yellow-400 {\n background-color: #ffee58 !important;\n}\n.md-color-yellow-500 {\n color: #ffeb3b !important;\n}\n.md-bg-yellow-500 {\n background-color: #ffeb3b !important;\n}\n.md-color-yellow-600 {\n color: #fdd835 !important;\n}\n.md-bg-yellow-600 {\n background-color: #fdd835 !important;\n}\n.md-color-yellow-700 {\n color: #fbc02d !important;\n}\n.md-bg-yellow-700 {\n background-color: #fbc02d !important;\n}\n.md-color-yellow-800 {\n color: #f9a825 !important;\n}\n.md-bg-yellow-800 {\n background-color: #f9a825 !important;\n}\n.md-color-yellow-900 {\n color: #f57f17 !important;\n}\n.md-bg-yellow-900 {\n background-color: #f57f17 !important;\n}\n.md-color-yellow-A100 {\n color: #ffff8d !important;\n}\n.md-bg-yellow-A100 {\n background-color: #ffff8d !important;\n}\n.md-color-yellow-A200 {\n color: #ffff00 !important;\n}\n.md-bg-yellow-A200 {\n background-color: #ffff00 !important;\n}\n.md-color-yellow-A400 {\n color: #ffea00 !important;\n}\n.md-bg-yellow-A400 {\n background-color: #ffea00 !important;\n}\n.md-color-yellow-A700 {\n color: #ffd600 !important;\n}\n.md-bg-yellow-A700 {\n background-color: #ffd600 !important;\n}\n.md-color-amber-50 {\n color: #fff8e1 !important;\n}\n.md-bg-amber-50 {\n background-color: #fff8e1 !important;\n}\n.md-color-amber-100 {\n color: #ffecb3 !important;\n}\n.md-bg-amber-100 {\n background-color: #ffecb3 !important;\n}\n.md-color-amber-200 {\n color: #ffe082 !important;\n}\n.md-bg-amber-200 {\n background-color: #ffe082 !important;\n}\n.md-color-amber-300 {\n color: #ffd54f !important;\n}\n.md-bg-amber-300 {\n background-color: #ffd54f !important;\n}\n.md-color-amber-400 {\n color: #ffca28 !important;\n}\n.md-bg-amber-400 {\n background-color: #ffca28 !important;\n}\n.md-color-amber-500 {\n color: #ffc107 !important;\n}\n.md-bg-amber-500 {\n background-color: #ffc107 !important;\n}\n.md-color-amber-600 {\n color: #ffb300 !important;\n}\n.md-bg-amber-600 {\n background-color: #ffb300 !important;\n}\n.md-color-amber-700 {\n color: #ffa000 !important;\n}\n.md-bg-amber-700 {\n background-color: #ffa000 !important;\n}\n.md-color-amber-800 {\n color: #ff8f00 !important;\n}\n.md-bg-amber-800 {\n background-color: #ff8f00 !important;\n}\n.md-color-amber-900 {\n color: #ff6f00 !important;\n}\n.md-bg-amber-900 {\n background-color: #ff6f00 !important;\n}\n.md-color-amber-A100 {\n color: #ffe57f !important;\n}\n.md-bg-amber-A100 {\n background-color: #ffe57f !important;\n}\n.md-color-amber-A200 {\n color: #ffd740 !important;\n}\n.md-bg-amber-A200 {\n background-color: #ffd740 !important;\n}\n.md-color-amber-A400 {\n color: #ffc400 !important;\n}\n.md-bg-amber-A400 {\n background-color: #ffc400 !important;\n}\n.md-color-amber-A700 {\n color: #ffab00 !important;\n}\n.md-bg-amber-A700 {\n background-color: #ffab00 !important;\n}\n.md-color-orange-50 {\n color: #fff3e0 !important;\n}\n.md-bg-orange-50 {\n background-color: #fff3e0 !important;\n}\n.md-color-orange-100 {\n color: #ffe0b2 !important;\n}\n.md-bg-orange-100 {\n background-color: #ffe0b2 !important;\n}\n.md-color-orange-200 {\n color: #ffcc80 !important;\n}\n.md-bg-orange-200 {\n background-color: #ffcc80 !important;\n}\n.md-color-orange-300 {\n color: #ffb74d !important;\n}\n.md-bg-orange-300 {\n background-color: #ffb74d !important;\n}\n.md-color-orange-400 {\n color: #ffa726 !important;\n}\n.md-bg-orange-400 {\n background-color: #ffa726 !important;\n}\n.md-color-orange-500 {\n color: #ff9800 !important;\n}\n.md-bg-orange-500 {\n background-color: #ff9800 !important;\n}\n.md-color-orange-600 {\n color: #fb8c00 !important;\n}\n.md-bg-orange-600 {\n background-color: #fb8c00 !important;\n}\n.md-color-orange-700 {\n color: #f57c00 !important;\n}\n.md-bg-orange-700 {\n background-color: #f57c00 !important;\n}\n.md-color-orange-800 {\n color: #ef6c00 !important;\n}\n.md-bg-orange-800 {\n background-color: #ef6c00 !important;\n}\n.md-color-orange-900 {\n color: #e65100 !important;\n}\n.md-bg-orange-900 {\n background-color: #e65100 !important;\n}\n.md-color-orange-A100 {\n color: #ffd180 !important;\n}\n.md-bg-orange-A100 {\n background-color: #ffd180 !important;\n}\n.md-color-orange-A200 {\n color: #ffab40 !important;\n}\n.md-bg-orange-A200 {\n background-color: #ffab40 !important;\n}\n.md-color-orange-A400 {\n color: #ff9100 !important;\n}\n.md-bg-orange-A400 {\n background-color: #ff9100 !important;\n}\n.md-color-orange-A700 {\n color: #ff6d00 !important;\n}\n.md-bg-orange-A700 {\n background-color: #ff6d00 !important;\n}\n.md-color-deep-orange-50 {\n color: #fbe9e7 !important;\n}\n.md-bg-deep-orange-50 {\n background-color: #fbe9e7 !important;\n}\n.md-color-deep-orange-100 {\n color: #ffccbc !important;\n}\n.md-bg-deep-orange-100 {\n background-color: #ffccbc !important;\n}\n.md-color-deep-orange-200 {\n color: #ffab91 !important;\n}\n.md-bg-deep-orange-200 {\n background-color: #ffab91 !important;\n}\n.md-color-deep-orange-300 {\n color: #ff8a65 !important;\n}\n.md-bg-deep-orange-300 {\n background-color: #ff8a65 !important;\n}\n.md-color-deep-orange-400 {\n color: #ff7043 !important;\n}\n.md-bg-deep-orange-400 {\n background-color: #ff7043 !important;\n}\n.md-color-deep-orange-500 {\n color: #ff5722 !important;\n}\n.md-bg-deep-orange-500 {\n background-color: #ff5722 !important;\n}\n.md-color-deep-orange-600 {\n color: #f4511e !important;\n}\n.md-bg-deep-orange-600 {\n background-color: #f4511e !important;\n}\n.md-color-deep-orange-700 {\n color: #e64a19 !important;\n}\n.md-bg-deep-orange-700 {\n background-color: #e64a19 !important;\n}\n.md-color-deep-orange-800 {\n color: #d84315 !important;\n}\n.md-bg-deep-orange-800 {\n background-color: #d84315 !important;\n}\n.md-color-deep-orange-900 {\n color: #bf360c !important;\n}\n.md-bg-deep-orange-900 {\n background-color: #bf360c !important;\n}\n.md-color-deep-orange-A100 {\n color: #ff9e80 !important;\n}\n.md-bg-deep-orange-A100 {\n background-color: #ff9e80 !important;\n}\n.md-color-deep-orange-A200 {\n color: #ff6e40 !important;\n}\n.md-bg-deep-orange-A200 {\n background-color: #ff6e40 !important;\n}\n.md-color-deep-orange-A400 {\n color: #ff3d00 !important;\n}\n.md-bg-deep-orange-A400 {\n background-color: #ff3d00 !important;\n}\n.md-color-deep-orange-A700 {\n color: #dd2c00 !important;\n}\n.md-bg-deep-orange-A700 {\n background-color: #dd2c00 !important;\n}\n.md-color-brown-50 {\n color: #efebe9 !important;\n}\n.md-bg-brown-50 {\n background-color: #efebe9 !important;\n}\n.md-color-brown-100 {\n color: #d7ccc8 !important;\n}\n.md-bg-brown-100 {\n background-color: #d7ccc8 !important;\n}\n.md-color-brown-200 {\n color: #bcaaa4 !important;\n}\n.md-bg-brown-200 {\n background-color: #bcaaa4 !important;\n}\n.md-color-brown-300 {\n color: #a1887f !important;\n}\n.md-bg-brown-300 {\n background-color: #a1887f !important;\n}\n.md-color-brown-400 {\n color: #8d6e63 !important;\n}\n.md-bg-brown-400 {\n background-color: #8d6e63 !important;\n}\n.md-color-brown-500 {\n color: #795548 !important;\n}\n.md-bg-brown-500 {\n background-color: #795548 !important;\n}\n.md-color-brown-600 {\n color: #6d4c41 !important;\n}\n.md-bg-brown-600 {\n background-color: #6d4c41 !important;\n}\n.md-color-brown-700 {\n color: #5d4037 !important;\n}\n.md-bg-brown-700 {\n background-color: #5d4037 !important;\n}\n.md-color-brown-800 {\n color: #4e342e !important;\n}\n.md-bg-brown-800 {\n background-color: #4e342e !important;\n}\n.md-color-brown-900 {\n color: #3e2723 !important;\n}\n.md-bg-brown-900 {\n background-color: #3e2723 !important;\n}\n.md-color-grey-50 {\n color: #fafafa !important;\n}\n.md-bg-grey-50 {\n background-color: #fafafa !important;\n}\n.md-color-grey-100 {\n color: #f5f5f5 !important;\n}\n.md-bg-grey-100 {\n background-color: #f5f5f5 !important;\n}\n.md-color-grey-200 {\n color: #eeeeee !important;\n}\n.md-bg-grey-200 {\n background-color: #eeeeee !important;\n}\n.md-color-grey-300 {\n color: #e0e0e0 !important;\n}\n.md-bg-grey-300 {\n background-color: #e0e0e0 !important;\n}\n.md-color-grey-400 {\n color: #bdbdbd !important;\n}\n.md-bg-grey-400 {\n background-color: #bdbdbd !important;\n}\n.md-color-grey-500 {\n color: #9e9e9e !important;\n}\n.md-bg-grey-500 {\n background-color: #9e9e9e !important;\n}\n.md-color-grey-600 {\n color: #757575 !important;\n}\n.md-bg-grey-600 {\n background-color: #757575 !important;\n}\n.md-color-grey-700 {\n color: #616161 !important;\n}\n.md-bg-grey-700 {\n background-color: #616161 !important;\n}\n.md-color-grey-800 {\n color: #424242 !important;\n}\n.md-bg-grey-800 {\n background-color: #424242 !important;\n}\n.md-color-grey-900 {\n color: #212121 !important;\n}\n.md-bg-grey-900 {\n background-color: #212121 !important;\n}\n.md-color-blue-grey-50 {\n color: #eceff1 !important;\n}\n.md-bg-blue-grey-50 {\n background-color: #eceff1 !important;\n}\n.md-color-blue-grey-100 {\n color: #cfd8dc !important;\n}\n.md-bg-blue-grey-100 {\n background-color: #cfd8dc !important;\n}\n.md-color-blue-grey-200 {\n color: #b0bec5 !important;\n}\n.md-bg-blue-grey-200 {\n background-color: #b0bec5 !important;\n}\n.md-color-blue-grey-300 {\n color: #90a4ae !important;\n}\n.md-bg-blue-grey-300 {\n background-color: #90a4ae !important;\n}\n.md-color-blue-grey-400 {\n color: #78909c !important;\n}\n.md-bg-blue-grey-400 {\n background-color: #78909c !important;\n}\n.md-color-blue-grey-500 {\n color: #607d8b !important;\n}\n.md-bg-blue-grey-500 {\n background-color: #607d8b !important;\n}\n.md-color-blue-grey-600 {\n color: #546e7a !important;\n}\n.md-bg-blue-grey-600 {\n background-color: #546e7a !important;\n}\n.md-color-blue-grey-700 {\n color: #455a64 !important;\n}\n.md-bg-blue-grey-700 {\n background-color: #455a64 !important;\n}\n.md-color-blue-grey-800 {\n color: #37474f !important;\n}\n.md-bg-blue-grey-800 {\n background-color: #37474f !important;\n}\n.md-color-blue-grey-900 {\n color: #263238 !important;\n}\n.md-bg-blue-grey-900 {\n background-color: #263238 !important;\n}\n.md-color-white {\n color: #fff !important;\n}\n/* cards */\n.md-card {\n background: #fff;\n position: relative;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n border: none;\n}\n.md-card + .md-card,\n.md-card + .uk-grid,\n.uk-grid + .md-card {\n margin-top: 25px;\n}\n.md-card .full_width_in_card {\n padding: 16px 24px;\n background: rgba(0, 0, 0, 0.085);\n}\n.md-card .md-card-toolbar {\n height: 64px;\n padding: 0 16px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n background: #fff;\n}\n.md-card .md-card-toolbar:before,\n.md-card .md-card-toolbar:after {\n content: \" \";\n display: table;\n}\n.md-card .md-card-toolbar:after {\n clear: both;\n}\n.md-card .md-card-toolbar-heading-text {\n font: 500 14px / 50px \"Roboto\", sans-serif;\n color: #212121;\n margin: 0;\n float: left;\n overflow: hidden;\n height: 48px;\n}\n.md-card .md-card-toolbar-heading-text.large {\n font-size: 18px;\n font-weight: 400;\n}\n.md-card .md-card-toolbar .md-toggle-group {\n float: left;\n margin: 8px 0 0 16px;\n}\n.md-card .md-card-toolbar .md-toggle-group.md-toggle-group-small {\n margin-top: 10px;\n}\n.md-card .md-card-toolbar .md-card-toolbar-actions {\n float: right;\n padding-top: 10px;\n}\n.md-card .md-card-toolbar .md-card-toolbar-actions .uk-open .md-card-toolbar-icon {\n background: rgba(0, 0, 0, 0.085);\n color: #212121;\n}\n.md-card .md-card-toolbar .md-card-toolbar-actions .md-card-dropdown {\n display: inline-block;\n position: relative;\n}\n.md-card .md-card-toolbar .md-card-toolbar-actions .selectize-control {\n min-width: 220px;\n margin-top: -3px;\n}\n.md-card .md-card-toolbar .md-card-toolbar-actions .selectize-control .selectize-input {\n min-height: 30px;\n padding: 4px 8px;\n}\n.md-card .md-card-toolbar .md-card-toolbar-actions .selectize-control .selectize-dropdown {\n margin-top: -34px;\n}\n.md-card .md-card-toolbar .md-icon + .md-card-dropdown {\n margin-left: 4px;\n}\n.md-card .md-card-toolbar .md-card-fullscreen-deactivate {\n margin: 9px 8px 0 0;\n}\n.md-card .md-card-toolbar-input {\n border: none;\n font: 400 18px / 24px \"Roboto\", sans-serif;\n height: auto;\n background: none !important;\n padding: 12px 0;\n width: 50%;\n box-sizing: border-box;\n}\n.md-card .md-card-toolbar .uk-tab {\n margin-top: -2px;\n border-bottom: none;\n}\n.md-card .md-card-toolbar .uk-tab li > a {\n padding: 10px 8px !important;\n}\n.md-card .md-card-head {\n height: 160px;\n position: relative;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.md-card .md-card-head-menu {\n position: absolute;\n right: 8px;\n top: 8px;\n}\n.md-card .md-card-head-avatar {\n width: 82px;\n height: 82px;\n border-radius: 50%;\n margin-top: 16px;\n border: 2px solid #fff;\n display: inline-block;\n}\n.md-card .md-card-head-text {\n padding: 8px 16px 16px;\n font: 500 16px / 22px \"Roboto\", sans-serif;\n color: #212121;\n margin: 0;\n}\n.md-card .md-card-head-text span {\n display: block;\n font: 400 12px / 18px \"Roboto\", sans-serif;\n margin-top: -2px;\n}\n.md-card .md-card-head-text.text_dark {\n color: #212121 !important;\n}\n.md-card .md-card-head-text-over {\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);\n}\n.md-card .md-card-head-subtext {\n position: absolute;\n bottom: 10px;\n left: 0;\n right: 0;\n padding: 0 16px;\n text-align: right;\n color: #fff;\n}\n.md-card .md-card-head-subtext span {\n font-size: 26px;\n}\n.md-card .md-card-head-icon {\n font-size: 48px;\n color: #fff;\n vertical-align: middle;\n}\n.md-card .md-card-head.head_background {\n background-repeat: no-repeat;\n background-position: center center;\n background-size: cover;\n border-bottom-color: transparent;\n}\n.md-card .md-card-head.head_background .md-card-head-text {\n color: #fff;\n}\n.md-card .md-card-head.head_background_top {\n background-repeat: no-repeat;\n background-position: center top;\n}\n.md-card .md-card-head.head_background_bottom {\n background-repeat: no-repeat;\n background-position: center bottom;\n}\n.md-card .md-card-head .head_chart {\n height: 100px;\n width: 100%;\n position: absolute !important;\n left: 0;\n top: 40px;\n}\n.md-card .md-card-head .fitVid_player {\n width: 100%;\n height: 160px;\n overflow: hidden;\n}\n.md-card .md-card-head-img {\n height: 100%;\n width: auto;\n}\n.md-card .md-card-head iframe {\n height: 160px;\n}\n.md-card .md-card-content {\n padding: 16px;\n}\n.md-card .md-card-content.padding-reset {\n padding: 0;\n}\n.md-card .md-card-content.large-padding {\n padding: 24px 35px;\n}\n.md-card .md-card-content.small-padding {\n padding: 8px;\n}\n.md-card .md-card-footer {\n padding: 16px;\n font-size: 14px;\n line-height: 18px;\n}\n.md-card .md-card-footer .md-card-footer-head {\n font: 500 16px / 20px \"Roboto\", sans-serif;\n margin: 0 0 4px;\n}\n.md-card.md-card-fullscreen {\n position: fixed;\n z-index: 9998;\n overflow-x: hidden;\n}\n.md-card.md-card-fullscreen .md-card-fullscreen-activate {\n display: none;\n}\n.md-card .md-card-fullscreen-content {\n display: none;\n padding: 16px 0;\n}\n.md-card-fullscreen-content-hidden .md-card .md-card-fullscreen-content {\n display: block;\n visibility: hidden;\n padding: 0;\n}\n.md-card.mdToolbar_fixed {\n overflow-y: hidden;\n}\n.md-card.mdToolbar_fixed > .md-card-toolbar {\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n z-index: 9999;\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n}\n.md-card.mdToolbar_fixed > .md-card-content {\n overflow-y: scroll;\n box-sizing: border-box;\n position: absolute;\n width: 100%;\n top: 64px;\n bottom: 0;\n}\n.md-card.md-card-overlay {\n overflow: hidden;\n padding-bottom: 54px;\n}\n.md-card.md-card-overlay .md-card-content {\n height: 142px;\n overflow: hidden;\n box-sizing: border-box;\n}\n.md-card.md-card-overlay .md-card-content.no_truncate {\n position: relative;\n}\n.md-card.md-card-overlay .md-card-content.no_truncate:after {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 8px;\n background-image: linear-gradient(to top, #ffffff 50%, rgba(255, 255, 255, 0) 100%);\n display: block;\n content: '';\n z-index: 10;\n}\n.md-card.md-card-overlay .md-card-content > pre {\n margin-top: 0;\n max-height: 110px;\n}\n.md-card.md-card-overlay .md-card-content > pre > code {\n overflow: hidden;\n}\n.md-card.md-card-overlay .md-card-overlay-content {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n padding: 0 16px;\n margin-top: -54px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n text-align: left;\n bottom: 0;\n background: #fff;\n z-index: 10;\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.md-card.md-card-overlay .md-card-overlay-content p {\n margin: 0;\n}\n.md-card.md-card-overlay .md-card-overlay-content p + * {\n margin-top: 16px;\n}\n.md-card.md-card-overlay .md-card-overlay-content p + p {\n margin-top: 4px;\n}\n.md-card.md-card-overlay .md-card-overlay-header {\n padding: 12px 0;\n}\n.md-card.md-card-overlay .md-card-overlay-header:before,\n.md-card.md-card-overlay .md-card-overlay-header:after {\n content: \" \";\n display: table;\n}\n.md-card.md-card-overlay .md-card-overlay-header:after {\n clear: both;\n}\n.md-card.md-card-overlay .md-card-overlay-header h3,\n.md-card.md-card-overlay .md-card-overlay-header h4 {\n margin: 0;\n text-overflow: ellipsis;\n display: inline-block;\n vertical-align: top;\n white-space: nowrap;\n overflow: hidden;\n width: 100%;\n padding-right: 32px;\n box-sizing: border-box;\n}\n.md-card.md-card-overlay .md-card-overlay-header h3 {\n font: 400 16px / 30px \"Roboto\", sans-serif;\n}\n.md-card.md-card-overlay .md-card-overlay-header h4 {\n font: 500 14px / 30px \"Roboto\", sans-serif;\n}\n.md-card.md-card-overlay .md-card-overlay-header .md-icon {\n position: absolute;\n right: 12px;\n top: 11px;\n}\n.md-card.md-card-overlay-active .md-card-overlay-content {\n top: -1px;\n margin-top: 0;\n}\n.md-card.md-card-hover {\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n will-change: box-shadow;\n}\n.md-card.md-card-hover:hover {\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n}\n.uk-sortable-dragged .md-card {\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n}\n.uk-sortable-dragged .md-card canvas {\n margin: 0 auto;\n display: block;\n}\n.md-card .heading_list {\n padding: 0;\n}\n.md-card-primary,\n.md-card-success,\n.md-card-danger,\n.md-card-warning {\n border-left: 4px solid transparent;\n}\n.md-card-primary {\n border-left-color: #2196f3;\n}\n.md-card-success {\n border-left-color: #7cb342;\n}\n.md-card-danger {\n border-left-color: #e53935;\n}\n.md-card-warning {\n border-left-color: #ffa000;\n}\n.md-expand,\n.md-expand-group > * {\n opacity: 0;\n}\n.md-card-placeholder {\n min-width: 100%;\n}\n.md-card-list-wrapper,\n.md-card-list-wrapper:before,\n.md-card-list-wrapper:after,\n.md-card-list-wrapper *,\n.md-card-list-wrapper *:before,\n.md-card-list-wrapper *:after {\n box-sizing: border-box;\n}\n.md-card-list-wrapper .md-card-list-header {\n position: absolute;\n top: -24px;\n left: 0;\n}\n.md-card-list-wrapper .md-card-list {\n margin: 48px 0 0 0;\n position: relative;\n}\n.md-card-list-wrapper .md-card-list:first-child {\n margin-top: 24px;\n}\n.md-card-list-wrapper .md-card-list > ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.md-card-list-wrapper .md-card-list > ul > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.md-card-list-wrapper .md-card-list > ul > li {\n min-height: 34px;\n padding: 8px 16px;\n font-size: 13px;\n transition: background 150ms,padding 200ms;\n background: #fff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n}\n.md-card-list-wrapper .md-card-list > ul > li:before,\n.md-card-list-wrapper .md-card-list > ul > li:after {\n content: \" \";\n display: table;\n}\n.md-card-list-wrapper .md-card-list > ul > li:after {\n clear: both;\n}\n.md-card-list-wrapper .md-card-list > ul > li.item-shown {\n background: #fff;\n padding: 8px 36px;\n}\n@media only screen and (max-width: 767px) {\n .md-card-list-wrapper .md-card-list > ul > li.item-shown .md-card-list-item-subject {\n clear: both;\n float: none;\n padding-top: 16px;\n }\n .md-card-list-wrapper .md-card-list > ul > li.item-shown .md-card-list-item-subject > span {\n white-space: normal;\n }\n}\n.md-card-list-wrapper .md-card-list > ul > li.item-shown .md-card-list-item-sender {\n width: auto;\n overflow: hidden;\n}\n.md-card-list-wrapper .md-card-list > ul > li.item-shown.md-card-list-item-selected {\n position: relative;\n}\n.md-card-list-wrapper .md-card-list > ul > li.item-shown.md-card-list-item-selected:before {\n content: '';\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n bottom: 0;\n width: 8px;\n background: #e3f2fd;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-select,\n.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper,\n.md-card-list-wrapper .md-card-list .md-card-list-item-sender {\n float: left;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-select {\n padding: 6px 8px 0 0;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper,\n.md-card-list-wrapper .md-card-list .md-card-list-item-sender,\n.md-card-list-wrapper .md-card-list .md-card-list-item-subject,\n.md-card-list-wrapper .md-card-list .md-card-list-item-date {\n padding: 0 8px;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper .md-card-list-item-avatar {\n background: #757575;\n color: #fff;\n width: 34px;\n border-radius: 50%;\n display: block;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper .md-card-list-item-avatar-large {\n width: 82px;\n border-radius: 50%;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-avatar-wrapper span.md-card-list-item-avatar {\n line-height: 34px;\n text-transform: uppercase;\n text-align: center;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-sender {\n width: 220px;\n line-height: 34px;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-sender > span {\n text-overflow: ellipsis;\n display: inline-block;\n vertical-align: top;\n white-space: nowrap;\n overflow: hidden;\n width: 100%;\n}\n@media only screen and (max-width: 1219px) {\n .md-card-list-wrapper .md-card-list .md-card-list-item-sender {\n display: none;\n }\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-subject {\n overflow: hidden;\n font-weight: 500;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-subject > span {\n line-height: 34px;\n text-overflow: ellipsis;\n display: inline-block;\n vertical-align: top;\n white-space: nowrap;\n overflow: hidden;\n width: 100%;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small {\n display: none;\n}\n@media only screen and (max-width: 1219px) {\n .md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small {\n display: block;\n }\n .md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small + span {\n line-height: inherit;\n }\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-subject .md-card-list-item-sender-small > span {\n text-overflow: ellipsis;\n display: inline-block;\n vertical-align: top;\n white-space: nowrap;\n overflow: hidden;\n width: 100%;\n font-size: 12px;\n color: #999;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-date {\n line-height: 34px;\n float: right;\n color: #999;\n}\n@media only screen and (max-width: 479px) {\n .md-card-list-wrapper .md-card-list .md-card-list-item-date {\n display: none;\n }\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-menu {\n float: right;\n margin: 0 0 0 8px;\n position: relative;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-menu .uk-dropdown .material-icons {\n margin-right: 8px;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-content-wrapper {\n display: none;\n clear: both;\n opacity: 0;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-content {\n padding: 16px 16px 0 0;\n max-height: 360px;\n overflow-x: hidden;\n margin: 0 0 40px;\n top: 20px;\n position: relative;\n font-size: 14px;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-content + .md-card-list-item-reply {\n padding-top: 10px;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-reply {\n padding: 16px 0;\n}\n.md-card-list-wrapper .md-card-list .md-card-list-item-selected {\n background: #e3f2fd;\n}\n/* forms */\nselect,\ntextarea,\ninput:not([type]),\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"datetime\"],\ninput[type=\"datetime-local\"],\ninput[type=\"date\"],\ninput[type=\"month\"],\ninput[type=\"time\"],\ninput[type=\"week\"],\ninput[type=\"number\"],\ninput[type=\"email\"],\ninput[type=\"url\"],\ninput[type=\"search\"],\ninput[type=\"tel\"],\ninput[type=\"color\"] {\n outline: none;\n}\nselect.md-input,\ntextarea.md-input,\ninput:not([type]).md-input,\ninput[type=\"text\"].md-input,\ninput[type=\"password\"].md-input,\ninput[type=\"datetime\"].md-input,\ninput[type=\"datetime-local\"].md-input,\ninput[type=\"date\"].md-input,\ninput[type=\"month\"].md-input,\ninput[type=\"time\"].md-input,\ninput[type=\"week\"].md-input,\ninput[type=\"number\"].md-input,\ninput[type=\"email\"].md-input,\ninput[type=\"url\"].md-input,\ninput[type=\"search\"].md-input,\ninput[type=\"tel\"].md-input,\ninput[type=\"color\"].md-input {\n border-radius: 0;\n border-width: 0 0 1px;\n border-style: solid;\n border-color: rgba(0, 0, 0, 0.12);\n font: 400 15px / 18px \"Roboto\", sans-serif;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0);\n box-sizing: border-box;\n padding: 12px 4px;\n background: transparent;\n width: 100%;\n display: block;\n}\nselect.md-input.md-input-danger,\ntextarea.md-input.md-input-danger,\ninput:not([type]).md-input.md-input-danger,\ninput[type=\"text\"].md-input.md-input-danger,\ninput[type=\"password\"].md-input.md-input-danger,\ninput[type=\"datetime\"].md-input.md-input-danger,\ninput[type=\"datetime-local\"].md-input.md-input-danger,\ninput[type=\"date\"].md-input.md-input-danger,\ninput[type=\"month\"].md-input.md-input-danger,\ninput[type=\"time\"].md-input.md-input-danger,\ninput[type=\"week\"].md-input.md-input-danger,\ninput[type=\"number\"].md-input.md-input-danger,\ninput[type=\"email\"].md-input.md-input-danger,\ninput[type=\"url\"].md-input.md-input-danger,\ninput[type=\"search\"].md-input.md-input-danger,\ninput[type=\"tel\"].md-input.md-input-danger,\ninput[type=\"color\"].md-input.md-input-danger {\n border-color: #e53935;\n}\nselect.md-input.md-input-danger:focus,\ntextarea.md-input.md-input-danger:focus,\ninput:not([type]).md-input.md-input-danger:focus,\ninput[type=\"text\"].md-input.md-input-danger:focus,\ninput[type=\"password\"].md-input.md-input-danger:focus,\ninput[type=\"datetime\"].md-input.md-input-danger:focus,\ninput[type=\"datetime-local\"].md-input.md-input-danger:focus,\ninput[type=\"date\"].md-input.md-input-danger:focus,\ninput[type=\"month\"].md-input.md-input-danger:focus,\ninput[type=\"time\"].md-input.md-input-danger:focus,\ninput[type=\"week\"].md-input.md-input-danger:focus,\ninput[type=\"number\"].md-input.md-input-danger:focus,\ninput[type=\"email\"].md-input.md-input-danger:focus,\ninput[type=\"url\"].md-input.md-input-danger:focus,\ninput[type=\"search\"].md-input.md-input-danger:focus,\ninput[type=\"tel\"].md-input.md-input-danger:focus,\ninput[type=\"color\"].md-input.md-input-danger:focus {\n border-bottom-color: #e53935;\n}\nselect.md-input.md-input-success,\ntextarea.md-input.md-input-success,\ninput:not([type]).md-input.md-input-success,\ninput[type=\"text\"].md-input.md-input-success,\ninput[type=\"password\"].md-input.md-input-success,\ninput[type=\"datetime\"].md-input.md-input-success,\ninput[type=\"datetime-local\"].md-input.md-input-success,\ninput[type=\"date\"].md-input.md-input-success,\ninput[type=\"month\"].md-input.md-input-success,\ninput[type=\"time\"].md-input.md-input-success,\ninput[type=\"week\"].md-input.md-input-success,\ninput[type=\"number\"].md-input.md-input-success,\ninput[type=\"email\"].md-input.md-input-success,\ninput[type=\"url\"].md-input.md-input-success,\ninput[type=\"search\"].md-input.md-input-success,\ninput[type=\"tel\"].md-input.md-input-success,\ninput[type=\"color\"].md-input.md-input-success {\n border-color: #7cb342;\n}\nselect.md-input.md-input-success:focus,\ntextarea.md-input.md-input-success:focus,\ninput:not([type]).md-input.md-input-success:focus,\ninput[type=\"text\"].md-input.md-input-success:focus,\ninput[type=\"password\"].md-input.md-input-success:focus,\ninput[type=\"datetime\"].md-input.md-input-success:focus,\ninput[type=\"datetime-local\"].md-input.md-input-success:focus,\ninput[type=\"date\"].md-input.md-input-success:focus,\ninput[type=\"month\"].md-input.md-input-success:focus,\ninput[type=\"time\"].md-input.md-input-success:focus,\ninput[type=\"week\"].md-input.md-input-success:focus,\ninput[type=\"number\"].md-input.md-input-success:focus,\ninput[type=\"email\"].md-input.md-input-success:focus,\ninput[type=\"url\"].md-input.md-input-success:focus,\ninput[type=\"search\"].md-input.md-input-success:focus,\ninput[type=\"tel\"].md-input.md-input-success:focus,\ninput[type=\"color\"].md-input.md-input-success:focus {\n border-bottom-color: #7cb342;\n}\nselect.md-input:focus,\ntextarea.md-input:focus,\ninput:not([type]).md-input:focus,\ninput[type=\"text\"].md-input:focus,\ninput[type=\"password\"].md-input:focus,\ninput[type=\"datetime\"].md-input:focus,\ninput[type=\"datetime-local\"].md-input:focus,\ninput[type=\"date\"].md-input:focus,\ninput[type=\"month\"].md-input:focus,\ninput[type=\"time\"].md-input:focus,\ninput[type=\"week\"].md-input:focus,\ninput[type=\"number\"].md-input:focus,\ninput[type=\"email\"].md-input:focus,\ninput[type=\"url\"].md-input:focus,\ninput[type=\"search\"].md-input:focus,\ninput[type=\"tel\"].md-input:focus,\ninput[type=\"color\"].md-input:focus {\n background: transparent;\n border-color: rgba(0, 0, 0, 0.12);\n}\nselect.md-input-small,\ntextarea.md-input-small,\ninput:not([type]).md-input-small,\ninput[type=\"text\"].md-input-small,\ninput[type=\"password\"].md-input-small,\ninput[type=\"datetime\"].md-input-small,\ninput[type=\"datetime-local\"].md-input-small,\ninput[type=\"date\"].md-input-small,\ninput[type=\"month\"].md-input-small,\ninput[type=\"time\"].md-input-small,\ninput[type=\"week\"].md-input-small,\ninput[type=\"number\"].md-input-small,\ninput[type=\"email\"].md-input-small,\ninput[type=\"url\"].md-input-small,\ninput[type=\"search\"].md-input-small,\ninput[type=\"tel\"].md-input-small,\ninput[type=\"color\"].md-input-small {\n padding: 4px;\n}\nselect.md-input.uk-form-width-mini,\ntextarea.md-input.uk-form-width-mini,\ninput:not([type]).md-input.uk-form-width-mini,\ninput[type=\"text\"].md-input.uk-form-width-mini,\ninput[type=\"password\"].md-input.uk-form-width-mini,\ninput[type=\"datetime\"].md-input.uk-form-width-mini,\ninput[type=\"datetime-local\"].md-input.uk-form-width-mini,\ninput[type=\"date\"].md-input.uk-form-width-mini,\ninput[type=\"month\"].md-input.uk-form-width-mini,\ninput[type=\"time\"].md-input.uk-form-width-mini,\ninput[type=\"week\"].md-input.uk-form-width-mini,\ninput[type=\"number\"].md-input.uk-form-width-mini,\ninput[type=\"email\"].md-input.uk-form-width-mini,\ninput[type=\"url\"].md-input.uk-form-width-mini,\ninput[type=\"search\"].md-input.uk-form-width-mini,\ninput[type=\"tel\"].md-input.uk-form-width-mini,\ninput[type=\"color\"].md-input.uk-form-width-mini {\n width: 40px;\n}\nselect.md-input.uk-form-width-small,\ntextarea.md-input.uk-form-width-small,\ninput:not([type]).md-input.uk-form-width-small,\ninput[type=\"text\"].md-input.uk-form-width-small,\ninput[type=\"password\"].md-input.uk-form-width-small,\ninput[type=\"datetime\"].md-input.uk-form-width-small,\ninput[type=\"datetime-local\"].md-input.uk-form-width-small,\ninput[type=\"date\"].md-input.uk-form-width-small,\ninput[type=\"month\"].md-input.uk-form-width-small,\ninput[type=\"time\"].md-input.uk-form-width-small,\ninput[type=\"week\"].md-input.uk-form-width-small,\ninput[type=\"number\"].md-input.uk-form-width-small,\ninput[type=\"email\"].md-input.uk-form-width-small,\ninput[type=\"url\"].md-input.uk-form-width-small,\ninput[type=\"search\"].md-input.uk-form-width-small,\ninput[type=\"tel\"].md-input.uk-form-width-small,\ninput[type=\"color\"].md-input.uk-form-width-small {\n width: 130px;\n}\nselect.md-input.uk-form-width-medium,\ntextarea.md-input.uk-form-width-medium,\ninput:not([type]).md-input.uk-form-width-medium,\ninput[type=\"text\"].md-input.uk-form-width-medium,\ninput[type=\"password\"].md-input.uk-form-width-medium,\ninput[type=\"datetime\"].md-input.uk-form-width-medium,\ninput[type=\"datetime-local\"].md-input.uk-form-width-medium,\ninput[type=\"date\"].md-input.uk-form-width-medium,\ninput[type=\"month\"].md-input.uk-form-width-medium,\ninput[type=\"time\"].md-input.uk-form-width-medium,\ninput[type=\"week\"].md-input.uk-form-width-medium,\ninput[type=\"number\"].md-input.uk-form-width-medium,\ninput[type=\"email\"].md-input.uk-form-width-medium,\ninput[type=\"url\"].md-input.uk-form-width-medium,\ninput[type=\"search\"].md-input.uk-form-width-medium,\ninput[type=\"tel\"].md-input.uk-form-width-medium,\ninput[type=\"color\"].md-input.uk-form-width-medium {\n width: 200px;\n}\nselect.md-input.uk-form-width-large,\ntextarea.md-input.uk-form-width-large,\ninput:not([type]).md-input.uk-form-width-large,\ninput[type=\"text\"].md-input.uk-form-width-large,\ninput[type=\"password\"].md-input.uk-form-width-large,\ninput[type=\"datetime\"].md-input.uk-form-width-large,\ninput[type=\"datetime-local\"].md-input.uk-form-width-large,\ninput[type=\"date\"].md-input.uk-form-width-large,\ninput[type=\"month\"].md-input.uk-form-width-large,\ninput[type=\"time\"].md-input.uk-form-width-large,\ninput[type=\"week\"].md-input.uk-form-width-large,\ninput[type=\"number\"].md-input.uk-form-width-large,\ninput[type=\"email\"].md-input.uk-form-width-large,\ninput[type=\"url\"].md-input.uk-form-width-large,\ninput[type=\"search\"].md-input.uk-form-width-large,\ninput[type=\"tel\"].md-input.uk-form-width-large,\ninput[type=\"color\"].md-input.uk-form-width-large {\n width: 500px;\n}\nselect.md-input.uk-form-width-mini {\n width: 65px;\n}\n.md-input-width-small {\n min-width: 80px !important;\n}\n.md-input-width-medium {\n min-width: 160px !important;\n}\n.md-input-width-large {\n min-width: 320px !important;\n}\ntextarea.md-input {\n min-height: 80px;\n resize: none;\n overflow: hidden;\n transition: height 200ms ease-out;\n line-height: 24px;\n}\ntextarea.no_autosize {\n min-height: inherit;\n overflow: auto;\n transition: none;\n resize: both;\n}\n.md-input-wrapper {\n position: relative;\n padding-top: 4px;\n width: 100%;\n display: block;\n}\n.md-input-wrapper .md-input-bar {\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n}\n.md-input-wrapper .md-input-bar:before,\n.md-input-wrapper .md-input-bar:after {\n content: '';\n display: block;\n position: absolute;\n bottom: 0;\n width: 0;\n height: 2px;\n background: #1976d2;\n transition: width 400ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.md-input-wrapper .md-input-bar:before {\n left: 50%;\n}\n.md-input-wrapper .md-input-bar:after {\n right: 50%;\n}\n.md-input-wrapper .md-input-bar.uk-form-width-mini {\n width: 40px;\n}\n.md-input-wrapper .md-input-bar.uk-form-width-small {\n width: 130px;\n}\n.md-input-wrapper .md-input-bar.uk-form-width-medium {\n width: 200px;\n}\n.md-input-wrapper .md-input-bar.uk-form-width-large {\n width: 500px;\n}\n.md-input-wrapper > label {\n color: #727272;\n position: absolute;\n top: 16px;\n left: 4px;\n right: 0;\n pointer-events: none;\n transition: all 150ms ease-out;\n}\n.md-input-wrapper + * {\n margin-top: 10px;\n}\n.md-input-wrapper.md-input-wrapper-disabled > label {\n color: rgba(0, 0, 0, 0.26);\n}\n.md-input-wrapper-count {\n padding-bottom: 24px;\n}\n.md-input-wrapper-count .md-input-bar {\n bottom: 24px;\n}\n.md-input-wrapper-count .text-count-wrapper {\n font-size: 12px;\n position: absolute;\n right: 0;\n bottom: 0;\n opacity: 0;\n transition: opacity 200ms ease-in;\n}\n.md-input-wrapper-count > .md-input-wrapper-count .text-count-wrapper {\n position: absolute;\n bottom: 0;\n right: 0;\n}\n.md-input-filled > label,\n.md-input-focus > label {\n top: -6px;\n font-size: 12px;\n}\n.md-input-filled.md-input-wrapper-count .text-count-wrapper,\n.md-input-focus.md-input-wrapper-count .text-count-wrapper {\n opacity: 1;\n}\n.md-input-focus .md-input-bar:before,\n.md-input-focus .md-input-bar:after {\n width: 50%;\n}\n.md-input-wrapper-danger .md-input-bar:before,\n.md-input-wrapper-danger .md-input-bar:after {\n background: #e53935;\n}\n.md-input-wrapper-danger.md-input-wrapper-count .text-count-wrapper {\n color: #e53935;\n}\n.md-input-wrapper-success .md-input-bar:before,\n.md-input-wrapper-success .md-input-bar:after {\n background: #7cb342;\n}\n.md-input-wrapper-success.md-input-wrapper-count .text-count-wrapper {\n color: #7cb342;\n}\n.md-form-group {\n position: relative;\n}\nlabel.md-label {\n color: #999;\n padding: 0 6px;\n font-size: 11px;\n}\n@font-face {\n font-family: 'Material Icons';\n font-style: normal;\n font-weight: 400;\n src: url(\"../icons/material-design-icons/MaterialIcons-Regular.eot\");\n /* For IE6-8 */\n src: local('Material Icons'), local('MaterialIcons-Regular'), url(\"../icons/material-design-icons/MaterialIcons-Regular.woff2\") format('woff2'), url(\"../icons/material-design-icons/MaterialIcons-Regular.woff\") format('woff'), url(\"../icons/material-design-icons/MaterialIcons-Regular.ttf\") format('truetype');\n}\n.material-icons {\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 18px;\n /* Preferred icon size */\n display: inline-block;\n width: 1em;\n height: 1em;\n line-height: 1;\n text-transform: none;\n letter-spacing: normal;\n /* Support for all WebKit browsers. */\n -webkit-font-smoothing: antialiased;\n /* Support for Safari and Chrome. */\n text-rendering: optimizeLegibility;\n /* Support for Firefox. */\n -moz-osx-font-smoothing: grayscale;\n /* Support for IE. */\n font-feature-settings: 'liga';\n vertical-align: -4px;\n color: rgba(0, 0, 0, 0.54);\n}\n.material-icons.md-inactive {\n color: rgba(0, 0, 0, 0.26);\n}\n.material-icons.md-24 {\n font-size: 24px;\n vertical-align: -8px;\n}\n.material-icons.md-36 {\n font-size: 36px;\n vertical-align: -16px;\n}\n.material-icons.md-48 {\n font-size: 48px;\n vertical-align: -24px;\n}\n.material-icons.md-light {\n color: #ffffff;\n}\n.material-icons.md-light.md-inactive {\n color: rgba(255, 255, 255, 0.3);\n}\n/* list */\n.md-list {\n margin: 0;\n padding: 0;\n list-style: none;\n /*&-outside-wrapper {\n overflow: hidden;\n }*/\n}\n.md-list > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.md-list,\n.md-list:before,\n.md-list:after,\n.md-list *,\n.md-list *:before,\n.md-list *:after {\n box-sizing: border-box;\n}\n.md-list .uk-nestable-list > li,\n.md-list > li {\n min-height: 48px;\n padding: 8px 4px;\n box-sizing: border-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n position: relative;\n}\n.md-list .uk-nestable-list > li > .md-list-content,\n.md-list > li > .md-list-content {\n overflow: hidden;\n}\n.md-list .uk-nestable-list > li > .md-list-content > span,\n.md-list > li > .md-list-content > span {\n display: block;\n}\n.md-list .uk-nestable-list > li > .md-list-content .md-list-heading,\n.md-list > li > .md-list-content .md-list-heading {\n margin: 0;\n font-weight: 500;\n display: block;\n overflow: hidden;\n padding-bottom: 1px;\n}\n.md-list .uk-nestable-list > li > .md-list-content .md-list-menu,\n.md-list > li > .md-list-content .md-list-menu {\n float: right;\n}\n.md-list .uk-nestable-list > li > .md-list-content .md-list-menu .md-list-menu-toggle,\n.md-list > li > .md-list-content .md-list-menu .md-list-menu-toggle {\n display: block;\n font-size: 18px;\n color: rgba(0, 0, 0, 0.8);\n width: 28px;\n height: 28px;\n line-height: 28px;\n border-radius: 14px;\n text-align: center;\n}\n.md-list .uk-nestable-list > li > .md-list-content .uk-badge,\n.md-list > li > .md-list-content .uk-badge {\n float: right;\n color: #fff !important;\n}\n.md-list .uk-nestable-list > li > .md-list-content .md-list-action,\n.md-list > li > .md-list-content .md-list-action {\n float: right;\n margin-left: 8px;\n margin-top: 2px;\n display: none;\n}\n.md-list .uk-nestable-list > li > .md-list-content .md-list-action-placeholder,\n.md-list > li > .md-list-content .md-list-action-placeholder {\n float: right;\n margin-left: 8px;\n display: none;\n width: 32px;\n height: 32px;\n}\n.md-list .uk-nestable-list > li .md-list-action-dropdown,\n.md-list > li .md-list-action-dropdown {\n position: absolute;\n right: 16px;\n top: 10px;\n display: none;\n}\n.md-list .uk-nestable-list > li > a.md-list-content,\n.md-list > li > a.md-list-content {\n display: block;\n color: #212121;\n}\n.md-list .uk-nestable-list > li:last-child,\n.md-list > li:last-child {\n border-bottom: none;\n}\n.md-list .uk-nestable-list > li.md-list-item-active,\n.md-list > li.md-list-item-active {\n color: #7cb342;\n background: #ededed;\n}\n.md-list .uk-nestable-list > li.md-list-item-disabled > .md-list-content,\n.md-list > li.md-list-item-disabled > .md-list-content {\n color: #bdbdbd;\n}\n.md-list .uk-nestable-list > li.md-list-item-disabled > .md-list-content span,\n.md-list > li.md-list-item-disabled > .md-list-content span {\n color: #bdbdbd !important;\n}\n.md-list .uk-nestable-list > li.heading_list,\n.md-list > li.heading_list {\n min-height: 32px;\n padding: 32px 8px 16px;\n border-bottom: none;\n background: transparent !important;\n text-transform: uppercase;\n}\n.uk-touch .md-list .uk-nestable-list > li > .md-list-addon-element .uk-nestable-handle,\n.uk-touch .md-list > li > .md-list-addon-element .uk-nestable-handle,\n.md-list .uk-nestable-list > li:hover > .md-list-addon-element .uk-nestable-handle,\n.md-list > li:hover > .md-list-addon-element .uk-nestable-handle {\n display: block;\n}\n.uk-touch .md-list .uk-nestable-list > li > .md-list-content .md-list-action,\n.uk-touch .md-list > li > .md-list-content .md-list-action,\n.md-list .uk-nestable-list > li:hover > .md-list-content .md-list-action,\n.md-list > li:hover > .md-list-content .md-list-action,\n.uk-touch .md-list .uk-nestable-list > li > .md-list-content .md-list-action-placeholder,\n.uk-touch .md-list > li > .md-list-content .md-list-action-placeholder,\n.md-list .uk-nestable-list > li:hover > .md-list-content .md-list-action-placeholder,\n.md-list > li:hover > .md-list-content .md-list-action-placeholder {\n display: block;\n}\n.uk-touch .md-list .uk-nestable-list > li .md-list-action-dropdown,\n.uk-touch .md-list > li .md-list-action-dropdown,\n.md-list .uk-nestable-list > li:hover .md-list-action-dropdown,\n.md-list > li:hover .md-list-action-dropdown {\n display: block;\n}\n.md-list .uk-nestable-list > li {\n margin-left: 64px;\n}\n.md-list-addon > li {\n margin-left: 64px;\n position: relative;\n}\n.md-list-addon > li:last-child .md-list-addon-element {\n border-bottom: none;\n bottom: 0;\n}\n.md-list-addon > li:first-child .md-list-addon-element {\n top: 0;\n}\n.md-list-addon > li.md-list-item-active .md-list-addon-element,\n.md-list-addon > li.md-list-item-active .md-list-addon-element .material-icons {\n color: #7cb342;\n}\n.md-list-addon-element {\n position: absolute;\n left: -64px;\n top: -1px;\n bottom: -1px;\n width: 64px;\n text-align: center;\n padding: 8px 0;\n display: block;\n}\n.md-list-addon-element .element-status {\n position: absolute;\n right: 12px;\n top: 10px;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: #bdbdbd;\n border: 1px solid #fff;\n}\n.md-list-addon-element .element-status-danger {\n background: #e53935;\n}\n.md-list-addon-element .element-status-success {\n background: #7cb342;\n}\n.md-list-addon-element .element-status-warning {\n background: #ffa000;\n}\n.md-list-addon-element > .md-list-addon-avatar {\n margin-top: 2px;\n}\n.md-list-addon-element > .md-list-addon-icon {\n font-size: 28px;\n margin-top: 4px;\n color: #727272;\n}\n.md-list-addon-element > .material-icons {\n margin-top: 6px;\n}\n.md-list-addon-element .iradio_md,\n.md-list-addon-element .icheckbox_md {\n margin-top: 10px;\n}\n.md-list-addon-element .uk-nestable-handle {\n position: absolute;\n left: -2px;\n top: 12px;\n display: none;\n}\n.md-list-interactive li {\n cursor: pointer;\n}\n.md-list-bg {\n background: #fff;\n}\n.md-list-separated li {\n background: #fff;\n padding: 8px;\n}\n.md-list-separated li + li {\n border-top: none;\n margin-top: 8px;\n}\n.md-list-bg-no-sep {\n background: #fff;\n padding: 8px;\n}\n.md-list-bg-no-sep li > .md-list-content {\n padding: 0 4px;\n}\n.md-list-outside > li {\n padding: 0;\n}\n.md-list-outside > li > .md-list-content {\n padding: 8px 16px;\n display: block;\n color: #212121;\n}\n.md-list-outside > li.md-list-item-active,\n.md-list-outside > li:hover:not(.heading_list) {\n background: rgba(0, 0, 0, 0.085);\n}\n.md-list-outside > li.heading_list {\n padding: 32px 16px 16px;\n}\n.md-list-outside.md-list-addon li {\n margin-left: 0;\n}\n.md-list-outside.md-list-addon li .md-list-addon-element {\n position: relative;\n top: auto;\n left: auto;\n float: left;\n}\n.md-list-outside.md-list-addon li .md-list-content {\n padding-left: 0;\n}\n.md-list .uk-nestable-list {\n padding-left: 0;\n}\n.md-list .uk-nestable-list .uk-nestable-item {\n padding-right: 0;\n}\n.md-list .uk-nestable-item + .uk-nestable-item {\n margin-top: 0;\n}\n.md-list-right.md-list-addon > li {\n margin-left: 0;\n margin-right: 64px;\n}\n.md-list-right.md-list-addon > li .md-list-addon-element {\n left: auto;\n right: -64px;\n}\n.md-list-borderless > li {\n border-bottom: none;\n}\n.uk-touch .md-list-addon-element .uk-nestable-handle {\n display: block !important;\n}\n.uk-touch .md-list-content .md-list-action,\n.uk-touch .md-list-content .md-list-action-placeholder {\n display: block !important;\n}\n.uk-touch .md-list-action-dropdown {\n display: block !important;\n}\n/* panels */\n.md-panel-full {\n position: relative;\n overflow: hidden;\n min-height: 100%;\n}\n.md-panel-full,\n.md-panel-full:before,\n.md-panel-full:after,\n.md-panel-full *,\n.md-panel-full *:before,\n.md-panel-full *:after {\n box-sizing: border-box;\n}\n.md-panel-full > .uk-grid {\n height: 100%;\n}\n.md-panel-full > .uk-grid [class*=uk-width] {\n height: 100%;\n}\n.md-panel-full .md-panel-full-aside {\n margin: 16px 16px 32px;\n padding: 16px;\n}\n.md-panel-full .md-panel-full-aside.md-panel-full-aside-bg {\n background: #fff;\n}\n.md-panel-full .md-panel-full-content {\n background: #fff;\n padding: 25px 25px 90px;\n width: inherit;\n min-width: 100%;\n min-height: 100%;\n}\n.md-panel-full .md-panel-full-content > .md-panel-full-content-inner {\n position: relative;\n z-index: 10;\n}\n.md-panel-full .md-panel-full-content:before {\n width: inherit;\n content: '';\n position: absolute;\n background: #fff;\n display: block;\n right: 0;\n top: 0;\n bottom: 0;\n box-shadow: -2px 2px 5px rgba(0, 0, 0, 0.26);\n z-index: 5;\n}\n.md-panel-full .md-panel-full-content .md-panel-full-content-header {\n margin-bottom: 24px;\n}\n.md-panel-full .md-panel-full-content .md-panel-full-content-header .md-panel-full-content-menu {\n float: right;\n}\n/* top bar */\n.md-top-bar .md-top-bar-checkbox {\n padding-top: 10px;\n}\n.md-top-bar .md-top-bar-icons {\n margin-top: 5px;\n}\n.md-top-bar .md-top-bar-icons,\n.md-top-bar .md-top-bar-checkbox {\n display: inline-block;\n}\n.md-top-bar .md-btn-group {\n margin-top: 4px;\n}\n.md-top-bar .md-top-bar-actions-left {\n float: left;\n padding-left: 16px;\n}\n.md-top-bar .md-top-bar-actions-left .md-btn-group {\n margin-left: 8px;\n}\n.md-top-bar .md-top-bar-actions-right {\n float: right;\n padding-right: 16px;\n}\n.md-top-bar .md-top-bar-actions-right .md-btn-group {\n margin-right: 8px;\n}\n.md-top-bar .md-btn-small {\n padding: 2px 12px;\n}\n/*** utils ***/\n/* avatar */\n.md-user-image {\n width: 34px;\n border-radius: 50%;\n}\n.md-user-image-large {\n width: 82px;\n border-radius: 50%;\n}\n.md-user-placeholder {\n background-color: rgba(0, 0, 0, 0.085);\n width: 34px;\n height: 34px;\n border-radius: 50%;\n}\n.md-user-letters {\n display: inline-block;\n line-height: 35px;\n width: 34px;\n height: 34px;\n border-radius: 50%;\n text-align: center;\n text-transform: uppercase;\n font-weight: 500;\n background-color: rgba(0, 0, 0, 0.085);\n}\n/* icons */\n.md-icon {\n font-size: 24px;\n line-height: 32px !important;\n height: 32px !important;\n color: #727272;\n border-radius: 50%;\n cursor: pointer;\n transition: background 280ms ease-out, color 280ms ease-out;\n width: 32px !important;\n text-align: center;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.md-icon:hover,\n.md-icon:focus,\n.md-icon:active,\n.md-icon.active {\n color: #212121;\n background: rgba(0, 0, 0, 0.08);\n}\n.md-icon-light {\n color: #fff;\n}\n.md-icon-light:hover,\n.md-icon-light:focus,\n.md-icon-light:active {\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n}\n.md-icon-dark {\n color: #212121;\n}\n.md-icon-dark:hover,\n.md-icon-dark:focus,\n.md-icon-dark:active {\n color: #212121;\n background: rgba(255, 255, 255, 0.6);\n}\n.md-icon + .md-icon {\n margin-left: 4px;\n}\n.md-icon-btn {\n display: inline-block;\n}\n.md-icon-btn.active .md-icon {\n color: #212121;\n background: rgba(0, 0, 0, 0.08);\n}\nbutton.md-icon {\n background: none;\n border: none;\n outline: none;\n}\n.uk-open .md-icon {\n color: #212121;\n background: rgba(0, 0, 0, 0.08);\n}\n.uk-open .md-icon-light {\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n}\n.uk-open .md-icon-dark {\n color: #212121;\n background: rgba(255, 255, 255, 0.6);\n}\n/* dropdown list */\n.md-list-inputs {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.md-list-inputs > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.md-list-inputs li + li {\n margin-top: 8px;\n}\n.md-list-inputs li .icheckbox_md {\n float: left;\n}\n.md-list-inputs li label {\n overflow: hidden;\n padding-left: 8px;\n display: block;\n cursor: pointer;\n}\n/* hr */\n.md-hr {\n margin: 32px 0;\n height: 0;\n border-top: 2px solid rgba(0, 0, 0, 0.12);\n}\n/* animated show */\n@-webkit-keyframes hierarchical_show {\n 0% {\n opacity: 0;\n transform: scale3d(0.2, 0.2, 2);\n }\n 50% {\n opacity: 1;\n }\n 100% {\n transform: scale3d(1, 1, 1);\n }\n}\n@keyframes hierarchical_show {\n 0% {\n opacity: 0;\n transform: scale3d(0.2, 0.2, 2);\n }\n 50% {\n opacity: 1;\n }\n 100% {\n transform: scale3d(1, 1, 1);\n }\n}\n.hierarchical_show {\n will-change: transform, opacity;\n}\n.hierarchical_show > * {\n visibility: hidden;\n}\n.hierarchical_show_inView > * {\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n -webkit-animation-duration: 700ms;\n animation-duration: 700ms;\n -webkit-animation-name: hierarchical_show;\n animation-name: hierarchical_show;\n visibility: visible;\n}\n@-webkit-keyframes hierarchical_slide {\n 0% {\n opacity: 0;\n transform: translate3d(0, 160%, 0);\n }\n 33% {\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 0, 0);\n }\n}\n@keyframes hierarchical_slide {\n 0% {\n opacity: 0;\n transform: translate3d(0, 160%, 0);\n }\n 33% {\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 0, 0);\n }\n}\n.hierarchical_slide {\n will-change: transform, opacity;\n}\n.hierarchical_slide > * {\n visibility: hidden;\n}\n.hierarchical_slide_inView > * {\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n -webkit-animation-duration: 700ms;\n animation-duration: 700ms;\n -webkit-animation-name: hierarchical_slide;\n animation-name: hierarchical_slide;\n visibility: visible;\n}\n.fast_animation {\n -webkit-animation-duration: 350ms;\n animation-duration: 350ms;\n}\n/* 5. partials (header,sidebars,top bar) ============= */\n/* 6. altair landing page styles ===================== */\nhtml {\n background: #fff;\n}\nbody {\n font: 400 15px / 1.42857143 \"Roboto\", sans-serif;\n box-sizing: border-box;\n overflow-x: hidden;\n}\n/*html, body {\n height: 100%;\n}*/\na,\nbutton {\n outline: none !important;\n}\na {\n color: #1e88e5;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\na:hover,\na:active {\n color: #0d47a1;\n text-decoration: none;\n}\n.uk-text-upper {\n text-transform: uppercase;\n}\n.animate > * {\n visibility: hidden;\n}\n.animated {\n visibility: visible;\n}\n[class*=uk-animation-] {\n -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n -webkit-animation-duration: 840ms;\n animation-duration: 840ms;\n}\n.heading_a {\n margin: 0;\n font: 300 42px / 48px \"Roboto\", sans-serif;\n}\n.heading_a .sub-heading {\n font-weight: 300;\n font-size: 24px;\n line-height: 30px;\n display: block;\n padding-top: 10px;\n}\n@media only screen and (max-width: 959px) {\n .heading_a {\n font: 300 32px / 36px \"Roboto\", sans-serif;\n }\n .heading_a .sub-heading {\n font-size: 20px;\n line-height: 24px;\n }\n}\n.heading_b {\n margin: 0;\n font: 300 32px / 36px \"Roboto\", sans-serif;\n}\n.heading_b .sub-heading {\n font-weight: 300;\n font-size: 20px;\n line-height: 26px;\n display: block;\n padding-top: 10px;\n}\n@media only screen and (max-width: 959px) {\n .heading_b {\n font: 300 28px / 32px \"Roboto\", sans-serif;\n }\n .heading_b .sub-heading {\n font-size: 18px;\n line-height: 22px;\n }\n}\n.heading_c {\n margin: 0;\n font: 400 24px / 28px \"Roboto\", sans-serif;\n}\n.heading_c .sub-heading {\n font-weight: 300;\n font-size: 18px;\n line-height: 20px;\n display: block;\n padding-top: 10px;\n}\n@media only screen and (max-width: 959px) {\n .heading_c {\n font: 300 22px / 25px \"Roboto\", sans-serif;\n }\n .heading_c .sub-heading {\n font-size: 16px;\n line-height: 20px;\n }\n}\n.heading_a + .uk-grid,\n.heading_b + .uk-grid,\n.heading_c + .uk-grid {\n margin-top: 24px;\n}\n.heading_a .material-icons,\n.heading_b .material-icons,\n.heading_c .material-icons {\n vertical-align: middle;\n}\n.heading_light,\n.heading_light .sub-heading {\n color: #fff;\n}\n.icon_large {\n font-size: 64px;\n}\n@media only screen and (max-width: 959px) {\n .icon_large {\n font-size: 48px;\n }\n}\n.icon_dark {\n color: #727272;\n}\n#header_main {\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n position: relative;\n z-index: 10;\n}\n#header_main .uk-navbar {\n background: #fff;\n}\n#header_main .uk-navbar-nav > li > a {\n color: #727272;\n text-transform: uppercase;\n font-size: 14px;\n font-family: \"Roboto\", sans-serif;\n font-weight: 500;\n box-shadow: inset 0 -4px 0 rgba(255, 255, 255, 0);\n background: none !important;\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n#header_main .uk-navbar-nav > li > a:hover,\n#header_main .uk-navbar-nav > li > a:active {\n color: #727272;\n}\n#header_main .uk-navbar-nav > li.current_active a {\n box-shadow: inset 0 -4px 0 #7cb342;\n}\n#header_main.header-light {\n background: #fff;\n}\n#header_main .header_cta {\n margin-top: 14px;\n}\n@media only screen and (max-width: 959px) {\n #header_main .header_cta {\n margin-top: 6px;\n }\n}\n#mobile_navigation_toggle {\n display: none;\n}\n#mobile_navigation .uk-offcanvas-bar {\n background: #fff;\n box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.26);\n transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n#mobile_navigation .uk-offcanvas-bar:after {\n display: none;\n}\n#mobile_navigation .uk-offcanvas-bar ul {\n margin: 32px 0 0 0;\n padding: 0;\n list-style: none;\n}\n#mobile_navigation .uk-offcanvas-bar ul > li {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n#mobile_navigation .uk-offcanvas-bar ul li a {\n display: block;\n font-size: 16px;\n font-weight: 500;\n line-height: 25px;\n padding: 8px 20px;\n color: #212121;\n}\n#mobile_navigation .uk-offcanvas-bar ul li a small {\n font-size: 12px;\n color: #727272;\n display: block;\n margin-top: -2px;\n}\n#mobile_navigation .uk-offcanvas-bar ul li a .menu_icon {\n width: 48px;\n text-align: left;\n display: inline-block;\n color: #727272;\n float: left;\n}\n#mobile_navigation .uk-offcanvas-bar ul li a .menu_icon .material-icons {\n font-size: 24px;\n vertical-align: top;\n}\n#mobile_navigation .uk-offcanvas-bar ul li a .menu_title {\n display: block;\n overflow: hidden;\n}\n.uk-offcanvas-page {\n transition: margin 280ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.header_sticky {\n padding-top: 64px;\n}\n@media only screen and (max-width: 959px) {\n .header_sticky {\n padding-top: 48px;\n }\n}\n.header_sticky #header_main {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: 1000;\n}\n.header_shadow #header_main {\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);\n}\n.banner {\n color: #fff;\n position: relative;\n}\n.banner .uk-slideshow,\n.banner .uk-slideshow > li {\n height: 640px;\n}\n.banner .uk-slideshow > li {\n background-size: 100% auto;\n background-position: center center;\n background-repeat: no-repeat;\n}\n.banner .uk-slideshow > li .slide_content_a {\n margin: 160px 0 0 640px;\n}\n.banner .uk-slideshow > li .slide_content_b {\n margin: 320px 0 0 0;\n background: rgba(0, 0, 0, 0.4);\n padding: 24px;\n}\n.banner .uk-slideshow > li .slide_content_c {\n margin: 120px 540px 0 0;\n}\n.banner .uk-slideshow > li .slide_content_c .slide_header,\n.banner .uk-slideshow > li .slide_content_c p {\n color: #212121;\n}\n.banner .uk-slideshow > li .slide_header {\n color: #fff;\n font: 400 38px / 42px \"Roboto\", sans-serif;\n margin: 0 0 18px;\n}\n.banner .uk-slideshow > li p {\n margin: 0;\n font-size: 20px;\n font-weight: 300;\n}\n.banner .uk-slideshow > li p + * {\n margin-top: 32px;\n}\n.banner .slide_navigation {\n display: none;\n}\n.banner:hover .slide_navigation {\n display: block;\n}\n.uk-touch .slide_navigation {\n display: block !important;\n}\n.uk-slidenav {\n position: absolute;\n top: 50%;\n margin-top: -30px;\n color: #fff !important;\n background: rgba(0, 0, 0, 0.2);\n border-radius: 12px;\n font-size: 48px;\n transition: all 280ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.uk-slidenav-previous {\n left: 16px;\n}\n.uk-slidenav-previous:before {\n position: relative;\n left: -2px;\n top: -2px;\n}\n.uk-slidenav-next {\n right: 16px;\n}\n.uk-slidenav-next:before {\n position: relative;\n right: -2px;\n top: -2px;\n}\n.uk-slidenav:active,\n.uk-slidenav:hover {\n background: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n}\n.uk-dotnav > li {\n border: 2px solid rgba(255, 255, 255, 0.8);\n padding: 2px;\n margin-right: 6px;\n border-radius: 50%;\n}\n.uk-dotnav > li.uk-active {\n border-color: #fff;\n}\n.uk-dotnav > li.uk-active > a {\n background: #7cb342;\n}\n.uk-dotnav > li > a {\n margin: 0;\n width: 14px;\n height: 14px;\n}\n.section {\n padding: 48px 0;\n position: relative;\n}\n.section_large {\n padding: 64px 0;\n}\n.section_dark {\n color: #fff;\n}\n.section_gallery {\n position: relative;\n}\n.section_gallery .slide_navigation {\n display: none;\n}\n.section_gallery:hover .slide_navigation {\n display: block;\n}\n[class*=uk-width].uk-container-center {\n float: none;\n}\n@media only screen and (max-width: 1219px) {\n .banner .uk-slideshow,\n .banner .uk-slideshow > li {\n height: auto;\n min-height: 360px;\n }\n .banner .uk-slideshow > li .slide_content_a,\n .banner .uk-slideshow > li .slide_content_b,\n .banner .uk-slideshow > li .slide_content_c {\n margin: 0;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n padding: 48px 48px 0;\n text-align: center;\n }\n .banner .uk-slideshow > li .slide_header {\n margin-bottom: 20px;\n color: #fff !important;\n }\n .banner .uk-slideshow > li p {\n font-size: 20px;\n color: #fff !important;\n }\n .banner .uk-slideshow > li p + * {\n margin-top: 24px;\n }\n}\n@media only screen and (max-width: 959px) {\n #header_main {\n height: 48px;\n }\n #header_main .uk-navbar-brand {\n line-height: 48px;\n padding: 0;\n }\n #main_navigation {\n display: none;\n }\n #mobile_navigation_toggle {\n padding: 12px 4px 10px;\n display: inline-block;\n }\n #mobile_navigation_toggle i {\n font-size: 24px;\n }\n}\n@media only screen and (max-width: 767px) {\n .banner .uk-slideshow > li {\n background-size: auto 100%;\n }\n .banner .uk-slideshow > li .slide_content_a,\n .banner .uk-slideshow > li .slide_content_b,\n .banner .uk-slideshow > li .slide_content_c {\n margin: 0;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n padding: 24px 12px;\n text-align: center;\n }\n .banner .uk-slideshow > li .slide_header {\n font: 400 24px / 28px \"Roboto\", sans-serif;\n margin-bottom: 6px;\n color: #fff !important;\n }\n .banner .uk-slideshow > li p {\n font-size: 15px;\n color: #fff !important;\n }\n .banner .uk-slideshow > li p + * {\n margin-top: 24px;\n }\n .uk-container {\n padding-left: 15px;\n padding-right: 15px;\n }\n}\n/* theme */\n\n/*# sourceMappingURL=main.css.map */\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"sourceRoot":"../less/"} \ No newline at end of file diff --git a/assets/icons/material-design-icons/MaterialIcons-Regular.eot b/assets/icons/material-design-icons/MaterialIcons-Regular.eot new file mode 100644 index 0000000..70508eb Binary files /dev/null and b/assets/icons/material-design-icons/MaterialIcons-Regular.eot differ diff --git a/assets/icons/material-design-icons/MaterialIcons-Regular.ijmap b/assets/icons/material-design-icons/MaterialIcons-Regular.ijmap new file mode 100644 index 0000000..d9f1d25 --- /dev/null +++ b/assets/icons/material-design-icons/MaterialIcons-Regular.ijmap @@ -0,0 +1 @@ +{"icons":{"e84d":{"name":"3d Rotation"},"eb3b":{"name":"Ac Unit"},"e190":{"name":"Access Alarm"},"e191":{"name":"Access Alarms"},"e192":{"name":"Access Time"},"e84e":{"name":"Accessibility"},"e914":{"name":"Accessible"},"e84f":{"name":"Account Balance"},"e850":{"name":"Account Balance Wallet"},"e851":{"name":"Account Box"},"e853":{"name":"Account Circle"},"e60e":{"name":"Adb"},"e145":{"name":"Add"},"e439":{"name":"Add A Photo"},"e193":{"name":"Add Alarm"},"e003":{"name":"Add Alert"},"e146":{"name":"Add Box"},"e147":{"name":"Add Circle"},"e148":{"name":"Add Circle Outline"},"e567":{"name":"Add Location"},"e854":{"name":"Add Shopping Cart"},"e39d":{"name":"Add To Photos"},"e05c":{"name":"Add To Queue"},"e39e":{"name":"Adjust"},"e630":{"name":"Airline Seat Flat"},"e631":{"name":"Airline Seat Flat Angled"},"e632":{"name":"Airline Seat Individual Suite"},"e633":{"name":"Airline Seat Legroom Extra"},"e634":{"name":"Airline Seat Legroom Normal"},"e635":{"name":"Airline Seat Legroom Reduced"},"e636":{"name":"Airline Seat Recline Extra"},"e637":{"name":"Airline Seat Recline Normal"},"e195":{"name":"Airplanemode Active"},"e194":{"name":"Airplanemode Inactive"},"e055":{"name":"Airplay"},"eb3c":{"name":"Airport Shuttle"},"e855":{"name":"Alarm"},"e856":{"name":"Alarm Add"},"e857":{"name":"Alarm Off"},"e858":{"name":"Alarm On"},"e019":{"name":"Album"},"eb3d":{"name":"All Inclusive"},"e90b":{"name":"All Out"},"e859":{"name":"Android"},"e85a":{"name":"Announcement"},"e5c3":{"name":"Apps"},"e149":{"name":"Archive"},"e5c4":{"name":"Arrow Back"},"e5db":{"name":"Arrow Downward"},"e5c5":{"name":"Arrow Drop Down"},"e5c6":{"name":"Arrow Drop Down Circle"},"e5c7":{"name":"Arrow Drop Up"},"e5c8":{"name":"Arrow Forward"},"e5d8":{"name":"Arrow Upward"},"e060":{"name":"Art Track"},"e85b":{"name":"Aspect Ratio"},"e85c":{"name":"Assessment"},"e85d":{"name":"Assignment"},"e85e":{"name":"Assignment Ind"},"e85f":{"name":"Assignment Late"},"e860":{"name":"Assignment Return"},"e861":{"name":"Assignment Returned"},"e862":{"name":"Assignment Turned In"},"e39f":{"name":"Assistant"},"e3a0":{"name":"Assistant Photo"},"e226":{"name":"Attach File"},"e227":{"name":"Attach Money"},"e2bc":{"name":"Attachment"},"e3a1":{"name":"Audiotrack"},"e863":{"name":"Autorenew"},"e01b":{"name":"Av Timer"},"e14a":{"name":"Backspace"},"e864":{"name":"Backup"},"e19c":{"name":"Battery Alert"},"e1a3":{"name":"Battery Charging Full"},"e1a4":{"name":"Battery Full"},"e1a5":{"name":"Battery Std"},"e1a6":{"name":"Battery Unknown"},"eb3e":{"name":"Beach Access"},"e52d":{"name":"Beenhere"},"e14b":{"name":"Block"},"e1a7":{"name":"Bluetooth"},"e60f":{"name":"Bluetooth Audio"},"e1a8":{"name":"Bluetooth Connected"},"e1a9":{"name":"Bluetooth Disabled"},"e1aa":{"name":"Bluetooth Searching"},"e3a2":{"name":"Blur Circular"},"e3a3":{"name":"Blur Linear"},"e3a4":{"name":"Blur Off"},"e3a5":{"name":"Blur On"},"e865":{"name":"Book"},"e866":{"name":"Bookmark"},"e867":{"name":"Bookmark Border"},"e228":{"name":"Border All"},"e229":{"name":"Border Bottom"},"e22a":{"name":"Border Clear"},"e22b":{"name":"Border Color"},"e22c":{"name":"Border Horizontal"},"e22d":{"name":"Border Inner"},"e22e":{"name":"Border Left"},"e22f":{"name":"Border Outer"},"e230":{"name":"Border Right"},"e231":{"name":"Border Style"},"e232":{"name":"Border Top"},"e233":{"name":"Border Vertical"},"e06b":{"name":"Branding Watermark"},"e3a6":{"name":"Brightness 1"},"e3a7":{"name":"Brightness 2"},"e3a8":{"name":"Brightness 3"},"e3a9":{"name":"Brightness 4"},"e3aa":{"name":"Brightness 5"},"e3ab":{"name":"Brightness 6"},"e3ac":{"name":"Brightness 7"},"e1ab":{"name":"Brightness Auto"},"e1ac":{"name":"Brightness High"},"e1ad":{"name":"Brightness Low"},"e1ae":{"name":"Brightness Medium"},"e3ad":{"name":"Broken Image"},"e3ae":{"name":"Brush"},"e6dd":{"name":"Bubble Chart"},"e868":{"name":"Bug Report"},"e869":{"name":"Build"},"e43c":{"name":"Burst Mode"},"e0af":{"name":"Business"},"eb3f":{"name":"Business Center"},"e86a":{"name":"Cached"},"e7e9":{"name":"Cake"},"e0b0":{"name":"Call"},"e0b1":{"name":"Call End"},"e0b2":{"name":"Call Made"},"e0b3":{"name":"Call Merge"},"e0b4":{"name":"Call Missed"},"e0e4":{"name":"Call Missed Outgoing"},"e0b5":{"name":"Call Received"},"e0b6":{"name":"Call Split"},"e06c":{"name":"Call To Action"},"e3af":{"name":"Camera"},"e3b0":{"name":"Camera Alt"},"e8fc":{"name":"Camera Enhance"},"e3b1":{"name":"Camera Front"},"e3b2":{"name":"Camera Rear"},"e3b3":{"name":"Camera Roll"},"e5c9":{"name":"Cancel"},"e8f6":{"name":"Card Giftcard"},"e8f7":{"name":"Card Membership"},"e8f8":{"name":"Card Travel"},"eb40":{"name":"Casino"},"e307":{"name":"Cast"},"e308":{"name":"Cast Connected"},"e3b4":{"name":"Center Focus Strong"},"e3b5":{"name":"Center Focus Weak"},"e86b":{"name":"Change History"},"e0b7":{"name":"Chat"},"e0ca":{"name":"Chat Bubble"},"e0cb":{"name":"Chat Bubble Outline"},"e5ca":{"name":"Check"},"e834":{"name":"Check Box"},"e835":{"name":"Check Box Outline Blank"},"e86c":{"name":"Check Circle"},"e5cb":{"name":"Chevron Left"},"e5cc":{"name":"Chevron Right"},"eb41":{"name":"Child Care"},"eb42":{"name":"Child Friendly"},"e86d":{"name":"Chrome Reader Mode"},"e86e":{"name":"Class"},"e14c":{"name":"Clear"},"e0b8":{"name":"Clear All"},"e5cd":{"name":"Close"},"e01c":{"name":"Closed Caption"},"e2bd":{"name":"Cloud"},"e2be":{"name":"Cloud Circle"},"e2bf":{"name":"Cloud Done"},"e2c0":{"name":"Cloud Download"},"e2c1":{"name":"Cloud Off"},"e2c2":{"name":"Cloud Queue"},"e2c3":{"name":"Cloud Upload"},"e86f":{"name":"Code"},"e3b6":{"name":"Collections"},"e431":{"name":"Collections Bookmark"},"e3b7":{"name":"Color Lens"},"e3b8":{"name":"Colorize"},"e0b9":{"name":"Comment"},"e3b9":{"name":"Compare"},"e915":{"name":"Compare Arrows"},"e30a":{"name":"Computer"},"e638":{"name":"Confirmation Number"},"e0d0":{"name":"Contact Mail"},"e0cf":{"name":"Contact Phone"},"e0ba":{"name":"Contacts"},"e14d":{"name":"Content Copy"},"e14e":{"name":"Content Cut"},"e14f":{"name":"Content Paste"},"e3ba":{"name":"Control Point"},"e3bb":{"name":"Control Point Duplicate"},"e90c":{"name":"Copyright"},"e150":{"name":"Create"},"e2cc":{"name":"Create New Folder"},"e870":{"name":"Credit Card"},"e3be":{"name":"Crop"},"e3bc":{"name":"Crop 16 9"},"e3bd":{"name":"Crop 3 2"},"e3bf":{"name":"Crop 5 4"},"e3c0":{"name":"Crop 7 5"},"e3c1":{"name":"Crop Din"},"e3c2":{"name":"Crop Free"},"e3c3":{"name":"Crop Landscape"},"e3c4":{"name":"Crop Original"},"e3c5":{"name":"Crop Portrait"},"e437":{"name":"Crop Rotate"},"e3c6":{"name":"Crop Square"},"e871":{"name":"Dashboard"},"e1af":{"name":"Data Usage"},"e916":{"name":"Date Range"},"e3c7":{"name":"Dehaze"},"e872":{"name":"Delete"},"e92b":{"name":"Delete Forever"},"e16c":{"name":"Delete Sweep"},"e873":{"name":"Description"},"e30b":{"name":"Desktop Mac"},"e30c":{"name":"Desktop Windows"},"e3c8":{"name":"Details"},"e30d":{"name":"Developer Board"},"e1b0":{"name":"Developer Mode"},"e335":{"name":"Device Hub"},"e1b1":{"name":"Devices"},"e337":{"name":"Devices Other"},"e0bb":{"name":"Dialer Sip"},"e0bc":{"name":"Dialpad"},"e52e":{"name":"Directions"},"e52f":{"name":"Directions Bike"},"e532":{"name":"Directions Boat"},"e530":{"name":"Directions Bus"},"e531":{"name":"Directions Car"},"e534":{"name":"Directions Railway"},"e566":{"name":"Directions Run"},"e533":{"name":"Directions Subway"},"e535":{"name":"Directions Transit"},"e536":{"name":"Directions Walk"},"e610":{"name":"Disc Full"},"e875":{"name":"Dns"},"e612":{"name":"Do Not Disturb"},"e611":{"name":"Do Not Disturb Alt"},"e643":{"name":"Do Not Disturb Off"},"e644":{"name":"Do Not Disturb On"},"e30e":{"name":"Dock"},"e7ee":{"name":"Domain"},"e876":{"name":"Done"},"e877":{"name":"Done All"},"e917":{"name":"Donut Large"},"e918":{"name":"Donut Small"},"e151":{"name":"Drafts"},"e25d":{"name":"Drag Handle"},"e613":{"name":"Drive Eta"},"e1b2":{"name":"Dvr"},"e3c9":{"name":"Edit"},"e568":{"name":"Edit Location"},"e8fb":{"name":"Eject"},"e0be":{"name":"Email"},"e63f":{"name":"Enhanced Encryption"},"e01d":{"name":"Equalizer"},"e000":{"name":"Error"},"e001":{"name":"Error Outline"},"e926":{"name":"Euro Symbol"},"e56d":{"name":"Ev Station"},"e878":{"name":"Event"},"e614":{"name":"Event Available"},"e615":{"name":"Event Busy"},"e616":{"name":"Event Note"},"e903":{"name":"Event Seat"},"e879":{"name":"Exit To App"},"e5ce":{"name":"Expand Less"},"e5cf":{"name":"Expand More"},"e01e":{"name":"Explicit"},"e87a":{"name":"Explore"},"e3ca":{"name":"Exposure"},"e3cb":{"name":"Exposure Neg 1"},"e3cc":{"name":"Exposure Neg 2"},"e3cd":{"name":"Exposure Plus 1"},"e3ce":{"name":"Exposure Plus 2"},"e3cf":{"name":"Exposure Zero"},"e87b":{"name":"Extension"},"e87c":{"name":"Face"},"e01f":{"name":"Fast Forward"},"e020":{"name":"Fast Rewind"},"e87d":{"name":"Favorite"},"e87e":{"name":"Favorite Border"},"e06d":{"name":"Featured Play List"},"e06e":{"name":"Featured Video"},"e87f":{"name":"Feedback"},"e05d":{"name":"Fiber Dvr"},"e061":{"name":"Fiber Manual Record"},"e05e":{"name":"Fiber New"},"e06a":{"name":"Fiber Pin"},"e062":{"name":"Fiber Smart Record"},"e2c4":{"name":"File Download"},"e2c6":{"name":"File Upload"},"e3d3":{"name":"Filter"},"e3d0":{"name":"Filter 1"},"e3d1":{"name":"Filter 2"},"e3d2":{"name":"Filter 3"},"e3d4":{"name":"Filter 4"},"e3d5":{"name":"Filter 5"},"e3d6":{"name":"Filter 6"},"e3d7":{"name":"Filter 7"},"e3d8":{"name":"Filter 8"},"e3d9":{"name":"Filter 9"},"e3da":{"name":"Filter 9 Plus"},"e3db":{"name":"Filter B And W"},"e3dc":{"name":"Filter Center Focus"},"e3dd":{"name":"Filter Drama"},"e3de":{"name":"Filter Frames"},"e3df":{"name":"Filter Hdr"},"e152":{"name":"Filter List"},"e3e0":{"name":"Filter None"},"e3e2":{"name":"Filter Tilt Shift"},"e3e3":{"name":"Filter Vintage"},"e880":{"name":"Find In Page"},"e881":{"name":"Find Replace"},"e90d":{"name":"Fingerprint"},"e5dc":{"name":"First Page"},"eb43":{"name":"Fitness Center"},"e153":{"name":"Flag"},"e3e4":{"name":"Flare"},"e3e5":{"name":"Flash Auto"},"e3e6":{"name":"Flash Off"},"e3e7":{"name":"Flash On"},"e539":{"name":"Flight"},"e904":{"name":"Flight Land"},"e905":{"name":"Flight Takeoff"},"e3e8":{"name":"Flip"},"e882":{"name":"Flip To Back"},"e883":{"name":"Flip To Front"},"e2c7":{"name":"Folder"},"e2c8":{"name":"Folder Open"},"e2c9":{"name":"Folder Shared"},"e617":{"name":"Folder Special"},"e167":{"name":"Font Download"},"e234":{"name":"Format Align Center"},"e235":{"name":"Format Align Justify"},"e236":{"name":"Format Align Left"},"e237":{"name":"Format Align Right"},"e238":{"name":"Format Bold"},"e239":{"name":"Format Clear"},"e23a":{"name":"Format Color Fill"},"e23b":{"name":"Format Color Reset"},"e23c":{"name":"Format Color Text"},"e23d":{"name":"Format Indent Decrease"},"e23e":{"name":"Format Indent Increase"},"e23f":{"name":"Format Italic"},"e240":{"name":"Format Line Spacing"},"e241":{"name":"Format List Bulleted"},"e242":{"name":"Format List Numbered"},"e243":{"name":"Format Paint"},"e244":{"name":"Format Quote"},"e25e":{"name":"Format Shapes"},"e245":{"name":"Format Size"},"e246":{"name":"Format Strikethrough"},"e247":{"name":"Format Textdirection L To R"},"e248":{"name":"Format Textdirection R To L"},"e249":{"name":"Format Underlined"},"e0bf":{"name":"Forum"},"e154":{"name":"Forward"},"e056":{"name":"Forward 10"},"e057":{"name":"Forward 30"},"e058":{"name":"Forward 5"},"eb44":{"name":"Free Breakfast"},"e5d0":{"name":"Fullscreen"},"e5d1":{"name":"Fullscreen Exit"},"e24a":{"name":"Functions"},"e927":{"name":"G Translate"},"e30f":{"name":"Gamepad"},"e021":{"name":"Games"},"e90e":{"name":"Gavel"},"e155":{"name":"Gesture"},"e884":{"name":"Get App"},"e908":{"name":"Gif"},"eb45":{"name":"Golf Course"},"e1b3":{"name":"Gps Fixed"},"e1b4":{"name":"Gps Not Fixed"},"e1b5":{"name":"Gps Off"},"e885":{"name":"Grade"},"e3e9":{"name":"Gradient"},"e3ea":{"name":"Grain"},"e1b8":{"name":"Graphic Eq"},"e3eb":{"name":"Grid Off"},"e3ec":{"name":"Grid On"},"e7ef":{"name":"Group"},"e7f0":{"name":"Group Add"},"e886":{"name":"Group Work"},"e052":{"name":"Hd"},"e3ed":{"name":"Hdr Off"},"e3ee":{"name":"Hdr On"},"e3f1":{"name":"Hdr Strong"},"e3f2":{"name":"Hdr Weak"},"e310":{"name":"Headset"},"e311":{"name":"Headset Mic"},"e3f3":{"name":"Healing"},"e023":{"name":"Hearing"},"e887":{"name":"Help"},"e8fd":{"name":"Help Outline"},"e024":{"name":"High Quality"},"e25f":{"name":"Highlight"},"e888":{"name":"Highlight Off"},"e889":{"name":"History"},"e88a":{"name":"Home"},"eb46":{"name":"Hot Tub"},"e53a":{"name":"Hotel"},"e88b":{"name":"Hourglass Empty"},"e88c":{"name":"Hourglass Full"},"e902":{"name":"Http"},"e88d":{"name":"Https"},"e3f4":{"name":"Image"},"e3f5":{"name":"Image Aspect Ratio"},"e0e0":{"name":"Import Contacts"},"e0c3":{"name":"Import Export"},"e912":{"name":"Important Devices"},"e156":{"name":"Inbox"},"e909":{"name":"Indeterminate Check Box"},"e88e":{"name":"Info"},"e88f":{"name":"Info Outline"},"e890":{"name":"Input"},"e24b":{"name":"Insert Chart"},"e24c":{"name":"Insert Comment"},"e24d":{"name":"Insert Drive File"},"e24e":{"name":"Insert Emoticon"},"e24f":{"name":"Insert Invitation"},"e250":{"name":"Insert Link"},"e251":{"name":"Insert Photo"},"e891":{"name":"Invert Colors"},"e0c4":{"name":"Invert Colors Off"},"e3f6":{"name":"Iso"},"e312":{"name":"Keyboard"},"e313":{"name":"Keyboard Arrow Down"},"e314":{"name":"Keyboard Arrow Left"},"e315":{"name":"Keyboard Arrow Right"},"e316":{"name":"Keyboard Arrow Up"},"e317":{"name":"Keyboard Backspace"},"e318":{"name":"Keyboard Capslock"},"e31a":{"name":"Keyboard Hide"},"e31b":{"name":"Keyboard Return"},"e31c":{"name":"Keyboard Tab"},"e31d":{"name":"Keyboard Voice"},"eb47":{"name":"Kitchen"},"e892":{"name":"Label"},"e893":{"name":"Label Outline"},"e3f7":{"name":"Landscape"},"e894":{"name":"Language"},"e31e":{"name":"Laptop"},"e31f":{"name":"Laptop Chromebook"},"e320":{"name":"Laptop Mac"},"e321":{"name":"Laptop Windows"},"e5dd":{"name":"Last Page"},"e895":{"name":"Launch"},"e53b":{"name":"Layers"},"e53c":{"name":"Layers Clear"},"e3f8":{"name":"Leak Add"},"e3f9":{"name":"Leak Remove"},"e3fa":{"name":"Lens"},"e02e":{"name":"Library Add"},"e02f":{"name":"Library Books"},"e030":{"name":"Library Music"},"e90f":{"name":"Lightbulb Outline"},"e919":{"name":"Line Style"},"e91a":{"name":"Line Weight"},"e260":{"name":"Linear Scale"},"e157":{"name":"Link"},"e438":{"name":"Linked Camera"},"e896":{"name":"List"},"e0c6":{"name":"Live Help"},"e639":{"name":"Live Tv"},"e53f":{"name":"Local Activity"},"e53d":{"name":"Local Airport"},"e53e":{"name":"Local Atm"},"e540":{"name":"Local Bar"},"e541":{"name":"Local Cafe"},"e542":{"name":"Local Car Wash"},"e543":{"name":"Local Convenience Store"},"e556":{"name":"Local Dining"},"e544":{"name":"Local Drink"},"e545":{"name":"Local Florist"},"e546":{"name":"Local Gas Station"},"e547":{"name":"Local Grocery Store"},"e548":{"name":"Local Hospital"},"e549":{"name":"Local Hotel"},"e54a":{"name":"Local Laundry Service"},"e54b":{"name":"Local Library"},"e54c":{"name":"Local Mall"},"e54d":{"name":"Local Movies"},"e54e":{"name":"Local Offer"},"e54f":{"name":"Local Parking"},"e550":{"name":"Local Pharmacy"},"e551":{"name":"Local Phone"},"e552":{"name":"Local Pizza"},"e553":{"name":"Local Play"},"e554":{"name":"Local Post Office"},"e555":{"name":"Local Printshop"},"e557":{"name":"Local See"},"e558":{"name":"Local Shipping"},"e559":{"name":"Local Taxi"},"e7f1":{"name":"Location City"},"e1b6":{"name":"Location Disabled"},"e0c7":{"name":"Location Off"},"e0c8":{"name":"Location On"},"e1b7":{"name":"Location Searching"},"e897":{"name":"Lock"},"e898":{"name":"Lock Open"},"e899":{"name":"Lock Outline"},"e3fc":{"name":"Looks"},"e3fb":{"name":"Looks 3"},"e3fd":{"name":"Looks 4"},"e3fe":{"name":"Looks 5"},"e3ff":{"name":"Looks 6"},"e400":{"name":"Looks One"},"e401":{"name":"Looks Two"},"e028":{"name":"Loop"},"e402":{"name":"Loupe"},"e16d":{"name":"Low Priority"},"e89a":{"name":"Loyalty"},"e158":{"name":"Mail"},"e0e1":{"name":"Mail Outline"},"e55b":{"name":"Map"},"e159":{"name":"Markunread"},"e89b":{"name":"Markunread Mailbox"},"e322":{"name":"Memory"},"e5d2":{"name":"Menu"},"e252":{"name":"Merge Type"},"e0c9":{"name":"Message"},"e029":{"name":"Mic"},"e02a":{"name":"Mic None"},"e02b":{"name":"Mic Off"},"e618":{"name":"Mms"},"e253":{"name":"Mode Comment"},"e254":{"name":"Mode Edit"},"e263":{"name":"Monetization On"},"e25c":{"name":"Money Off"},"e403":{"name":"Monochrome Photos"},"e7f2":{"name":"Mood"},"e7f3":{"name":"Mood Bad"},"e619":{"name":"More"},"e5d3":{"name":"More Horiz"},"e5d4":{"name":"More Vert"},"e91b":{"name":"Motorcycle"},"e323":{"name":"Mouse"},"e168":{"name":"Move To Inbox"},"e02c":{"name":"Movie"},"e404":{"name":"Movie Creation"},"e43a":{"name":"Movie Filter"},"e6df":{"name":"Multiline Chart"},"e405":{"name":"Music Note"},"e063":{"name":"Music Video"},"e55c":{"name":"My Location"},"e406":{"name":"Nature"},"e407":{"name":"Nature People"},"e408":{"name":"Navigate Before"},"e409":{"name":"Navigate Next"},"e55d":{"name":"Navigation"},"e569":{"name":"Near Me"},"e1b9":{"name":"Network Cell"},"e640":{"name":"Network Check"},"e61a":{"name":"Network Locked"},"e1ba":{"name":"Network Wifi"},"e031":{"name":"New Releases"},"e16a":{"name":"Next Week"},"e1bb":{"name":"Nfc"},"e641":{"name":"No Encryption"},"e0cc":{"name":"No Sim"},"e033":{"name":"Not Interested"},"e06f":{"name":"Note"},"e89c":{"name":"Note Add"},"e7f4":{"name":"Notifications"},"e7f7":{"name":"Notifications Active"},"e7f5":{"name":"Notifications None"},"e7f6":{"name":"Notifications Off"},"e7f8":{"name":"Notifications Paused"},"e90a":{"name":"Offline Pin"},"e63a":{"name":"Ondemand Video"},"e91c":{"name":"Opacity"},"e89d":{"name":"Open In Browser"},"e89e":{"name":"Open In New"},"e89f":{"name":"Open With"},"e7f9":{"name":"Pages"},"e8a0":{"name":"Pageview"},"e40a":{"name":"Palette"},"e925":{"name":"Pan Tool"},"e40b":{"name":"Panorama"},"e40c":{"name":"Panorama Fish Eye"},"e40d":{"name":"Panorama Horizontal"},"e40e":{"name":"Panorama Vertical"},"e40f":{"name":"Panorama Wide Angle"},"e7fa":{"name":"Party Mode"},"e034":{"name":"Pause"},"e035":{"name":"Pause Circle Filled"},"e036":{"name":"Pause Circle Outline"},"e8a1":{"name":"Payment"},"e7fb":{"name":"People"},"e7fc":{"name":"People Outline"},"e8a2":{"name":"Perm Camera Mic"},"e8a3":{"name":"Perm Contact Calendar"},"e8a4":{"name":"Perm Data Setting"},"e8a5":{"name":"Perm Device Information"},"e8a6":{"name":"Perm Identity"},"e8a7":{"name":"Perm Media"},"e8a8":{"name":"Perm Phone Msg"},"e8a9":{"name":"Perm Scan Wifi"},"e7fd":{"name":"Person"},"e7fe":{"name":"Person Add"},"e7ff":{"name":"Person Outline"},"e55a":{"name":"Person Pin"},"e56a":{"name":"Person Pin Circle"},"e63b":{"name":"Personal Video"},"e91d":{"name":"Pets"},"e0cd":{"name":"Phone"},"e324":{"name":"Phone Android"},"e61b":{"name":"Phone Bluetooth Speaker"},"e61c":{"name":"Phone Forwarded"},"e61d":{"name":"Phone In Talk"},"e325":{"name":"Phone Iphone"},"e61e":{"name":"Phone Locked"},"e61f":{"name":"Phone Missed"},"e620":{"name":"Phone Paused"},"e326":{"name":"Phonelink"},"e0db":{"name":"Phonelink Erase"},"e0dc":{"name":"Phonelink Lock"},"e327":{"name":"Phonelink Off"},"e0dd":{"name":"Phonelink Ring"},"e0de":{"name":"Phonelink Setup"},"e410":{"name":"Photo"},"e411":{"name":"Photo Album"},"e412":{"name":"Photo Camera"},"e43b":{"name":"Photo Filter"},"e413":{"name":"Photo Library"},"e432":{"name":"Photo Size Select Actual"},"e433":{"name":"Photo Size Select Large"},"e434":{"name":"Photo Size Select Small"},"e415":{"name":"Picture As Pdf"},"e8aa":{"name":"Picture In Picture"},"e911":{"name":"Picture In Picture Alt"},"e6c4":{"name":"Pie Chart"},"e6c5":{"name":"Pie Chart Outlined"},"e55e":{"name":"Pin Drop"},"e55f":{"name":"Place"},"e037":{"name":"Play Arrow"},"e038":{"name":"Play Circle Filled"},"e039":{"name":"Play Circle Outline"},"e906":{"name":"Play For Work"},"e03b":{"name":"Playlist Add"},"e065":{"name":"Playlist Add Check"},"e05f":{"name":"Playlist Play"},"e800":{"name":"Plus One"},"e801":{"name":"Poll"},"e8ab":{"name":"Polymer"},"eb48":{"name":"Pool"},"e0ce":{"name":"Portable Wifi Off"},"e416":{"name":"Portrait"},"e63c":{"name":"Power"},"e336":{"name":"Power Input"},"e8ac":{"name":"Power Settings New"},"e91e":{"name":"Pregnant Woman"},"e0df":{"name":"Present To All"},"e8ad":{"name":"Print"},"e645":{"name":"Priority High"},"e80b":{"name":"Public"},"e255":{"name":"Publish"},"e8ae":{"name":"Query Builder"},"e8af":{"name":"Question Answer"},"e03c":{"name":"Queue"},"e03d":{"name":"Queue Music"},"e066":{"name":"Queue Play Next"},"e03e":{"name":"Radio"},"e837":{"name":"Radio Button Checked"},"e836":{"name":"Radio Button Unchecked"},"e560":{"name":"Rate Review"},"e8b0":{"name":"Receipt"},"e03f":{"name":"Recent Actors"},"e91f":{"name":"Record Voice Over"},"e8b1":{"name":"Redeem"},"e15a":{"name":"Redo"},"e5d5":{"name":"Refresh"},"e15b":{"name":"Remove"},"e15c":{"name":"Remove Circle"},"e15d":{"name":"Remove Circle Outline"},"e067":{"name":"Remove From Queue"},"e417":{"name":"Remove Red Eye"},"e928":{"name":"Remove Shopping Cart"},"e8fe":{"name":"Reorder"},"e040":{"name":"Repeat"},"e041":{"name":"Repeat One"},"e042":{"name":"Replay"},"e059":{"name":"Replay 10"},"e05a":{"name":"Replay 30"},"e05b":{"name":"Replay 5"},"e15e":{"name":"Reply"},"e15f":{"name":"Reply All"},"e160":{"name":"Report"},"e8b2":{"name":"Report Problem"},"e56c":{"name":"Restaurant"},"e561":{"name":"Restaurant Menu"},"e8b3":{"name":"Restore"},"e929":{"name":"Restore Page"},"e0d1":{"name":"Ring Volume"},"e8b4":{"name":"Room"},"eb49":{"name":"Room Service"},"e418":{"name":"Rotate 90 Degrees Ccw"},"e419":{"name":"Rotate Left"},"e41a":{"name":"Rotate Right"},"e920":{"name":"Rounded Corner"},"e328":{"name":"Router"},"e921":{"name":"Rowing"},"e0e5":{"name":"Rss Feed"},"e642":{"name":"Rv Hookup"},"e562":{"name":"Satellite"},"e161":{"name":"Save"},"e329":{"name":"Scanner"},"e8b5":{"name":"Schedule"},"e80c":{"name":"School"},"e1be":{"name":"Screen Lock Landscape"},"e1bf":{"name":"Screen Lock Portrait"},"e1c0":{"name":"Screen Lock Rotation"},"e1c1":{"name":"Screen Rotation"},"e0e2":{"name":"Screen Share"},"e623":{"name":"Sd Card"},"e1c2":{"name":"Sd Storage"},"e8b6":{"name":"Search"},"e32a":{"name":"Security"},"e162":{"name":"Select All"},"e163":{"name":"Send"},"e811":{"name":"Sentiment Dissatisfied"},"e812":{"name":"Sentiment Neutral"},"e813":{"name":"Sentiment Satisfied"},"e814":{"name":"Sentiment Very Dissatisfied"},"e815":{"name":"Sentiment Very Satisfied"},"e8b8":{"name":"Settings"},"e8b9":{"name":"Settings Applications"},"e8ba":{"name":"Settings Backup Restore"},"e8bb":{"name":"Settings Bluetooth"},"e8bd":{"name":"Settings Brightness"},"e8bc":{"name":"Settings Cell"},"e8be":{"name":"Settings Ethernet"},"e8bf":{"name":"Settings Input Antenna"},"e8c0":{"name":"Settings Input Component"},"e8c1":{"name":"Settings Input Composite"},"e8c2":{"name":"Settings Input Hdmi"},"e8c3":{"name":"Settings Input Svideo"},"e8c4":{"name":"Settings Overscan"},"e8c5":{"name":"Settings Phone"},"e8c6":{"name":"Settings Power"},"e8c7":{"name":"Settings Remote"},"e1c3":{"name":"Settings System Daydream"},"e8c8":{"name":"Settings Voice"},"e80d":{"name":"Share"},"e8c9":{"name":"Shop"},"e8ca":{"name":"Shop Two"},"e8cb":{"name":"Shopping Basket"},"e8cc":{"name":"Shopping Cart"},"e261":{"name":"Short Text"},"e6e1":{"name":"Show Chart"},"e043":{"name":"Shuffle"},"e1c8":{"name":"Signal Cellular 4 Bar"},"e1cd":{"name":"Signal Cellular Connected No Internet 4 Bar"},"e1ce":{"name":"Signal Cellular No Sim"},"e1cf":{"name":"Signal Cellular Null"},"e1d0":{"name":"Signal Cellular Off"},"e1d8":{"name":"Signal Wifi 4 Bar"},"e1d9":{"name":"Signal Wifi 4 Bar Lock"},"e1da":{"name":"Signal Wifi Off"},"e32b":{"name":"Sim Card"},"e624":{"name":"Sim Card Alert"},"e044":{"name":"Skip Next"},"e045":{"name":"Skip Previous"},"e41b":{"name":"Slideshow"},"e068":{"name":"Slow Motion Video"},"e32c":{"name":"Smartphone"},"eb4a":{"name":"Smoke Free"},"eb4b":{"name":"Smoking Rooms"},"e625":{"name":"Sms"},"e626":{"name":"Sms Failed"},"e046":{"name":"Snooze"},"e164":{"name":"Sort"},"e053":{"name":"Sort By Alpha"},"eb4c":{"name":"Spa"},"e256":{"name":"Space Bar"},"e32d":{"name":"Speaker"},"e32e":{"name":"Speaker Group"},"e8cd":{"name":"Speaker Notes"},"e92a":{"name":"Speaker Notes Off"},"e0d2":{"name":"Speaker Phone"},"e8ce":{"name":"Spellcheck"},"e838":{"name":"Star"},"e83a":{"name":"Star Border"},"e839":{"name":"Star Half"},"e8d0":{"name":"Stars"},"e0d3":{"name":"Stay Current Landscape"},"e0d4":{"name":"Stay Current Portrait"},"e0d5":{"name":"Stay Primary Landscape"},"e0d6":{"name":"Stay Primary Portrait"},"e047":{"name":"Stop"},"e0e3":{"name":"Stop Screen Share"},"e1db":{"name":"Storage"},"e8d1":{"name":"Store"},"e563":{"name":"Store Mall Directory"},"e41c":{"name":"Straighten"},"e56e":{"name":"Streetview"},"e257":{"name":"Strikethrough S"},"e41d":{"name":"Style"},"e5d9":{"name":"Subdirectory Arrow Left"},"e5da":{"name":"Subdirectory Arrow Right"},"e8d2":{"name":"Subject"},"e064":{"name":"Subscriptions"},"e048":{"name":"Subtitles"},"e56f":{"name":"Subway"},"e8d3":{"name":"Supervisor Account"},"e049":{"name":"Surround Sound"},"e0d7":{"name":"Swap Calls"},"e8d4":{"name":"Swap Horiz"},"e8d5":{"name":"Swap Vert"},"e8d6":{"name":"Swap Vertical Circle"},"e41e":{"name":"Switch Camera"},"e41f":{"name":"Switch Video"},"e627":{"name":"Sync"},"e628":{"name":"Sync Disabled"},"e629":{"name":"Sync Problem"},"e62a":{"name":"System Update"},"e8d7":{"name":"System Update Alt"},"e8d8":{"name":"Tab"},"e8d9":{"name":"Tab Unselected"},"e32f":{"name":"Tablet"},"e330":{"name":"Tablet Android"},"e331":{"name":"Tablet Mac"},"e420":{"name":"Tag Faces"},"e62b":{"name":"Tap And Play"},"e564":{"name":"Terrain"},"e262":{"name":"Text Fields"},"e165":{"name":"Text Format"},"e0d8":{"name":"Textsms"},"e421":{"name":"Texture"},"e8da":{"name":"Theaters"},"e8db":{"name":"Thumb Down"},"e8dc":{"name":"Thumb Up"},"e8dd":{"name":"Thumbs Up Down"},"e62c":{"name":"Time To Leave"},"e422":{"name":"Timelapse"},"e922":{"name":"Timeline"},"e425":{"name":"Timer"},"e423":{"name":"Timer 10"},"e424":{"name":"Timer 3"},"e426":{"name":"Timer Off"},"e264":{"name":"Title"},"e8de":{"name":"Toc"},"e8df":{"name":"Today"},"e8e0":{"name":"Toll"},"e427":{"name":"Tonality"},"e913":{"name":"Touch App"},"e332":{"name":"Toys"},"e8e1":{"name":"Track Changes"},"e565":{"name":"Traffic"},"e570":{"name":"Train"},"e571":{"name":"Tram"},"e572":{"name":"Transfer Within A Station"},"e428":{"name":"Transform"},"e8e2":{"name":"Translate"},"e8e3":{"name":"Trending Down"},"e8e4":{"name":"Trending Flat"},"e8e5":{"name":"Trending Up"},"e429":{"name":"Tune"},"e8e6":{"name":"Turned In"},"e8e7":{"name":"Turned In Not"},"e333":{"name":"Tv"},"e169":{"name":"Unarchive"},"e166":{"name":"Undo"},"e5d6":{"name":"Unfold Less"},"e5d7":{"name":"Unfold More"},"e923":{"name":"Update"},"e1e0":{"name":"Usb"},"e8e8":{"name":"Verified User"},"e258":{"name":"Vertical Align Bottom"},"e259":{"name":"Vertical Align Center"},"e25a":{"name":"Vertical Align Top"},"e62d":{"name":"Vibration"},"e070":{"name":"Video Call"},"e071":{"name":"Video Label"},"e04a":{"name":"Video Library"},"e04b":{"name":"Videocam"},"e04c":{"name":"Videocam Off"},"e338":{"name":"Videogame Asset"},"e8e9":{"name":"View Agenda"},"e8ea":{"name":"View Array"},"e8eb":{"name":"View Carousel"},"e8ec":{"name":"View Column"},"e42a":{"name":"View Comfy"},"e42b":{"name":"View Compact"},"e8ed":{"name":"View Day"},"e8ee":{"name":"View Headline"},"e8ef":{"name":"View List"},"e8f0":{"name":"View Module"},"e8f1":{"name":"View Quilt"},"e8f2":{"name":"View Stream"},"e8f3":{"name":"View Week"},"e435":{"name":"Vignette"},"e8f4":{"name":"Visibility"},"e8f5":{"name":"Visibility Off"},"e62e":{"name":"Voice Chat"},"e0d9":{"name":"Voicemail"},"e04d":{"name":"Volume Down"},"e04e":{"name":"Volume Mute"},"e04f":{"name":"Volume Off"},"e050":{"name":"Volume Up"},"e0da":{"name":"Vpn Key"},"e62f":{"name":"Vpn Lock"},"e1bc":{"name":"Wallpaper"},"e002":{"name":"Warning"},"e334":{"name":"Watch"},"e924":{"name":"Watch Later"},"e42c":{"name":"Wb Auto"},"e42d":{"name":"Wb Cloudy"},"e42e":{"name":"Wb Incandescent"},"e436":{"name":"Wb Iridescent"},"e430":{"name":"Wb Sunny"},"e63d":{"name":"Wc"},"e051":{"name":"Web"},"e069":{"name":"Web Asset"},"e16b":{"name":"Weekend"},"e80e":{"name":"Whatshot"},"e1bd":{"name":"Widgets"},"e63e":{"name":"Wifi"},"e1e1":{"name":"Wifi Lock"},"e1e2":{"name":"Wifi Tethering"},"e8f9":{"name":"Work"},"e25b":{"name":"Wrap Text"},"e8fa":{"name":"Youtube Searched For"},"e8ff":{"name":"Zoom In"},"e900":{"name":"Zoom Out"},"e56b":{"name":"Zoom Out Map"}}} \ No newline at end of file diff --git a/assets/icons/material-design-icons/MaterialIcons-Regular.svg b/assets/icons/material-design-icons/MaterialIcons-Regular.svg new file mode 100644 index 0000000..a449327 --- /dev/null +++ b/assets/icons/material-design-icons/MaterialIcons-Regular.svg @@ -0,0 +1,2373 @@ + + + + + +Created by FontForge 20151118 at Mon Feb 8 11:58:02 2016 + By shyndman +Copyright 2015 Google, Inc. All Rights Reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/material-design-icons/MaterialIcons-Regular.ttf b/assets/icons/material-design-icons/MaterialIcons-Regular.ttf new file mode 100644 index 0000000..7015564 Binary files /dev/null and b/assets/icons/material-design-icons/MaterialIcons-Regular.ttf differ diff --git a/assets/icons/material-design-icons/MaterialIcons-Regular.woff b/assets/icons/material-design-icons/MaterialIcons-Regular.woff new file mode 100644 index 0000000..b648a3e Binary files /dev/null and b/assets/icons/material-design-icons/MaterialIcons-Regular.woff differ diff --git a/assets/icons/material-design-icons/MaterialIcons-Regular.woff2 b/assets/icons/material-design-icons/MaterialIcons-Regular.woff2 new file mode 100644 index 0000000..9fa2112 Binary files /dev/null and b/assets/icons/material-design-icons/MaterialIcons-Regular.woff2 differ diff --git a/assets/icons/material-design-icons/README.md b/assets/icons/material-design-icons/README.md new file mode 100644 index 0000000..ce4141e --- /dev/null +++ b/assets/icons/material-design-icons/README.md @@ -0,0 +1,9 @@ +The recommended way to use the Material Icons font is by linking to the web font hosted on Google Fonts: + +```html + +``` + +Read more in our full usage guide: +http://google.github.io/material-design-icons/#icon-font-for-the-web diff --git a/assets/icons/material-design-icons/codepoints b/assets/icons/material-design-icons/codepoints new file mode 100644 index 0000000..3c8b075 --- /dev/null +++ b/assets/icons/material-design-icons/codepoints @@ -0,0 +1,932 @@ +3d_rotation e84d +ac_unit eb3b +access_alarm e190 +access_alarms e191 +access_time e192 +accessibility e84e +accessible e914 +account_balance e84f +account_balance_wallet e850 +account_box e851 +account_circle e853 +adb e60e +add e145 +add_a_photo e439 +add_alarm e193 +add_alert e003 +add_box e146 +add_circle e147 +add_circle_outline e148 +add_location e567 +add_shopping_cart e854 +add_to_photos e39d +add_to_queue e05c +adjust e39e +airline_seat_flat e630 +airline_seat_flat_angled e631 +airline_seat_individual_suite e632 +airline_seat_legroom_extra e633 +airline_seat_legroom_normal e634 +airline_seat_legroom_reduced e635 +airline_seat_recline_extra e636 +airline_seat_recline_normal e637 +airplanemode_active e195 +airplanemode_inactive e194 +airplay e055 +airport_shuttle eb3c +alarm e855 +alarm_add e856 +alarm_off e857 +alarm_on e858 +album e019 +all_inclusive eb3d +all_out e90b +android e859 +announcement e85a +apps e5c3 +archive e149 +arrow_back e5c4 +arrow_downward e5db +arrow_drop_down e5c5 +arrow_drop_down_circle e5c6 +arrow_drop_up e5c7 +arrow_forward e5c8 +arrow_upward e5d8 +art_track e060 +aspect_ratio e85b +assessment e85c +assignment e85d +assignment_ind e85e +assignment_late e85f +assignment_return e860 +assignment_returned e861 +assignment_turned_in e862 +assistant e39f +assistant_photo e3a0 +attach_file e226 +attach_money e227 +attachment e2bc +audiotrack e3a1 +autorenew e863 +av_timer e01b +backspace e14a +backup e864 +battery_alert e19c +battery_charging_full e1a3 +battery_full e1a4 +battery_std e1a5 +battery_unknown e1a6 +beach_access eb3e +beenhere e52d +block e14b +bluetooth e1a7 +bluetooth_audio e60f +bluetooth_connected e1a8 +bluetooth_disabled e1a9 +bluetooth_searching e1aa +blur_circular e3a2 +blur_linear e3a3 +blur_off e3a4 +blur_on e3a5 +book e865 +bookmark e866 +bookmark_border e867 +border_all e228 +border_bottom e229 +border_clear e22a +border_color e22b +border_horizontal e22c +border_inner e22d +border_left e22e +border_outer e22f +border_right e230 +border_style e231 +border_top e232 +border_vertical e233 +branding_watermark e06b +brightness_1 e3a6 +brightness_2 e3a7 +brightness_3 e3a8 +brightness_4 e3a9 +brightness_5 e3aa +brightness_6 e3ab +brightness_7 e3ac +brightness_auto e1ab +brightness_high e1ac +brightness_low e1ad +brightness_medium e1ae +broken_image e3ad +brush e3ae +bubble_chart e6dd +bug_report e868 +build e869 +burst_mode e43c +business e0af +business_center eb3f +cached e86a +cake e7e9 +call e0b0 +call_end e0b1 +call_made e0b2 +call_merge e0b3 +call_missed e0b4 +call_missed_outgoing e0e4 +call_received e0b5 +call_split e0b6 +call_to_action e06c +camera e3af +camera_alt e3b0 +camera_enhance e8fc +camera_front e3b1 +camera_rear e3b2 +camera_roll e3b3 +cancel e5c9 +card_giftcard e8f6 +card_membership e8f7 +card_travel e8f8 +casino eb40 +cast e307 +cast_connected e308 +center_focus_strong e3b4 +center_focus_weak e3b5 +change_history e86b +chat e0b7 +chat_bubble e0ca +chat_bubble_outline e0cb +check e5ca +check_box e834 +check_box_outline_blank e835 +check_circle e86c +chevron_left e5cb +chevron_right e5cc +child_care eb41 +child_friendly eb42 +chrome_reader_mode e86d +class e86e +clear e14c +clear_all e0b8 +close e5cd +closed_caption e01c +cloud e2bd +cloud_circle e2be +cloud_done e2bf +cloud_download e2c0 +cloud_off e2c1 +cloud_queue e2c2 +cloud_upload e2c3 +code e86f +collections e3b6 +collections_bookmark e431 +color_lens e3b7 +colorize e3b8 +comment e0b9 +compare e3b9 +compare_arrows e915 +computer e30a +confirmation_number e638 +contact_mail e0d0 +contact_phone e0cf +contacts e0ba +content_copy e14d +content_cut e14e +content_paste e14f +control_point e3ba +control_point_duplicate e3bb +copyright e90c +create e150 +create_new_folder e2cc +credit_card e870 +crop e3be +crop_16_9 e3bc +crop_3_2 e3bd +crop_5_4 e3bf +crop_7_5 e3c0 +crop_din e3c1 +crop_free e3c2 +crop_landscape e3c3 +crop_original e3c4 +crop_portrait e3c5 +crop_rotate e437 +crop_square e3c6 +dashboard e871 +data_usage e1af +date_range e916 +dehaze e3c7 +delete e872 +delete_forever e92b +delete_sweep e16c +description e873 +desktop_mac e30b +desktop_windows e30c +details e3c8 +developer_board e30d +developer_mode e1b0 +device_hub e335 +devices e1b1 +devices_other e337 +dialer_sip e0bb +dialpad e0bc +directions e52e +directions_bike e52f +directions_boat e532 +directions_bus e530 +directions_car e531 +directions_railway e534 +directions_run e566 +directions_subway e533 +directions_transit e535 +directions_walk e536 +disc_full e610 +dns e875 +do_not_disturb e612 +do_not_disturb_alt e611 +do_not_disturb_off e643 +do_not_disturb_on e644 +dock e30e +domain e7ee +done e876 +done_all e877 +donut_large e917 +donut_small e918 +drafts e151 +drag_handle e25d +drive_eta e613 +dvr e1b2 +edit e3c9 +edit_location e568 +eject e8fb +email e0be +enhanced_encryption e63f +equalizer e01d +error e000 +error_outline e001 +euro_symbol e926 +ev_station e56d +event e878 +event_available e614 +event_busy e615 +event_note e616 +event_seat e903 +exit_to_app e879 +expand_less e5ce +expand_more e5cf +explicit e01e +explore e87a +exposure e3ca +exposure_neg_1 e3cb +exposure_neg_2 e3cc +exposure_plus_1 e3cd +exposure_plus_2 e3ce +exposure_zero e3cf +extension e87b +face e87c +fast_forward e01f +fast_rewind e020 +favorite e87d +favorite_border e87e +featured_play_list e06d +featured_video e06e +feedback e87f +fiber_dvr e05d +fiber_manual_record e061 +fiber_new e05e +fiber_pin e06a +fiber_smart_record e062 +file_download e2c4 +file_upload e2c6 +filter e3d3 +filter_1 e3d0 +filter_2 e3d1 +filter_3 e3d2 +filter_4 e3d4 +filter_5 e3d5 +filter_6 e3d6 +filter_7 e3d7 +filter_8 e3d8 +filter_9 e3d9 +filter_9_plus e3da +filter_b_and_w e3db +filter_center_focus e3dc +filter_drama e3dd +filter_frames e3de +filter_hdr e3df +filter_list e152 +filter_none e3e0 +filter_tilt_shift e3e2 +filter_vintage e3e3 +find_in_page e880 +find_replace e881 +fingerprint e90d +first_page e5dc +fitness_center eb43 +flag e153 +flare e3e4 +flash_auto e3e5 +flash_off e3e6 +flash_on e3e7 +flight e539 +flight_land e904 +flight_takeoff e905 +flip e3e8 +flip_to_back e882 +flip_to_front e883 +folder e2c7 +folder_open e2c8 +folder_shared e2c9 +folder_special e617 +font_download e167 +format_align_center e234 +format_align_justify e235 +format_align_left e236 +format_align_right e237 +format_bold e238 +format_clear e239 +format_color_fill e23a +format_color_reset e23b +format_color_text e23c +format_indent_decrease e23d +format_indent_increase e23e +format_italic e23f +format_line_spacing e240 +format_list_bulleted e241 +format_list_numbered e242 +format_paint e243 +format_quote e244 +format_shapes e25e +format_size e245 +format_strikethrough e246 +format_textdirection_l_to_r e247 +format_textdirection_r_to_l e248 +format_underlined e249 +forum e0bf +forward e154 +forward_10 e056 +forward_30 e057 +forward_5 e058 +free_breakfast eb44 +fullscreen e5d0 +fullscreen_exit e5d1 +functions e24a +g_translate e927 +gamepad e30f +games e021 +gavel e90e +gesture e155 +get_app e884 +gif e908 +golf_course eb45 +gps_fixed e1b3 +gps_not_fixed e1b4 +gps_off e1b5 +grade e885 +gradient e3e9 +grain e3ea +graphic_eq e1b8 +grid_off e3eb +grid_on e3ec +group e7ef +group_add e7f0 +group_work e886 +hd e052 +hdr_off e3ed +hdr_on e3ee +hdr_strong e3f1 +hdr_weak e3f2 +headset e310 +headset_mic e311 +healing e3f3 +hearing e023 +help e887 +help_outline e8fd +high_quality e024 +highlight e25f +highlight_off e888 +history e889 +home e88a +hot_tub eb46 +hotel e53a +hourglass_empty e88b +hourglass_full e88c +http e902 +https e88d +image e3f4 +image_aspect_ratio e3f5 +import_contacts e0e0 +import_export e0c3 +important_devices e912 +inbox e156 +indeterminate_check_box e909 +info e88e +info_outline e88f +input e890 +insert_chart e24b +insert_comment e24c +insert_drive_file e24d +insert_emoticon e24e +insert_invitation e24f +insert_link e250 +insert_photo e251 +invert_colors e891 +invert_colors_off e0c4 +iso e3f6 +keyboard e312 +keyboard_arrow_down e313 +keyboard_arrow_left e314 +keyboard_arrow_right e315 +keyboard_arrow_up e316 +keyboard_backspace e317 +keyboard_capslock e318 +keyboard_hide e31a +keyboard_return e31b +keyboard_tab e31c +keyboard_voice e31d +kitchen eb47 +label e892 +label_outline e893 +landscape e3f7 +language e894 +laptop e31e +laptop_chromebook e31f +laptop_mac e320 +laptop_windows e321 +last_page e5dd +launch e895 +layers e53b +layers_clear e53c +leak_add e3f8 +leak_remove e3f9 +lens e3fa +library_add e02e +library_books e02f +library_music e030 +lightbulb_outline e90f +line_style e919 +line_weight e91a +linear_scale e260 +link e157 +linked_camera e438 +list e896 +live_help e0c6 +live_tv e639 +local_activity e53f +local_airport e53d +local_atm e53e +local_bar e540 +local_cafe e541 +local_car_wash e542 +local_convenience_store e543 +local_dining e556 +local_drink e544 +local_florist e545 +local_gas_station e546 +local_grocery_store e547 +local_hospital e548 +local_hotel e549 +local_laundry_service e54a +local_library e54b +local_mall e54c +local_movies e54d +local_offer e54e +local_parking e54f +local_pharmacy e550 +local_phone e551 +local_pizza e552 +local_play e553 +local_post_office e554 +local_printshop e555 +local_see e557 +local_shipping e558 +local_taxi e559 +location_city e7f1 +location_disabled e1b6 +location_off e0c7 +location_on e0c8 +location_searching e1b7 +lock e897 +lock_open e898 +lock_outline e899 +looks e3fc +looks_3 e3fb +looks_4 e3fd +looks_5 e3fe +looks_6 e3ff +looks_one e400 +looks_two e401 +loop e028 +loupe e402 +low_priority e16d +loyalty e89a +mail e158 +mail_outline e0e1 +map e55b +markunread e159 +markunread_mailbox e89b +memory e322 +menu e5d2 +merge_type e252 +message e0c9 +mic e029 +mic_none e02a +mic_off e02b +mms e618 +mode_comment e253 +mode_edit e254 +monetization_on e263 +money_off e25c +monochrome_photos e403 +mood e7f2 +mood_bad e7f3 +more e619 +more_horiz e5d3 +more_vert e5d4 +motorcycle e91b +mouse e323 +move_to_inbox e168 +movie e02c +movie_creation e404 +movie_filter e43a +multiline_chart e6df +music_note e405 +music_video e063 +my_location e55c +nature e406 +nature_people e407 +navigate_before e408 +navigate_next e409 +navigation e55d +near_me e569 +network_cell e1b9 +network_check e640 +network_locked e61a +network_wifi e1ba +new_releases e031 +next_week e16a +nfc e1bb +no_encryption e641 +no_sim e0cc +not_interested e033 +note e06f +note_add e89c +notifications e7f4 +notifications_active e7f7 +notifications_none e7f5 +notifications_off e7f6 +notifications_paused e7f8 +offline_pin e90a +ondemand_video e63a +opacity e91c +open_in_browser e89d +open_in_new e89e +open_with e89f +pages e7f9 +pageview e8a0 +palette e40a +pan_tool e925 +panorama e40b +panorama_fish_eye e40c +panorama_horizontal e40d +panorama_vertical e40e +panorama_wide_angle e40f +party_mode e7fa +pause e034 +pause_circle_filled e035 +pause_circle_outline e036 +payment e8a1 +people e7fb +people_outline e7fc +perm_camera_mic e8a2 +perm_contact_calendar e8a3 +perm_data_setting e8a4 +perm_device_information e8a5 +perm_identity e8a6 +perm_media e8a7 +perm_phone_msg e8a8 +perm_scan_wifi e8a9 +person e7fd +person_add e7fe +person_outline e7ff +person_pin e55a +person_pin_circle e56a +personal_video e63b +pets e91d +phone e0cd +phone_android e324 +phone_bluetooth_speaker e61b +phone_forwarded e61c +phone_in_talk e61d +phone_iphone e325 +phone_locked e61e +phone_missed e61f +phone_paused e620 +phonelink e326 +phonelink_erase e0db +phonelink_lock e0dc +phonelink_off e327 +phonelink_ring e0dd +phonelink_setup e0de +photo e410 +photo_album e411 +photo_camera e412 +photo_filter e43b +photo_library e413 +photo_size_select_actual e432 +photo_size_select_large e433 +photo_size_select_small e434 +picture_as_pdf e415 +picture_in_picture e8aa +picture_in_picture_alt e911 +pie_chart e6c4 +pie_chart_outlined e6c5 +pin_drop e55e +place e55f +play_arrow e037 +play_circle_filled e038 +play_circle_outline e039 +play_for_work e906 +playlist_add e03b +playlist_add_check e065 +playlist_play e05f +plus_one e800 +poll e801 +polymer e8ab +pool eb48 +portable_wifi_off e0ce +portrait e416 +power e63c +power_input e336 +power_settings_new e8ac +pregnant_woman e91e +present_to_all e0df +print e8ad +priority_high e645 +public e80b +publish e255 +query_builder e8ae +question_answer e8af +queue e03c +queue_music e03d +queue_play_next e066 +radio e03e +radio_button_checked e837 +radio_button_unchecked e836 +rate_review e560 +receipt e8b0 +recent_actors e03f +record_voice_over e91f +redeem e8b1 +redo e15a +refresh e5d5 +remove e15b +remove_circle e15c +remove_circle_outline e15d +remove_from_queue e067 +remove_red_eye e417 +remove_shopping_cart e928 +reorder e8fe +repeat e040 +repeat_one e041 +replay e042 +replay_10 e059 +replay_30 e05a +replay_5 e05b +reply e15e +reply_all e15f +report e160 +report_problem e8b2 +restaurant e56c +restaurant_menu e561 +restore e8b3 +restore_page e929 +ring_volume e0d1 +room e8b4 +room_service eb49 +rotate_90_degrees_ccw e418 +rotate_left e419 +rotate_right e41a +rounded_corner e920 +router e328 +rowing e921 +rss_feed e0e5 +rv_hookup e642 +satellite e562 +save e161 +scanner e329 +schedule e8b5 +school e80c +screen_lock_landscape e1be +screen_lock_portrait e1bf +screen_lock_rotation e1c0 +screen_rotation e1c1 +screen_share e0e2 +sd_card e623 +sd_storage e1c2 +search e8b6 +security e32a +select_all e162 +send e163 +sentiment_dissatisfied e811 +sentiment_neutral e812 +sentiment_satisfied e813 +sentiment_very_dissatisfied e814 +sentiment_very_satisfied e815 +settings e8b8 +settings_applications e8b9 +settings_backup_restore e8ba +settings_bluetooth e8bb +settings_brightness e8bd +settings_cell e8bc +settings_ethernet e8be +settings_input_antenna e8bf +settings_input_component e8c0 +settings_input_composite e8c1 +settings_input_hdmi e8c2 +settings_input_svideo e8c3 +settings_overscan e8c4 +settings_phone e8c5 +settings_power e8c6 +settings_remote e8c7 +settings_system_daydream e1c3 +settings_voice e8c8 +share e80d +shop e8c9 +shop_two e8ca +shopping_basket e8cb +shopping_cart e8cc +short_text e261 +show_chart e6e1 +shuffle e043 +signal_cellular_4_bar e1c8 +signal_cellular_connected_no_internet_4_bar e1cd +signal_cellular_no_sim e1ce +signal_cellular_null e1cf +signal_cellular_off e1d0 +signal_wifi_4_bar e1d8 +signal_wifi_4_bar_lock e1d9 +signal_wifi_off e1da +sim_card e32b +sim_card_alert e624 +skip_next e044 +skip_previous e045 +slideshow e41b +slow_motion_video e068 +smartphone e32c +smoke_free eb4a +smoking_rooms eb4b +sms e625 +sms_failed e626 +snooze e046 +sort e164 +sort_by_alpha e053 +spa eb4c +space_bar e256 +speaker e32d +speaker_group e32e +speaker_notes e8cd +speaker_notes_off e92a +speaker_phone e0d2 +spellcheck e8ce +star e838 +star_border e83a +star_half e839 +stars e8d0 +stay_current_landscape e0d3 +stay_current_portrait e0d4 +stay_primary_landscape e0d5 +stay_primary_portrait e0d6 +stop e047 +stop_screen_share e0e3 +storage e1db +store e8d1 +store_mall_directory e563 +straighten e41c +streetview e56e +strikethrough_s e257 +style e41d +subdirectory_arrow_left e5d9 +subdirectory_arrow_right e5da +subject e8d2 +subscriptions e064 +subtitles e048 +subway e56f +supervisor_account e8d3 +surround_sound e049 +swap_calls e0d7 +swap_horiz e8d4 +swap_vert e8d5 +swap_vertical_circle e8d6 +switch_camera e41e +switch_video e41f +sync e627 +sync_disabled e628 +sync_problem e629 +system_update e62a +system_update_alt e8d7 +tab e8d8 +tab_unselected e8d9 +tablet e32f +tablet_android e330 +tablet_mac e331 +tag_faces e420 +tap_and_play e62b +terrain e564 +text_fields e262 +text_format e165 +textsms e0d8 +texture e421 +theaters e8da +thumb_down e8db +thumb_up e8dc +thumbs_up_down e8dd +time_to_leave e62c +timelapse e422 +timeline e922 +timer e425 +timer_10 e423 +timer_3 e424 +timer_off e426 +title e264 +toc e8de +today e8df +toll e8e0 +tonality e427 +touch_app e913 +toys e332 +track_changes e8e1 +traffic e565 +train e570 +tram e571 +transfer_within_a_station e572 +transform e428 +translate e8e2 +trending_down e8e3 +trending_flat e8e4 +trending_up e8e5 +tune e429 +turned_in e8e6 +turned_in_not e8e7 +tv e333 +unarchive e169 +undo e166 +unfold_less e5d6 +unfold_more e5d7 +update e923 +usb e1e0 +verified_user e8e8 +vertical_align_bottom e258 +vertical_align_center e259 +vertical_align_top e25a +vibration e62d +video_call e070 +video_label e071 +video_library e04a +videocam e04b +videocam_off e04c +videogame_asset e338 +view_agenda e8e9 +view_array e8ea +view_carousel e8eb +view_column e8ec +view_comfy e42a +view_compact e42b +view_day e8ed +view_headline e8ee +view_list e8ef +view_module e8f0 +view_quilt e8f1 +view_stream e8f2 +view_week e8f3 +vignette e435 +visibility e8f4 +visibility_off e8f5 +voice_chat e62e +voicemail e0d9 +volume_down e04d +volume_mute e04e +volume_off e04f +volume_up e050 +vpn_key e0da +vpn_lock e62f +wallpaper e1bc +warning e002 +watch e334 +watch_later e924 +wb_auto e42c +wb_cloudy e42d +wb_incandescent e42e +wb_iridescent e436 +wb_sunny e430 +wc e63d +web e051 +web_asset e069 +weekend e16b +whatshot e80e +widgets e1bd +wifi e63e +wifi_lock e1e1 +wifi_tethering e1e2 +work e8f9 +wrap_text e25b +youtube_searched_for e8fa +zoom_in e8ff +zoom_out e900 +zoom_out_map e56b diff --git a/assets/icons/material-design-icons/material-icons.css b/assets/icons/material-design-icons/material-icons.css new file mode 100644 index 0000000..2270c09 --- /dev/null +++ b/assets/icons/material-design-icons/material-icons.css @@ -0,0 +1,36 @@ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(MaterialIcons-Regular.eot); /* For IE6-8 */ + src: local('Material Icons'), + local('MaterialIcons-Regular'), + url(MaterialIcons-Regular.woff2) format('woff2'), + url(MaterialIcons-Regular.woff) format('woff'), + url(MaterialIcons-Regular.ttf) format('truetype'); +} + +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; /* Preferred icon size */ + display: inline-block; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + + /* Support for IE. */ + font-feature-settings: 'liga'; +} diff --git a/assets/img/avatars/avatar_01.png b/assets/img/avatars/avatar_01.png new file mode 100644 index 0000000..e188f2d Binary files /dev/null and b/assets/img/avatars/avatar_01.png differ diff --git a/assets/img/avatars/avatar_01@2x.png b/assets/img/avatars/avatar_01@2x.png new file mode 100644 index 0000000..5ad260c Binary files /dev/null and b/assets/img/avatars/avatar_01@2x.png differ diff --git a/assets/img/avatars/avatar_01_tn.png b/assets/img/avatars/avatar_01_tn.png new file mode 100644 index 0000000..7ee6c01 Binary files /dev/null and b/assets/img/avatars/avatar_01_tn.png differ diff --git a/assets/img/avatars/avatar_01_tn@2x.png b/assets/img/avatars/avatar_01_tn@2x.png new file mode 100644 index 0000000..160a29a Binary files /dev/null and b/assets/img/avatars/avatar_01_tn@2x.png differ diff --git a/assets/img/avatars/avatar_02.png b/assets/img/avatars/avatar_02.png new file mode 100644 index 0000000..c4f3343 Binary files /dev/null and b/assets/img/avatars/avatar_02.png differ diff --git a/assets/img/avatars/avatar_02@2x.png b/assets/img/avatars/avatar_02@2x.png new file mode 100644 index 0000000..8fae7b3 Binary files /dev/null and b/assets/img/avatars/avatar_02@2x.png differ diff --git a/assets/img/avatars/avatar_02_tn.png b/assets/img/avatars/avatar_02_tn.png new file mode 100644 index 0000000..357ae45 Binary files /dev/null and b/assets/img/avatars/avatar_02_tn.png differ diff --git a/assets/img/avatars/avatar_02_tn@2x.png b/assets/img/avatars/avatar_02_tn@2x.png new file mode 100644 index 0000000..73dbccf Binary files /dev/null and b/assets/img/avatars/avatar_02_tn@2x.png differ diff --git a/assets/img/avatars/avatar_03.png b/assets/img/avatars/avatar_03.png new file mode 100644 index 0000000..8211c0e Binary files /dev/null and b/assets/img/avatars/avatar_03.png differ diff --git a/assets/img/avatars/avatar_03@2x.png b/assets/img/avatars/avatar_03@2x.png new file mode 100644 index 0000000..746398f Binary files /dev/null and b/assets/img/avatars/avatar_03@2x.png differ diff --git a/assets/img/avatars/avatar_03_tn.png b/assets/img/avatars/avatar_03_tn.png new file mode 100644 index 0000000..9bb7075 Binary files /dev/null and b/assets/img/avatars/avatar_03_tn.png differ diff --git a/assets/img/avatars/avatar_03_tn@2x.png b/assets/img/avatars/avatar_03_tn@2x.png new file mode 100644 index 0000000..5bb90f2 Binary files /dev/null and b/assets/img/avatars/avatar_03_tn@2x.png differ diff --git a/assets/img/avatars/avatar_04.png b/assets/img/avatars/avatar_04.png new file mode 100644 index 0000000..8c3e182 Binary files /dev/null and b/assets/img/avatars/avatar_04.png differ diff --git a/assets/img/avatars/avatar_04@2x.png b/assets/img/avatars/avatar_04@2x.png new file mode 100644 index 0000000..13f4455 Binary files /dev/null and b/assets/img/avatars/avatar_04@2x.png differ diff --git a/assets/img/avatars/avatar_04_tn.png b/assets/img/avatars/avatar_04_tn.png new file mode 100644 index 0000000..208d280 Binary files /dev/null and b/assets/img/avatars/avatar_04_tn.png differ diff --git a/assets/img/avatars/avatar_04_tn@2x.png b/assets/img/avatars/avatar_04_tn@2x.png new file mode 100644 index 0000000..6f4f3f9 Binary files /dev/null and b/assets/img/avatars/avatar_04_tn@2x.png differ diff --git a/assets/img/avatars/avatar_05.png b/assets/img/avatars/avatar_05.png new file mode 100644 index 0000000..249b10e Binary files /dev/null and b/assets/img/avatars/avatar_05.png differ diff --git a/assets/img/avatars/avatar_05@2x.png b/assets/img/avatars/avatar_05@2x.png new file mode 100644 index 0000000..fdff865 Binary files /dev/null and b/assets/img/avatars/avatar_05@2x.png differ diff --git a/assets/img/avatars/avatar_05_tn.png b/assets/img/avatars/avatar_05_tn.png new file mode 100644 index 0000000..528b7f5 Binary files /dev/null and b/assets/img/avatars/avatar_05_tn.png differ diff --git a/assets/img/avatars/avatar_05_tn@2x.png b/assets/img/avatars/avatar_05_tn@2x.png new file mode 100644 index 0000000..524be6e Binary files /dev/null and b/assets/img/avatars/avatar_05_tn@2x.png differ diff --git a/assets/img/avatars/avatar_06.png b/assets/img/avatars/avatar_06.png new file mode 100644 index 0000000..965c6d1 Binary files /dev/null and b/assets/img/avatars/avatar_06.png differ diff --git a/assets/img/avatars/avatar_06@2x.png b/assets/img/avatars/avatar_06@2x.png new file mode 100644 index 0000000..bac1f88 Binary files /dev/null and b/assets/img/avatars/avatar_06@2x.png differ diff --git a/assets/img/avatars/avatar_06_tn.png b/assets/img/avatars/avatar_06_tn.png new file mode 100644 index 0000000..00a19ec Binary files /dev/null and b/assets/img/avatars/avatar_06_tn.png differ diff --git a/assets/img/avatars/avatar_06_tn@2x.png b/assets/img/avatars/avatar_06_tn@2x.png new file mode 100644 index 0000000..4fa4b76 Binary files /dev/null and b/assets/img/avatars/avatar_06_tn@2x.png differ diff --git a/assets/img/avatars/avatar_07.png b/assets/img/avatars/avatar_07.png new file mode 100644 index 0000000..1bfbd6f Binary files /dev/null and b/assets/img/avatars/avatar_07.png differ diff --git a/assets/img/avatars/avatar_07@2x.png b/assets/img/avatars/avatar_07@2x.png new file mode 100644 index 0000000..ab51e39 Binary files /dev/null and b/assets/img/avatars/avatar_07@2x.png differ diff --git a/assets/img/avatars/avatar_07_tn.png b/assets/img/avatars/avatar_07_tn.png new file mode 100644 index 0000000..d4d434a Binary files /dev/null and b/assets/img/avatars/avatar_07_tn.png differ diff --git a/assets/img/avatars/avatar_07_tn@2x.png b/assets/img/avatars/avatar_07_tn@2x.png new file mode 100644 index 0000000..28d01c6 Binary files /dev/null and b/assets/img/avatars/avatar_07_tn@2x.png differ diff --git a/assets/img/avatars/avatar_08.png b/assets/img/avatars/avatar_08.png new file mode 100644 index 0000000..3ac02d8 Binary files /dev/null and b/assets/img/avatars/avatar_08.png differ diff --git a/assets/img/avatars/avatar_08@2x.png b/assets/img/avatars/avatar_08@2x.png new file mode 100644 index 0000000..b2b6139 Binary files /dev/null and b/assets/img/avatars/avatar_08@2x.png differ diff --git a/assets/img/avatars/avatar_08_tn.png b/assets/img/avatars/avatar_08_tn.png new file mode 100644 index 0000000..5174988 Binary files /dev/null and b/assets/img/avatars/avatar_08_tn.png differ diff --git a/assets/img/avatars/avatar_08_tn@2x.png b/assets/img/avatars/avatar_08_tn@2x.png new file mode 100644 index 0000000..1fe101d Binary files /dev/null and b/assets/img/avatars/avatar_08_tn@2x.png differ diff --git a/assets/img/avatars/avatar_09.png b/assets/img/avatars/avatar_09.png new file mode 100644 index 0000000..b0ea387 Binary files /dev/null and b/assets/img/avatars/avatar_09.png differ diff --git a/assets/img/avatars/avatar_09@2x.png b/assets/img/avatars/avatar_09@2x.png new file mode 100644 index 0000000..5551da5 Binary files /dev/null and b/assets/img/avatars/avatar_09@2x.png differ diff --git a/assets/img/avatars/avatar_09_tn.png b/assets/img/avatars/avatar_09_tn.png new file mode 100644 index 0000000..c6394e8 Binary files /dev/null and b/assets/img/avatars/avatar_09_tn.png differ diff --git a/assets/img/avatars/avatar_09_tn@2x.png b/assets/img/avatars/avatar_09_tn@2x.png new file mode 100644 index 0000000..6c29a68 Binary files /dev/null and b/assets/img/avatars/avatar_09_tn@2x.png differ diff --git a/assets/img/avatars/avatar_10.png b/assets/img/avatars/avatar_10.png new file mode 100644 index 0000000..33a398d Binary files /dev/null and b/assets/img/avatars/avatar_10.png differ diff --git a/assets/img/avatars/avatar_10@2x.png b/assets/img/avatars/avatar_10@2x.png new file mode 100644 index 0000000..5c5474c Binary files /dev/null and b/assets/img/avatars/avatar_10@2x.png differ diff --git a/assets/img/avatars/avatar_10_tn.png b/assets/img/avatars/avatar_10_tn.png new file mode 100644 index 0000000..9e9534c Binary files /dev/null and b/assets/img/avatars/avatar_10_tn.png differ diff --git a/assets/img/avatars/avatar_10_tn@2x.png b/assets/img/avatars/avatar_10_tn@2x.png new file mode 100644 index 0000000..72d2dcc Binary files /dev/null and b/assets/img/avatars/avatar_10_tn@2x.png differ diff --git a/assets/img/avatars/avatar_11.png b/assets/img/avatars/avatar_11.png new file mode 100644 index 0000000..f5e1538 Binary files /dev/null and b/assets/img/avatars/avatar_11.png differ diff --git a/assets/img/avatars/avatar_11@2x.png b/assets/img/avatars/avatar_11@2x.png new file mode 100644 index 0000000..5f7cb17 Binary files /dev/null and b/assets/img/avatars/avatar_11@2x.png differ diff --git a/assets/img/avatars/avatar_11_tn.png b/assets/img/avatars/avatar_11_tn.png new file mode 100644 index 0000000..7d9aff9 Binary files /dev/null and b/assets/img/avatars/avatar_11_tn.png differ diff --git a/assets/img/avatars/avatar_11_tn@2x.png b/assets/img/avatars/avatar_11_tn@2x.png new file mode 100644 index 0000000..151dc39 Binary files /dev/null and b/assets/img/avatars/avatar_11_tn@2x.png differ diff --git a/assets/img/avatars/avatar_11_tn@4x.png b/assets/img/avatars/avatar_11_tn@4x.png new file mode 100644 index 0000000..caddf0a Binary files /dev/null and b/assets/img/avatars/avatar_11_tn@4x.png differ diff --git a/assets/img/avatars/avatar_12.png b/assets/img/avatars/avatar_12.png new file mode 100644 index 0000000..cfe4eea Binary files /dev/null and b/assets/img/avatars/avatar_12.png differ diff --git a/assets/img/avatars/avatar_12@2x.png b/assets/img/avatars/avatar_12@2x.png new file mode 100644 index 0000000..a1d2bb0 Binary files /dev/null and b/assets/img/avatars/avatar_12@2x.png differ diff --git a/assets/img/avatars/avatar_12_tn.png b/assets/img/avatars/avatar_12_tn.png new file mode 100644 index 0000000..330fc30 Binary files /dev/null and b/assets/img/avatars/avatar_12_tn.png differ diff --git a/assets/img/avatars/avatar_12_tn@2x.png b/assets/img/avatars/avatar_12_tn@2x.png new file mode 100644 index 0000000..e55455f Binary files /dev/null and b/assets/img/avatars/avatar_12_tn@2x.png differ diff --git a/assets/img/avatars/user-alt.png b/assets/img/avatars/user-alt.png new file mode 100644 index 0000000..fbd1701 Binary files /dev/null and b/assets/img/avatars/user-alt.png differ diff --git a/assets/img/avatars/user-alt@2x.png b/assets/img/avatars/user-alt@2x.png new file mode 100644 index 0000000..9fdad65 Binary files /dev/null and b/assets/img/avatars/user-alt@2x.png differ diff --git a/assets/img/avatars/user.png b/assets/img/avatars/user.png new file mode 100644 index 0000000..da6db0a Binary files /dev/null and b/assets/img/avatars/user.png differ diff --git a/assets/img/avatars/user@2x.png b/assets/img/avatars/user@2x.png new file mode 100644 index 0000000..87d518e Binary files /dev/null and b/assets/img/avatars/user@2x.png differ diff --git a/assets/img/favicon-16x16.png b/assets/img/favicon-16x16.png new file mode 100644 index 0000000..7f5b9e3 Binary files /dev/null and b/assets/img/favicon-16x16.png differ diff --git a/assets/img/favicon-32x32.png b/assets/img/favicon-32x32.png new file mode 100644 index 0000000..28dc1ac Binary files /dev/null and b/assets/img/favicon-32x32.png differ diff --git a/assets/img/gallery/Image01.jpg b/assets/img/gallery/Image01.jpg new file mode 100644 index 0000000..baca265 Binary files /dev/null and b/assets/img/gallery/Image01.jpg differ diff --git a/assets/img/gallery/Image01@2x.jpg b/assets/img/gallery/Image01@2x.jpg new file mode 100644 index 0000000..eae3aa7 Binary files /dev/null and b/assets/img/gallery/Image01@2x.jpg differ diff --git a/assets/img/gallery/Image02.jpg b/assets/img/gallery/Image02.jpg new file mode 100644 index 0000000..69aca2c Binary files /dev/null and b/assets/img/gallery/Image02.jpg differ diff --git a/assets/img/gallery/Image02@2x.jpg b/assets/img/gallery/Image02@2x.jpg new file mode 100644 index 0000000..0fc67a8 Binary files /dev/null and b/assets/img/gallery/Image02@2x.jpg differ diff --git a/assets/img/gallery/Image03.jpg b/assets/img/gallery/Image03.jpg new file mode 100644 index 0000000..fbb5f96 Binary files /dev/null and b/assets/img/gallery/Image03.jpg differ diff --git a/assets/img/gallery/Image03@2x.jpg b/assets/img/gallery/Image03@2x.jpg new file mode 100644 index 0000000..d7d000d Binary files /dev/null and b/assets/img/gallery/Image03@2x.jpg differ diff --git a/assets/img/gallery/Image04.jpg b/assets/img/gallery/Image04.jpg new file mode 100644 index 0000000..c73bb0b Binary files /dev/null and b/assets/img/gallery/Image04.jpg differ diff --git a/assets/img/gallery/Image04@2x.jpg b/assets/img/gallery/Image04@2x.jpg new file mode 100644 index 0000000..6dd9620 Binary files /dev/null and b/assets/img/gallery/Image04@2x.jpg differ diff --git a/assets/img/gallery/Image05.jpg b/assets/img/gallery/Image05.jpg new file mode 100644 index 0000000..d9dd2a0 Binary files /dev/null and b/assets/img/gallery/Image05.jpg differ diff --git a/assets/img/gallery/Image05@2x.jpg b/assets/img/gallery/Image05@2x.jpg new file mode 100644 index 0000000..e5f02c0 Binary files /dev/null and b/assets/img/gallery/Image05@2x.jpg differ diff --git a/assets/img/gallery/Image06.jpg b/assets/img/gallery/Image06.jpg new file mode 100644 index 0000000..cf84ea0 Binary files /dev/null and b/assets/img/gallery/Image06.jpg differ diff --git a/assets/img/gallery/Image06@2x.jpg b/assets/img/gallery/Image06@2x.jpg new file mode 100644 index 0000000..8a2c5c7 Binary files /dev/null and b/assets/img/gallery/Image06@2x.jpg differ diff --git a/assets/img/gallery/Image07.jpg b/assets/img/gallery/Image07.jpg new file mode 100644 index 0000000..259ac18 Binary files /dev/null and b/assets/img/gallery/Image07.jpg differ diff --git a/assets/img/gallery/Image07@2x.jpg b/assets/img/gallery/Image07@2x.jpg new file mode 100644 index 0000000..9f38493 Binary files /dev/null and b/assets/img/gallery/Image07@2x.jpg differ diff --git a/assets/img/gallery/Image08.jpg b/assets/img/gallery/Image08.jpg new file mode 100644 index 0000000..bae98ef Binary files /dev/null and b/assets/img/gallery/Image08.jpg differ diff --git a/assets/img/gallery/Image08@2x.jpg b/assets/img/gallery/Image08@2x.jpg new file mode 100644 index 0000000..31fac6c Binary files /dev/null and b/assets/img/gallery/Image08@2x.jpg differ diff --git a/assets/img/gallery/Image09.jpg b/assets/img/gallery/Image09.jpg new file mode 100644 index 0000000..72c678b Binary files /dev/null and b/assets/img/gallery/Image09.jpg differ diff --git a/assets/img/gallery/Image09@2x.jpg b/assets/img/gallery/Image09@2x.jpg new file mode 100644 index 0000000..775ea94 Binary files /dev/null and b/assets/img/gallery/Image09@2x.jpg differ diff --git a/assets/img/gallery/Image10.jpg b/assets/img/gallery/Image10.jpg new file mode 100644 index 0000000..7fa5ad3 Binary files /dev/null and b/assets/img/gallery/Image10.jpg differ diff --git a/assets/img/gallery/Image10@2x.jpg b/assets/img/gallery/Image10@2x.jpg new file mode 100644 index 0000000..0e7009c Binary files /dev/null and b/assets/img/gallery/Image10@2x.jpg differ diff --git a/assets/img/gallery/Image11.jpg b/assets/img/gallery/Image11.jpg new file mode 100644 index 0000000..33ad0d1 Binary files /dev/null and b/assets/img/gallery/Image11.jpg differ diff --git a/assets/img/gallery/Image11@2x.jpg b/assets/img/gallery/Image11@2x.jpg new file mode 100644 index 0000000..e9327c1 Binary files /dev/null and b/assets/img/gallery/Image11@2x.jpg differ diff --git a/assets/img/gallery/Image12.jpg b/assets/img/gallery/Image12.jpg new file mode 100644 index 0000000..e7eceba Binary files /dev/null and b/assets/img/gallery/Image12.jpg differ diff --git a/assets/img/gallery/Image12@2x.jpg b/assets/img/gallery/Image12@2x.jpg new file mode 100644 index 0000000..5ce51bf Binary files /dev/null and b/assets/img/gallery/Image12@2x.jpg differ diff --git a/assets/img/gallery/Image13.jpg b/assets/img/gallery/Image13.jpg new file mode 100644 index 0000000..f30d450 Binary files /dev/null and b/assets/img/gallery/Image13.jpg differ diff --git a/assets/img/gallery/Image13@2x.jpg b/assets/img/gallery/Image13@2x.jpg new file mode 100644 index 0000000..0db804a Binary files /dev/null and b/assets/img/gallery/Image13@2x.jpg differ diff --git a/assets/img/gallery/Image14.jpg b/assets/img/gallery/Image14.jpg new file mode 100644 index 0000000..aa3a0ea Binary files /dev/null and b/assets/img/gallery/Image14.jpg differ diff --git a/assets/img/gallery/Image14@2x.jpg b/assets/img/gallery/Image14@2x.jpg new file mode 100644 index 0000000..b3769af Binary files /dev/null and b/assets/img/gallery/Image14@2x.jpg differ diff --git a/assets/img/gallery/Image15.jpg b/assets/img/gallery/Image15.jpg new file mode 100644 index 0000000..179c200 Binary files /dev/null and b/assets/img/gallery/Image15.jpg differ diff --git a/assets/img/gallery/Image15@2x.jpg b/assets/img/gallery/Image15@2x.jpg new file mode 100644 index 0000000..abc9f1b Binary files /dev/null and b/assets/img/gallery/Image15@2x.jpg differ diff --git a/assets/img/gallery/Image16.jpg b/assets/img/gallery/Image16.jpg new file mode 100644 index 0000000..bcc7ebc Binary files /dev/null and b/assets/img/gallery/Image16.jpg differ diff --git a/assets/img/gallery/Image16@2x.jpg b/assets/img/gallery/Image16@2x.jpg new file mode 100644 index 0000000..5633082 Binary files /dev/null and b/assets/img/gallery/Image16@2x.jpg differ diff --git a/assets/img/gallery/Image17.jpg b/assets/img/gallery/Image17.jpg new file mode 100644 index 0000000..6f22939 Binary files /dev/null and b/assets/img/gallery/Image17.jpg differ diff --git a/assets/img/gallery/Image17@2x.jpg b/assets/img/gallery/Image17@2x.jpg new file mode 100644 index 0000000..99b5bb6 Binary files /dev/null and b/assets/img/gallery/Image17@2x.jpg differ diff --git a/assets/img/gallery/Image18.jpg b/assets/img/gallery/Image18.jpg new file mode 100644 index 0000000..ee42edf Binary files /dev/null and b/assets/img/gallery/Image18.jpg differ diff --git a/assets/img/gallery/Image18@2x.jpg b/assets/img/gallery/Image18@2x.jpg new file mode 100644 index 0000000..9e8edb9 Binary files /dev/null and b/assets/img/gallery/Image18@2x.jpg differ diff --git a/assets/img/gallery/Image19.jpg b/assets/img/gallery/Image19.jpg new file mode 100644 index 0000000..23092e6 Binary files /dev/null and b/assets/img/gallery/Image19.jpg differ diff --git a/assets/img/gallery/Image19@2x.jpg b/assets/img/gallery/Image19@2x.jpg new file mode 100644 index 0000000..7c4042d Binary files /dev/null and b/assets/img/gallery/Image19@2x.jpg differ diff --git a/assets/img/gallery/Image20.jpg b/assets/img/gallery/Image20.jpg new file mode 100644 index 0000000..d1c4f4d Binary files /dev/null and b/assets/img/gallery/Image20.jpg differ diff --git a/assets/img/gallery/Image20@2x.jpg b/assets/img/gallery/Image20@2x.jpg new file mode 100644 index 0000000..3917df1 Binary files /dev/null and b/assets/img/gallery/Image20@2x.jpg differ diff --git a/assets/img/gallery/Image21.jpg b/assets/img/gallery/Image21.jpg new file mode 100644 index 0000000..6a976db Binary files /dev/null and b/assets/img/gallery/Image21.jpg differ diff --git a/assets/img/gallery/Image21@2x.jpg b/assets/img/gallery/Image21@2x.jpg new file mode 100644 index 0000000..5a67c48 Binary files /dev/null and b/assets/img/gallery/Image21@2x.jpg differ diff --git a/assets/img/gallery/Image22.jpg b/assets/img/gallery/Image22.jpg new file mode 100644 index 0000000..f6033f4 Binary files /dev/null and b/assets/img/gallery/Image22.jpg differ diff --git a/assets/img/gallery/Image22@2x.jpg b/assets/img/gallery/Image22@2x.jpg new file mode 100644 index 0000000..4718049 Binary files /dev/null and b/assets/img/gallery/Image22@2x.jpg differ diff --git a/assets/img/gallery/Image23.jpg b/assets/img/gallery/Image23.jpg new file mode 100644 index 0000000..4948075 Binary files /dev/null and b/assets/img/gallery/Image23.jpg differ diff --git a/assets/img/gallery/Image23@2x.jpg b/assets/img/gallery/Image23@2x.jpg new file mode 100644 index 0000000..5cbf1c5 Binary files /dev/null and b/assets/img/gallery/Image23@2x.jpg differ diff --git a/assets/img/gallery/Image24.jpg b/assets/img/gallery/Image24.jpg new file mode 100644 index 0000000..1fe9c78 Binary files /dev/null and b/assets/img/gallery/Image24.jpg differ diff --git a/assets/img/gallery/Image24@2x.jpg b/assets/img/gallery/Image24@2x.jpg new file mode 100644 index 0000000..3651a3d Binary files /dev/null and b/assets/img/gallery/Image24@2x.jpg differ diff --git a/assets/img/logo_main.png b/assets/img/logo_main.png new file mode 100644 index 0000000..f1dbd26 Binary files /dev/null and b/assets/img/logo_main.png differ diff --git a/assets/img/logo_main@2x.png b/assets/img/logo_main@2x.png new file mode 100644 index 0000000..0f69659 Binary files /dev/null and b/assets/img/logo_main@2x.png differ diff --git a/assets/img/logo_main_white.png b/assets/img/logo_main_white.png new file mode 100644 index 0000000..d34e6e5 Binary files /dev/null and b/assets/img/logo_main_white.png differ diff --git a/assets/img/logo_main_white@2x.png b/assets/img/logo_main_white@2x.png new file mode 100644 index 0000000..d17892c Binary files /dev/null and b/assets/img/logo_main_white@2x.png differ diff --git a/assets/img/others/staticmap.png b/assets/img/others/staticmap.png new file mode 100644 index 0000000..cac3ffd Binary files /dev/null and b/assets/img/others/staticmap.png differ diff --git a/assets/img/slider/car.jpg b/assets/img/slider/car.jpg new file mode 100644 index 0000000..d25fb9b Binary files /dev/null and b/assets/img/slider/car.jpg differ diff --git a/assets/img/slider/cherries.jpg b/assets/img/slider/cherries.jpg new file mode 100644 index 0000000..f068966 Binary files /dev/null and b/assets/img/slider/cherries.jpg differ diff --git a/assets/img/slider/healthy.jpg b/assets/img/slider/healthy.jpg new file mode 100644 index 0000000..04282a0 Binary files /dev/null and b/assets/img/slider/healthy.jpg differ diff --git a/assets/img/slider/paintings.jpg b/assets/img/slider/paintings.jpg new file mode 100644 index 0000000..8a74361 Binary files /dev/null and b/assets/img/slider/paintings.jpg differ diff --git a/assets/img/slider/stats.jpg b/assets/img/slider/stats.jpg new file mode 100644 index 0000000..10fd13d Binary files /dev/null and b/assets/img/slider/stats.jpg differ diff --git a/assets/js/altair_lp_common.js b/assets/js/altair_lp_common.js new file mode 100644 index 0000000..3a8c655 --- /dev/null +++ b/assets/js/altair_lp_common.js @@ -0,0 +1,160 @@ + +// variables +var $body = $('body'), + $html = $('html'), + $window = $(window), + $document = $(document), + $header_main = $('#header_main'), + header_main_height = $header_main.height(), + easing_swiftOut = [ 0.35,0,0.25,1 ]; + bez_easing_swiftOut = $.bez(easing_swiftOut); + +/* Detect hi-res devices */ +function isHighDensity() { + return ((window.matchMedia && (window.matchMedia('only screen and (min-resolution: 124dpi), only screen and (min-resolution: 1.3dppx), only screen and (min-resolution: 48.8dpcm)').matches || window.matchMedia('only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 2.6/2), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3)').matches)) || (window.devicePixelRatio && window.devicePixelRatio > 1.3)); +} + +/* + * Dynamically loading an external JavaScript or CSS file + * http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml + */ +function loadjscssfile(b,c){if("js"==c){var a=document.createElement("script");a.setAttribute("type","text/javascript");a.setAttribute("src",b)}else"css"==c&&(a=document.createElement("link"),a.setAttribute("rel","stylesheet"),a.setAttribute("type","text/css"),a.setAttribute("href",b));"undefined"!=typeof a&&document.getElementsByTagName("head")[0].appendChild(a)}; + +/* detect touch devices */ +function isTouchDevice() { + return 'ontouchstart' in document.documentElement; +} + +$(function() { + // header main + altair_header_main.init(); + // inputs + altair_md.init(); +}); + +$window.on('load',function () { + if(isHighDensity()) { + loadjscssfile("bower_components/dense/src/dense.js", "js"); + // enable hires images + $('img').dense({ + glue: "@" + }); + } +}); + +altair_header_main = { + init: function () { + // sticky header + altair_header_main.sticky_header(); + // main navigation + altair_header_main.main_navigation(); + }, + sticky_header: function () { + $body.addClass('header_sticky'); + $(window).on("scroll touchmove", function () { + $body.toggleClass('header_shadow', $(document).scrollTop() > 0); + }); + }, + main_navigation: function() { + $('#main_navigation').onePageNav({ + currentClass: 'current_active', + changeHash: false, + scrollSpeed: 840, + scrollThreshold: 0.4, + filter: '', + scrollOffset: -header_main_height, + easing: bez_easing_swiftOut, + begin: function() { + //Hack so you can click other menu items after the initial click (IOS) + //$('body').append('
'); + }, + end: function() { + $('#device-dummy').remove(); + }, + scrollChange: function($currentListItem) { + //I get fired when you enter a section and I pass the list item of the section + } + }); + + } +}; + +altair_md = { + init: function () { + altair_md.inputs(); + }, + inputs: function(parent) { + var $mdInput = (typeof parent === 'undefined') ? $('.md-input') : $(parent).find('.md-input'); + $mdInput.each(function() { + if(!$(this).closest('.md-input-wrapper').length) { + var $this = $(this), + extraClass = ''; + + if($this.is('[class*="uk-form-width-"]')) { + var elClasses = $this.attr('class').split (' '); + for(var i = 0; i < elClasses.length; i++){ + var classPart = elClasses[i].substr(0,14); + if(classPart == "uk-form-width-"){ + var extraClass = elClasses[i]; + } + } + } + + if( $this.prev('label').length ) { + $this.prev('label').addBack().wrapAll('
'); + } else if($this.siblings('[data-uk-form-password]').length) { + $this.siblings('[data-uk-form-password]').addBack().wrapAll('
'); + } else { + $this.wrap('
'); + } + $this.closest('.md-input-wrapper').append(''); + + altair_md.update_input($this); + } + $body + .on('focus', '.md-input', function() { + $(this).closest('.md-input-wrapper').addClass('md-input-focus') + }) + .on('blur', '.md-input', function() { + $(this).closest('.md-input-wrapper').removeClass('md-input-focus'); + if(!$(this).hasClass('label-fixed')) { + if($(this).val() != '') { + $(this).closest('.md-input-wrapper').addClass('md-input-filled') + } else { + $(this).closest('.md-input-wrapper').removeClass('md-input-filled') + } + } + }) + .on('change', '.md-input', function() { + altair_md.update_input($(this)); + }); + }) + }, + update_input: function(object) { + // clear wrapper classes + object.closest('.uk-input-group').removeClass('uk-input-group-danger uk-input-group-success'); + object.closest('.md-input-wrapper').removeClass('md-input-wrapper-danger md-input-wrapper-success md-input-wrapper-disabled'); + + if(object.hasClass('md-input-danger')) { + if(object.closest('.uk-input-group').length) { + object.closest('.uk-input-group').addClass('uk-input-group-danger') + } + object.closest('.md-input-wrapper').addClass('md-input-wrapper-danger') + } + if(object.hasClass('md-input-success')) { + if(object.closest('.uk-input-group').length) { + object.closest('.uk-input-group').addClass('uk-input-group-success') + } + object.closest('.md-input-wrapper').addClass('md-input-wrapper-success') + } + if(object.prop('disabled')) { + object.closest('.md-input-wrapper').addClass('md-input-wrapper-disabled') + } + if(object.hasClass('label-fixed')) { + object.closest('.md-input-wrapper').addClass('md-input-filled') + } + if(object.val() != '') { + object.closest('.md-input-wrapper').addClass('md-input-filled') + } + } +}; \ No newline at end of file diff --git a/assets/js/altair_lp_common.min.js b/assets/js/altair_lp_common.min.js new file mode 100644 index 0000000..97e9f02 --- /dev/null +++ b/assets/js/altair_lp_common.min.js @@ -0,0 +1 @@ +var $body=$("body"),$html=$("html"),$window=$(window),$document=$(document),$header_main=$("#header_main"),header_main_height=$header_main.height(),easing_swiftOut=[.35,0,.25,1];function isHighDensity(){return window.matchMedia&&(window.matchMedia("only screen and (min-resolution: 124dpi), only screen and (min-resolution: 1.3dppx), only screen and (min-resolution: 48.8dpcm)").matches||window.matchMedia("only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 2.6/2), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3)").matches)||window.devicePixelRatio&&1.3'):e.siblings("[data-uk-form-password]").length?e.siblings("[data-uk-form-password]").addBack().wrapAll('
'):e.wrap('
'),e.closest(".md-input-wrapper").append(''),altair_md.update_input(e)}$body.on("focus",".md-input",function(){$(this).closest(".md-input-wrapper").addClass("md-input-focus")}).on("blur",".md-input",function(){$(this).closest(".md-input-wrapper").removeClass("md-input-focus"),$(this).hasClass("label-fixed")||(""!=$(this).val()?$(this).closest(".md-input-wrapper").addClass("md-input-filled"):$(this).closest(".md-input-wrapper").removeClass("md-input-filled"))}).on("change",".md-input",function(){altair_md.update_input($(this))})})},update_input:function(e){e.closest(".uk-input-group").removeClass("uk-input-group-danger uk-input-group-success"),e.closest(".md-input-wrapper").removeClass("md-input-wrapper-danger md-input-wrapper-success md-input-wrapper-disabled"),e.hasClass("md-input-danger")&&(e.closest(".uk-input-group").length&&e.closest(".uk-input-group").addClass("uk-input-group-danger"),e.closest(".md-input-wrapper").addClass("md-input-wrapper-danger")),e.hasClass("md-input-success")&&(e.closest(".uk-input-group").length&&e.closest(".uk-input-group").addClass("uk-input-group-success"),e.closest(".md-input-wrapper").addClass("md-input-wrapper-success")),e.prop("disabled")&&e.closest(".md-input-wrapper").addClass("md-input-wrapper-disabled"),e.hasClass("label-fixed")&&e.closest(".md-input-wrapper").addClass("md-input-filled"),""!=e.val()&&e.closest(".md-input-wrapper").addClass("md-input-filled")}}; \ No newline at end of file diff --git a/assets/js/common.js b/assets/js/common.js new file mode 100644 index 0000000..a2393e3 --- /dev/null +++ b/assets/js/common.js @@ -0,0 +1,10870 @@ +/*! + * jQuery JavaScript Library v3.4.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2019-05-01T21:04Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.4.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code, options ) { + DOMEval( code, { nonce: options && options.nonce } ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.4 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2019-04-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) && + + // Support: IE 8 only + // Exclude object elements + (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && rdescend.test( selector ) ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = (elem.ownerDocument || elem).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( typeof elem.contentDocument !== "undefined" ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + } ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + // Support: IE 9-11 only + // Also use offsetWidth/offsetHeight for when box sizing is unreliable + // We use getClientRects() to check for hidden/disconnected. + // In those cases, the computed value can be trusted to be border-box + if ( ( !support.boxSizingReliable() && isBorderBox || + val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url, options ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " +``` + +#### Babel + +[Babel](http://babeljs.io/) is a next generation JavaScript compiler. One of the features is the ability to use ES6/ES2015 modules now, even though browsers do not yet support this feature natively. + +```js +import $ from "jquery"; +``` + +#### Browserify/Webpack + +There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documention. In the script, including jQuery will usually look like this... + +```js +var $ = require("jquery"); +``` + +#### AMD (Asynchronous Module Definition) + +AMD is a module format built for the browser. For more information, we recommend [require.js' documentation](http://requirejs.org/docs/whyamd.html). + +```js +define(["jquery"], function($) { + +}); +``` + +### Node + +To include jQuery in [Node](nodejs.org), first install with npm. + +```sh +npm install jquery +``` + +For jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/tmpvar/jsdom). This can be useful for testing purposes. + +```js +require("jsdom").env("", function(err, window) { + if (err) { + console.error(err); + return; + } + + var $ = require("jquery")(window); +}); +``` diff --git a/bower_components/jquery/bower.json b/bower_components/jquery/bower.json new file mode 100644 index 0000000..95798d5 --- /dev/null +++ b/bower_components/jquery/bower.json @@ -0,0 +1,14 @@ +{ + "name": "jquery", + "main": "dist/jquery.js", + "license": "MIT", + "ignore": [ + "package.json" + ], + "keywords": [ + "jquery", + "javascript", + "browser", + "library" + ] +} \ No newline at end of file diff --git a/bower_components/jquery/dist/core.js b/bower_components/jquery/dist/core.js new file mode 100644 index 0000000..aeafc70 --- /dev/null +++ b/bower_components/jquery/dist/core.js @@ -0,0 +1,399 @@ +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + +define( [ + "./var/arr", + "./var/document", + "./var/getProto", + "./var/slice", + "./var/concat", + "./var/push", + "./var/indexOf", + "./var/class2type", + "./var/toString", + "./var/hasOwn", + "./var/fnToString", + "./var/ObjectFunctionString", + "./var/support", + "./var/isFunction", + "./var/isWindow", + "./core/DOMEval", + "./core/toType" +], function( arr, document, getProto, slice, concat, push, indexOf, + class2type, toString, hasOwn, fnToString, ObjectFunctionString, + support, isFunction, isWindow, DOMEval, toType ) { + +"use strict"; + +var + version = "3.4.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code, options ) { + DOMEval( code, { nonce: options && options.nonce } ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} + +return jQuery; +} ); diff --git a/bower_components/jquery/dist/jquery.js b/bower_components/jquery/dist/jquery.js new file mode 100644 index 0000000..773ad95 --- /dev/null +++ b/bower_components/jquery/dist/jquery.js @@ -0,0 +1,10598 @@ +/*! + * jQuery JavaScript Library v3.4.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2019-05-01T21:04Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.4.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code, options ) { + DOMEval( code, { nonce: options && options.nonce } ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.4 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2019-04-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) && + + // Support: IE 8 only + // Exclude object elements + (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && rdescend.test( selector ) ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = (elem.ownerDocument || elem).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( typeof elem.contentDocument !== "undefined" ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + } ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + // Support: IE 9-11 only + // Also use offsetWidth/offsetHeight for when box sizing is unreliable + // We use getClientRects() to check for hidden/disconnected. + // In those cases, the computed value can be trusted to be border-box + if ( ( !support.boxSizingReliable() && isBorderBox || + val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url, options ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + +``` + +## License + +Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License) diff --git a/bower_components/marked/SECURITY.md b/bower_components/marked/SECURITY.md new file mode 100644 index 0000000..4a2e1cb --- /dev/null +++ b/bower_components/marked/SECURITY.md @@ -0,0 +1,10 @@ +# Security Policy + +The only completely secure system is the one that doesn't exist in the first place. +Having said that, we take the security of Marked very seriously. + +## Reporting a Vulnerability + +Please disclose potential security issues by email to the project [committers](https://marked.js.org/#/AUTHORS.md) as well as the [listed owners within NPM](https://docs.npmjs.com/cli/owner). +We will provide an initial assessment of security reports within 48 hours and should apply patches within 2 weeks +(also, feel free to contribute a fix for the issue). diff --git a/bower_components/marked/bin/marked b/bower_components/marked/bin/marked new file mode 100644 index 0000000..4612fed --- /dev/null +++ b/bower_components/marked/bin/marked @@ -0,0 +1,215 @@ +#!/usr/bin/env node + +/** + * Marked CLI + * Copyright (c) 2011-2013, Christopher Jeffrey (MIT License) + */ + +const fs = require('fs'), + path = require('path'), + marked = require('../'); + +/** + * Man Page + */ + +function help() { + const spawn = require('child_process').spawn; + + const options = { + cwd: process.cwd(), + env: process.env, + setsid: false, + stdio: 'inherit' + }; + + spawn('man', [path.resolve(__dirname, '/../man/marked.1')], options) + .on('error', function() { + fs.readFile(path.resolve(__dirname, '/../man/marked.1.txt'), 'utf8', function(err, data) { + if (err) throw err; + console.log(data); + }); + }); +} + +function version() { + const pkg = require('../package.json'); + console.log(pkg.version); +} + +/** + * Main + */ + +function main(argv, callback) { + const files = [], + options = {}; + let input, + output, + string, + arg, + tokens, + opt; + + function getarg() { + let arg = argv.shift(); + + if (arg.indexOf('--') === 0) { + // e.g. --opt + arg = arg.split('='); + if (arg.length > 1) { + // e.g. --opt=val + argv.unshift(arg.slice(1).join('=')); + } + arg = arg[0]; + } else if (arg[0] === '-') { + if (arg.length > 2) { + // e.g. -abc + argv = arg.substring(1).split('').map(function(ch) { + return '-' + ch; + }).concat(argv); + arg = argv.shift(); + } else { + // e.g. -a + } + } else { + // e.g. foo + } + + return arg; + } + + while (argv.length) { + arg = getarg(); + switch (arg) { + case '--test': + return require('../test').main(process.argv.slice()); + case '-o': + case '--output': + output = argv.shift(); + break; + case '-i': + case '--input': + input = argv.shift(); + break; + case '-s': + case '--string': + string = argv.shift(); + break; + case '-t': + case '--tokens': + tokens = true; + break; + case '-h': + case '--help': + return help(); + case '-v': + case '--version': + return version(); + default: + if (arg.indexOf('--') === 0) { + opt = camelize(arg.replace(/^--(no-)?/, '')); + if (!marked.defaults.hasOwnProperty(opt)) { + continue; + } + if (arg.indexOf('--no-') === 0) { + options[opt] = typeof marked.defaults[opt] !== 'boolean' + ? null + : false; + } else { + options[opt] = typeof marked.defaults[opt] !== 'boolean' + ? argv.shift() + : true; + } + } else { + files.push(arg); + } + break; + } + } + + function getData(callback) { + if (!input) { + if (files.length <= 2) { + if (string) { + return callback(null, string); + } + return getStdin(callback); + } + input = files.pop(); + } + return fs.readFile(input, 'utf8', callback); + } + + return getData(function(err, data) { + if (err) return callback(err); + + data = tokens + ? JSON.stringify(marked.lexer(data, options), null, 2) + : marked(data, options); + + if (!output) { + process.stdout.write(data + '\n'); + return callback(); + } + + return fs.writeFile(output, data, callback); + }); +} + +/** + * Helpers + */ + +function getStdin(callback) { + const stdin = process.stdin; + let buff = ''; + + stdin.setEncoding('utf8'); + + stdin.on('data', function(data) { + buff += data; + }); + + stdin.on('error', function(err) { + return callback(err); + }); + + stdin.on('end', function() { + return callback(null, buff); + }); + + try { + stdin.resume(); + } catch (e) { + callback(e); + } +} + +function camelize(text) { + return text.replace(/(\w)-(\w)/g, function(_, a, b) { + return a + b.toUpperCase(); + }); +} + +function handleError(err) { + if (err.code === 'ENOENT') { + console.error('marked: output to ' + err.path + ': No such directory'); + return process.exit(1); + } + throw err; +} + +/** + * Expose / Entry Point + */ + +if (!module.parent) { + process.title = 'marked'; + main(process.argv.slice(), function(err, code) { + if (err) return handleError(err); + return process.exit(code || 0); + }); +} else { + module.exports = main; +} diff --git a/bower_components/marked/bower.json b/bower_components/marked/bower.json new file mode 100644 index 0000000..57c91f0 --- /dev/null +++ b/bower_components/marked/bower.json @@ -0,0 +1,23 @@ +{ + "name": "marked", + "homepage": "https://github.com/markedjs/marked", + "authors": [ + "Christopher Jeffrey " + ], + "description": "A markdown parser built for speed", + "keywords": [ + "markdown", + "markup", + "html" + ], + "main": "lib/marked.js", + "license": "MIT", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "app/bower_components", + "test", + "tests" + ] +} diff --git a/bower_components/marked/component.json b/bower_components/marked/component.json new file mode 100644 index 0000000..7ebd035 --- /dev/null +++ b/bower_components/marked/component.json @@ -0,0 +1,10 @@ +{ + "name": "marked", + "version": "0.3.4", + "repo": "markedjs/marked", + "description": "A markdown parser built for speed", + "keywords": ["markdown", "markup", "html"], + "scripts": ["lib/marked.js"], + "main": "lib/marked.js", + "license": "MIT" +} diff --git a/bower_components/marked/docs/AUTHORS.md b/bower_components/marked/docs/AUTHORS.md new file mode 100644 index 0000000..87ab522 --- /dev/null +++ b/bower_components/marked/docs/AUTHORS.md @@ -0,0 +1,269 @@ +# Authors + +Marked takes an encompassing approach to its community. As such, you can think of these as [concentric circles](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951), where each group encompasses the following groups. + + + + + + + + + + + + + + +
+ + + +
+ Christopher Jeffrey +
Original Author
+ Started the fire +
+ + + +
+ Josh Bruce +
Publisher
+ Release Wrangler; Humaning Helper; Heckler of Hypertext +
+ + + +
+ Steven +
Publisher
+ Release Wrangler; Dr. Docs; Open source, of course; GitHub Guru; Humaning Helper +
+ + + +
+ Jamie Davis +
Committer
+ Seeker of Security +
+ + + +
+ Tony Brix +
Publisher
+ Release Wrangler; Titan of the test harness; Dr. DevOps +
+   +
+ + + + + + + + + + + + + + + + +
+ + + +
+ Brandon der Blätter +
Contributor
+ Curious Contributor +
+ + + +
+ Carlos Valle +
Contributor
+ Maker of the Marked mark from 2018 to present +
+ + + +
+ Federico Soave +
Contributor
+ Regent of the Regex; Master of Marked +
+ + + +
+ Karen Yavine +
Contributor
+ Snyk's Security Saint +
+ + + +
+ Костя Третяк +
Contributor
+ +
+ + + +
+ Tom Theisen +
Contributor
+ Defibrillator +
+ + + +
+ Mateus Craveiro +
Contributor
+ Defibrillator +
+
+ +## Publishers + +Publishers are admins who also have the responsibility, privilege, and burden of publishing the new releases to NPM and performing outreach and external stakeholder communications. Further, when things go pear-shaped, they're the ones taking most of the heat. Finally, when things go well, they're the primary ones praising the contributors who made it possible. + +(In other words, while Admins are focused primarily on the internal workings of the project, Publishers are focused on internal *and* external concerns.) + +**Should not exceed 2:** Having more people with the authority to publish a release can quickly turn into a consensus seeking nightmare (design by committee). Having only one is preferred (Directly Responsible Individual); however, given the nature of the project and its history, having an immediate fallback, and a potential deep fallback (Original author) is probably a good idea. + +[Details on badges](#badges) + +## Admins + +Admins are committers who also have the responsibility, privilege, and burden of selecting committers and making sure the project itself runs smoothly, which includes community maintenance, governance, dispute resolution, and so on. (Letting the contributors easily enter into, and work within, the project to begin contributing, with as little friction as possible.) + +**Should not exceed 3:** When there are too many people with the ability to resolve disputes, the dispute itself can quickly turn into a dispute amongst the admins themselves; therefore, we want this group to be small enough to commit to action and large enough to not put too much burden on one person. (Should ensure faster resolution and responsiveness.) + +To be listed: Admins are usually selected from the pool of committers (or they volunteer, using the same process) who demonstrate good understanding of the marked culture, operations, and do their best to help new contributors get up to speed on how to contribute effectively to the project. + +To be removed: You can remove yourself through the [GitHub UI](https://help.github.com/articles/removing-yourself-from-a-collaborator-s-repository/). + +[Details on badges](#badges) + +## Committers + +Committers are contributors who also have the responsibility, privilege, some might even say burden of being able to review and merge contributions (just usually not their own). + +A note on "decision making authority". This is related to submitting PRs and the [advice process](http://www.reinventingorganizationswiki.com/Decision_Making). The person marked as having decision making authority over a certain area should be sought for advice in that area before committing to a course of action. + +**Should not exceed 5:** For larger PRs affecting more of the codebase and, most likely, review by more people, we try to keep this pool small and responsive and let those with decision making authority have final say without negative repercussions from the other committers. + +To be listed: Committers are usually selected (or they volunteer, using the same process) from contributors who enter the discussions regarding the future direction of Marked (maybe even doing informal reviews of contributions despite not being able to merge them yourself). + +To be removed: You can remove yourself through the [GitHub UI](https://help.github.com/articles/removing-yourself-from-a-collaborator-s-repository/). + +A note on volunteering: + +1. Please do not volunteer unless you believe you can demonstrate to your peers you can do the work required. +2. Please do not overcommit yourself; we count on those committed to the project to be responsive. Really consider, with all you have going on, whether you able to really commit to it. +3. Don't let the previous frighten you away, it can always be changed later by you or your peers. + +[Details on badges](#badges) + +## Contributors + +Contributors are users who submit a [PR](https://github.com/markedjs/marked/pulls), [Issue](https://github.com/markedjs/marked/issues), or collaborate in making Marked a better product and experience for all the users. + +To be listed: make a contribution and, if it has significant impact, the committers may be able to add you here. + +To be removed: please let us know or submit a PR. + +[Details on badges](#badges) + +## Users + +Users are anyone using Marked in some fashion, without them, there's no reason for us to exist. + +|Individual or Organization |Website |Project |Submitted by | +|:--------------------------|:-----------------------|:------------------------------------|:---------------------------------------------------| +|MarkedJS |https://marked.js.org |https://github.com/markedjs/marked |The marked committers | + +To be listed: All fields are optional. Contact any of the committers or, more timely, submit a pull request with the following (using the first row as an example): + +- **Individual or Organization:** The name you would like associated with the record. +- **Website:** A URL to a standalone website for the project. +- **Project:** A URL for the repository of the project using marked. +- **Submitted by:** The name and optional honorifics for the person adding the listing. + +To be removed: Same as above. Only instead of requesting addition request deletion or delete the row yourself. + +

Badges

+ +Badges? You don't *need* no stinkin' badges. + +Movie references aside. (It was either that or, "Let's play a game", but that would have been creepy…that's why it will most likely come later.) + +Badges? If you *want* 'em, we got 'em, and here's how you get 'em (and…dramatic pause…why not two dramatic pauses for emphasis?… how they can be taken away). + +- [ ] Add the appropriate badge to the desired contributor in the desired column of this page, even if they're not listed here yet. +- [ ] Submit a PR (we're big on PRs around here, if you haven't noticed, help us help you). +- [ ] Follow the instructions for submitting a badge PR. (There are more details to find within. Come on. Everybody likes surprises, right? No? Actually, we just try to put documentation where it belongs, closer to the code and part of the sequence of events.) + +### Badges at play: + +
+
Curious Contributor
+
A contributor with less than one year on this page who is actively engaged in submitting PRs, Issues, making recommendations, sharing thoughts…without being too annoying about it (let's be clear, submitting 100 Issues recommending the Marked Committers send everyone candy is trying for the badge, not honestly earning it).
+
Dr. DevOps
+
+

Someone who understands and contributes to improving the developer experience and flow of Marked into the world.

+
+ "The main characteristic of the DevOps movement is to strongly advocate automation and monitoring at all steps of software construction, from integration, testing, releasing to deployment and infrastructure management. DevOps aims at shorter development cycles, increased deployment frequency, more dependable releases, in close alignment with business objectives." ~ Wikipedia +
+
+
Dr. Docs
+
Someone who has contributed a great deal to the creation and maintenance of the non-code areas of marked.
+
Eye for the CLI
+
At this point? Pretty much anyone who can update that `man` file to the current Marked version without regression in the CLI tool itself.
+
GitHub Guru
+
Someone who always seems to be able to tell you easier ways to do things with GitHub.
+
Humaning Helper
+
Someone who goes out of their way to help contributors feel welcomed and valued. Further, someone who takes the extra steps(s) necessary to help new contributors get up to speed. Finally, they maintain composure even in times of disagreement and dispute resolution.
+
Heckler of Hypertext
+
Someone who demonstrates an esoteric level of knowledge when it comes to HTML. In other words, someone who says things like, "Did you know most Markdown flavors don't have a way to render a description list (`dl`)? All the more reason Markdown `!==` HTML."
+
Markdown Maestro
+
You know that person who knows about way too many different flavors of Markdown? The one who maybe seems a little too obsessed with the possibilities of Markdown beyond HTML? Come on. You know who they are. Or, at least you could, if you give them this badge.
+
Master of Marked
+
Someone who demonstrates they know the ins and outs of the codebase for Marked.
+
Open source, of course
+
Someone who advocates for and has a proven understanding of how to operate within open source communities.
+
Regent of the Regex
+

Can you demonstrate you understand the following without Google and Stackoverflow?

+

/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/

+

Because this author can't yet. That's who gets these.

+
+
Seeker of Security
+
Someone who has demonstrated a high degree of expertise or authority when it comes to software security.
+
Titan of the Test Harness
+
Someone who demonstrates high-levels of understanding regarding Marked's test harness.
+
Totally Tron
+
Someone who demonstrates they are willing and able to "fight for the users", both developers dependent on marked to do their jobs as well as end-users interacting with the output (particularly in the realm of those with the disabilities).
+
+ +### Special badges that come with the job: + +
+
Defibrillator
+
A contributor who stepped up to help bring Marked back to life by contributing solutions to help Marked pass when compared against the CommonMark and GitHub Flavored Markdown specifications.
+
Maker of the Marked mark
+
This badge is given to the person or organization credited with creating the logo (or logotype) used in Marked communications for a given period of time. **Maker of the Marked mark from 2017 to present**, for example.
+
Release Wrangler
+
This is a badge given to all Publishers.
+
Snyk's Security Saint
+
This is a badge given to whomever primarily reaches out from Snyk to let us know about security issues.
+
diff --git a/bower_components/marked/docs/CNAME b/bower_components/marked/docs/CNAME new file mode 100644 index 0000000..c92fdfc --- /dev/null +++ b/bower_components/marked/docs/CNAME @@ -0,0 +1 @@ +marked.js.org diff --git a/bower_components/marked/docs/CODE_OF_CONDUCT.md b/bower_components/marked/docs/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..5335399 --- /dev/null +++ b/bower_components/marked/docs/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to block temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team by submitting a PR with changes to the [AUTHORS](#/AUTHORS.md) page (or emailing josh@8fold.com). All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version [1.4][version]. + +[homepage]: https://www.contributor-covenant.org/ +[version]: https://www.contributor-covenant.org/version/1/4/code-of-conduct.html diff --git a/bower_components/marked/docs/CONTRIBUTING.md b/bower_components/marked/docs/CONTRIBUTING.md new file mode 100644 index 0000000..f5ec82b --- /dev/null +++ b/bower_components/marked/docs/CONTRIBUTING.md @@ -0,0 +1,95 @@ +# Contributing to Marked + +- [ ] Fork `markedjs/marked`. +- [ ] Clone the library locally using GitHub Desktop or the command line. +- [ ] Make sure you are on the `master` branch. +- [ ] Be sure to run `npm install` or `npm update`. +- [ ] Create a branch. +- [ ] Update code in `src` folder. (`lib` folder is for auto compiled code) +- [ ] Run `npm run test:all`, fix any broken things (for linting, you can run `npm run lint` to have the linter fix them for you). +- [ ] Run `npm run build:reset` to remove changes to compiled files. +- [ ] Submit a Pull Request. + +## Design principles + +Marked tends to favor following the SOLID set of software design and development principles; mainly the [single responsibility](https://en.wikipedia.org/wiki/Single_responsibility_principle) and [open/closed principles](https://en.wikipedia.org/wiki/Open/closed_principle): + +- **Single responsibility:** Marked, and the components of Marked, have the single responsibility of converting Markdown strings into HTML. +- **Open/closed:** Marked favors giving developers the means to easily extend the library and its components over changing Marked's behavior through configuration options. + +## Priorities + +We think we have our priorities sorted to build quality in. + +The following table lists the ticket type labels we use when there is work to be done on the code either through an Issue or a PR; in priority order. + +|Ticket type label |Description | +|:----------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|L0 - security |A security vulnerability within the Marked library is discovered. | +|L1 - broken |Valid usage results in incorrect output compared to [supported specifications](#/README.md#specifications) OR causes marked to crash AND there is no known workaround for the issue. | +|L2 - annoying |Similar to L1 - broken only there is a known workaround available for the issue. | +|RR - refactor and re-engineer |Results in an improvement to developers using Marked (improved readability) or end-users (faster performance) or both. | +|NFS - new feature (spec related) |A capability Marked does not currently provide but is in one of the [supported specifications](#/README.md#specifications) | +|NFU - new feature (user requested) |A capability Marked does not currently provide but has been requested by users of Marked. | +|NFE - new feature (should be an extension) |A capability Marked does not currently provide and is not part of a spec. | + +## Test early, often, and everything + +We try to write test cases to validate output (writing tests based on the [supported specifications](#/README.md#specifications)) and minimize regression (writing tests for issues fixed). Therefore, if you would like to contribute, some things you should know regarding the test harness. + +|Location |Description | +|:---------------------|:--------------------------------------------------------------------------------------------------------------| +|/test/specs/commonmark|Tests for [CommonMark](https://spec.commonmark.org/current/) compliance | +|/test/specs/gfm |Tests for [GFM](https://github.github.com/gfm/) compliance | +|/test/specs/new |Tests not related to the original `markdown.pl`. | +|/test/specs/original |Tests validating against the original `markdown.pl`. | +|/test/specs/redos |Tests for [ReDOS](https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS) vulnerabilities| + +If your test uses features or options, assuming `gfm` is set to `false`, for example, you can add [front-matter](https://www.npmjs.com/package/front-matter) to the top of +your `.md` file + +``` yml +--- +gfm: false +--- +``` + +## Submitting PRs and Issues + +Marked provides templates for submitting both pull requests and issues. When you begin creating a new PR or issue, you will see instructions on using the template. + +The PR templates include checklists for both the submitter and the reviewer, which, in most cases, will not be the same person. + +## Scripts + +When it comes to NPM commands, we try to use the native scripts provided by the NPM framework. + +To run the tests: + +``` bash +npm test +``` + +To test whether you are using the standard syntax rules for the project: + +```bash +npm run test:lint +``` + +To see time comparisons between Marked and other popular Markdown libraries: + +```bash +npm run bench +``` + +To check for (and fix) standardized syntax (lint): + +```bash +npm run lint +``` + +To build your own es5, esm, and minified versions of Marked: + +```bash +npm run build +``` diff --git a/bower_components/marked/docs/PUBLISHING.md b/bower_components/marked/docs/PUBLISHING.md new file mode 100644 index 0000000..7397266 --- /dev/null +++ b/bower_components/marked/docs/PUBLISHING.md @@ -0,0 +1,24 @@ +# Releasing Marked + +- [ ] See [contributing](#/CONTRIBUTING.md) +- [ ] Create release branch from `master` (`release-x.y.z`) +- [ ] Submit PR with minimal name: Release x.y.z +- [ ] Complete PR checklists + +## Overall strategy + +**Master is always shippable:** We try to merge PRs in such a way that `master` is the only branch to really be concerned about *and* `master` can always be released. This allows smoother flow between new features, bug fixes, and so on. (Almost a continuous deployment setup, without automation.) + +## Versioning + +We follow [semantic versioning](https://semver.org) where the following sequence is true `[major].[minor].[patch]`; therefore, consider the following implications of the release you are preparing: + +1. **Major:** There is at least one change not deemed backward compatible. +2. **Minor:** There is at least one new feature added to the release. +3. **Patch:** No breaking changes, no new features. + +What to expect while Marked is a zero-major (0.x.y): + +1. The major will remain at zero; thereby, alerting consumers to the potentially volatile nature of the package. +2. The minor will tend to be more analogous to a `major` release. +3. The patch will tend to be more analogous to a `minor` release or a collection of bug fixes (patches). diff --git a/bower_components/marked/docs/README.md b/bower_components/marked/docs/README.md new file mode 100644 index 0000000..f5ba9d2 --- /dev/null +++ b/bower_components/marked/docs/README.md @@ -0,0 +1,85 @@ +Marked is + +1. built for speed.* +2. a low-level markdown compiler for parsing markdown without caching or blocking for long periods of time.** +3. light-weight while implementing all markdown features from the supported flavors & specifications.*** +4. available as a command line interface (CLI) and running in client- or server-side JavaScript projects. + +

* Still working on metrics for comparative analysis and definition.
+** As few dependencies as possible.
+*** Strict compliance could result in slower processing when running comparative benchmarking.

+ + +

Demo

+ +Checkout the [demo page](./demo/) to see marked in action ⛹️ + +These documentation pages are also rendered using marked 💯 + + +

Installation

+ +**CLI:** `npm install -g marked` + +**In-browser:** `npm install marked` + +

Usage

+ +### Warning: 🚨 Marked does not [sanitize](https://marked.js.org/#/USING_ADVANCED.md#options) the output HTML. Please use a sanitize library, like [DOMPurify](https://github.com/cure53/DOMPurify) (recommended), [sanitize-html](https://github.com/apostrophecms/sanitize-html) or [insane](https://github.com/bevacqua/insane) on the output HTML! 🚨 + +**CLI** + +``` bash +$ marked -o hello.html +hello world +^D +$ cat hello.html +

hello world

+``` + +``` bash +$ marked -s "*hello world*" +

hello world

+``` + +**Browser** + +```html + + + + + Marked in the browser + + +
+ + + + +``` + + +Marked offers [advanced configurations](#/USING_ADVANCED.md) and [extensibility](#/USING_PRO.md) as well. + +

Supported Markdown specifications

+ +We actively support the features of the following [Markdown flavors](https://github.com/commonmark/CommonMark/wiki/Markdown-Flavors). + +|Flavor |Version | +|:----------------------------------------------------------|:----------| +|The original markdown.pl |-- | +|[CommonMark](http://spec.commonmark.org/0.29/) |0.29 | +|[GitHub Flavored Markdown](https://github.github.com/gfm/) |0.29 | + +By supporting the above Markdown flavors, it's possible that Marked can help you use other flavors as well; however, these are not actively supported by the community. + +

Security

+ +The only completely secure system is the one that doesn't exist in the first place. Having said that, we take the security of Marked very seriously. + +Therefore, please disclose potential security issues by email to the project [committers](#/AUTHORS.md) as well as the [listed owners within NPM](https://docs.npmjs.com/cli/owner). We will provide an initial assessment of security reports within 48 hours and should apply patches within 2 weeks (also, feel free to contribute a fix for the issue). + diff --git a/bower_components/marked/docs/USING_ADVANCED.md b/bower_components/marked/docs/USING_ADVANCED.md new file mode 100644 index 0000000..ee8b312 --- /dev/null +++ b/bower_components/marked/docs/USING_ADVANCED.md @@ -0,0 +1,150 @@ +## The `marked` function + +```js +marked(markdownString [,options] [,callback]) +``` + +|Argument |Type |Notes | +|:---------------------|:------------|:----------------------------------------------------------------------------------------------------| +|markdownString |`string` |String of markdown source to be compiled. | +|options|`object`|Hash of options. Can also use `marked.setOptions`. | +|callback |`function` |Called when `markdownString` has been parsed. Can be used as second argument if no `options` present.| + +### Alternative using reference + +```js +// Create reference instance +const marked = require('marked'); + +// Set options +// `highlight` example uses `highlight.js` +marked.setOptions({ + renderer: new marked.Renderer(), + highlight: function(code) { + return require('highlight.js').highlightAuto(code).value; + }, + pedantic: false, + gfm: true, + breaks: false, + sanitize: false, + smartLists: true, + smartypants: false, + xhtml: false +}); + +// Compile +console.log(marked(markdownString)); +``` + +

Options

+ +|Member |Type |Default |Since |Notes | +|:-----------|:---------|:--------|:--------|:-------------| +|baseUrl |`string` |`null` |0.3.9 |A prefix url for any relative link. | +|breaks |`boolean` |`false` |v0.2.7 |If true, add `
` on a single line break (copies GitHub). Requires `gfm` be `true`.| +|gfm |`boolean` |`true` |v0.2.1 |If true, use approved [GitHub Flavored Markdown (GFM) specification](https://github.github.com/gfm/).| +|headerIds |`boolean` |`true` |v0.4.0 |If true, include an `id` attribute when emitting headings (h1, h2, h3, etc).| +|headerPrefix|`string` |`''` |v0.3.0 |A string to prefix the `id` attribute when emitting headings (h1, h2, h3, etc).| +|highlight |`function`|`null` |v0.3.0 |A function to highlight code blocks, see Asynchronous highlighting.| +|langPrefix |`string` |`'language-'`|v0.3.0|A string to prefix the className in a `` block. Useful for syntax highlighting.| +|mangle |`boolean` |`true` |v0.3.4 |If true, autolinked email address is escaped with HTML character references.| +|pedantic |`boolean` |`false` |v0.2.1 |If true, conform to the original `markdown.pl` as much as possible. Don't fix original markdown bugs or behavior. Turns off and overrides `gfm`.| +|renderer |`object` |`new Renderer()`|v0.3.0|An object containing functions to render tokens to HTML. See [extensibility](/#/USING_PRO.md) for more details.| +|sanitize |`boolean` |`false` |v0.2.1 |If true, sanitize the HTML passed into `markdownString` with the `sanitizer` function.
**Warning**: This feature is deprecated and it should NOT be used as it cannot be considered secure.
Instead use a sanitize library, like [DOMPurify](https://github.com/cure53/DOMPurify) (recommended), [sanitize-html](https://github.com/apostrophecms/sanitize-html) or [insane](https://github.com/bevacqua/insane) on the output HTML! | +|sanitizer |`function`|`null` |v0.3.4 |A function to sanitize the HTML passed into `markdownString`.| +|silent |`boolean` |`false` |v0.2.7 |If true, the parser does not throw any exception.| +|smartLists |`boolean` |`false` |v0.2.8 |If true, use smarter list behavior than those found in `markdown.pl`.| +|smartypants |`boolean` |`false` |v0.2.9 |If true, use "smart" typographic punctuation for things like quotes and dashes.| +|xhtml |`boolean` |`false` |v0.3.2 |If true, emit self-closing HTML tags for void elements (<br/>, <img/>, etc.) with a "/" as required by XHTML.| + +

Asynchronous highlighting

+ +Unlike `highlight.js` the `pygmentize.js` library uses asynchronous highlighting. This example demonstrates that marked is agnostic when it comes to the highlighter you use. + +```js +marked.setOptions({ + highlight: function(code, lang, callback) { + require('pygmentize-bundled') ({ lang: lang, format: 'html' }, code, function (err, result) { + callback(err, result.toString()); + }); + } +}); + +console.log(marked(markdownString)); +``` + +In both examples, `code` is a `string` representing the section of code to pass to the highlighter. In this example, `lang` is a `string` informing the highlighter what programming language to use for the `code` and `callback` is the `function` the asynchronous highlighter will call once complete. + +

Workers

+ +To prevent ReDoS attacks you can run marked on a worker and terminate it when parsing takes longer than usual. + +Marked can be run in a [worker thread](https://nodejs.org/api/worker_threads.html) on a node server, or a [web worker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) in a browser. + +### Node Worker Thread + +```js +// markedWorker.js + +const marked = require('marked'); +const { parentPort } = require('worker_threads'); + +parentPort.on('message', (markdownString) => { + parentPort.postMessage(marked(markdownString)); +}); +``` + +```js +// index.js + +const { Worker } = require('worker_threads'); +const markedWorker = new Worker('./markedWorker.js'); + +const markedTimeout = setTimeout(() => { + markedWorker.terminate(); + throw new Error('Marked took too long!'); +}, timeoutLimit); + +markedWorker.on('message', (html) => { + clearTimeout(markedTimeout); + console.log(html); + markedWorker.terminate(); +}); + +markedWorker.postMessage(markdownString); +``` + +### Web Worker + +> **NOTE**: Web Workers send the payload from `postMessage` in an object with the payload in a `.data` property + +```js +// markedWorker.js + +importScripts('path/to/marked.min.js'); + +onmessage = (e) => { + const markdownString = e.data + postMessage(marked(markdownString)); +}; +``` + +```js +// script.js + +const markedWorker = new Worker('./markedWorker.js'); + +const markedTimeout = setTimeout(() => { + markedWorker.terminate(); + throw new Error('Marked took too long!'); +}, timeoutLimit); + +markedWorker.onmessage = (e) => { + clearTimeout(markedTimeout); + const html = e.data; + console.log(html); + markedWorker.terminate(); +}; + +markedWorker.postMessage(markdownString); +``` diff --git a/bower_components/marked/docs/USING_PRO.md b/bower_components/marked/docs/USING_PRO.md new file mode 100644 index 0000000..5e9451b --- /dev/null +++ b/bower_components/marked/docs/USING_PRO.md @@ -0,0 +1,163 @@ +## Extending Marked + +To champion the single-responsibility and open/closed principles, we have tried to make it relatively painless to extend marked. If you are looking to add custom functionality, this is the place to start. + +

The renderer

+ +The renderer is... + +**Example:** Overriding default heading token by adding an embedded anchor tag like on GitHub. + +```js +// Create reference instance +const marked = require('marked'); + +// Get reference +const renderer = new marked.Renderer(); + +// Override function +renderer.heading = function (text, level) { + const escapedText = text.toLowerCase().replace(/[^\w]+/g, '-'); + + return ` + + + + + ${text} + `; +}; + +// Run marked +console.log(marked('# heading+', { renderer: renderer })); +``` + +**Output:** + +```html +

+ + + + heading+ +

+``` + +### Block level renderer methods + +- code(*string* code, *string* infostring, *boolean* escaped) +- blockquote(*string* quote) +- html(*string* html) +- heading(*string* text, *number* level, *string* raw, *Slugger* slugger) +- hr() +- list(*string* body, *boolean* ordered, *number* start) +- listitem(*string* text, *boolean* task, *boolean* checked) +- checkbox(*boolean* checked) +- paragraph(*string* text) +- table(*string* header, *string* body) +- tablerow(*string* content) +- tablecell(*string* content, *object* flags) + +`slugger` has the `slug` method to create an unique id from value: + +```js +slugger.slug('foo') // foo +slugger.slug('foo') // foo-1 +slugger.slug('foo') // foo-2 +slugger.slug('foo 1') // foo-1-1 +slugger.slug('foo-1') // foo-1-2 +... +``` + +`flags` has the following properties: + +```js +{ + header: true || false, + align: 'center' || 'left' || 'right' +} +``` + +### Inline level renderer methods + +- strong(*string* text) +- em(*string* text) +- codespan(*string* code) +- br() +- del(*string* text) +- link(*string* href, *string* title, *string* text) +- image(*string* href, *string* title, *string* text) +- text(*string* text) + +

The lexer

+ +The lexer is... + + +

The parser

+ +The parser is... + +*** + +

Access to lexer and parser

+ +You also have direct access to the lexer and parser if you so desire. + +``` js +const tokens = marked.lexer(text, options); +console.log(marked.parser(tokens, options)); +``` + +``` js +const lexer = new marked.Lexer(options); +const tokens = lexer.lex(text); +console.log(tokens); +console.log(lexer.rules); +``` + +``` bash +$ node +> require('marked').lexer('> i am using marked.') +[ { type: 'blockquote_start' }, + { type: 'paragraph', + text: 'i am using marked.' }, + { type: 'blockquote_end' }, + links: {} ] +``` + +The Lexers build an array of tokens, which will be passed to their respective +Parsers. The Parsers process each token in the token arrays, +which are removed from the array of tokens: + +``` js +const marked = require('marked'); + +const md = ` + # heading + + [link][1] + + [1]: #heading "heading" +`; + +const tokens = marked.lexer(md); +console.log(tokens); + +const html = marked.parser(tokens); +console.log(html); + +console.log(tokens); +``` + +``` bash +[ { type: 'heading', depth: 1, text: 'heading' }, + { type: 'paragraph', text: ' [link][1]' }, + { type: 'space' }, + links: { '1': { href: '#heading', title: 'heading' } } ] + +

heading

+

link

+ +[ links: { '1': { href: '#heading', title: 'heading' } } ] +``` diff --git a/bower_components/marked/docs/broken.md b/bower_components/marked/docs/broken.md new file mode 100644 index 0000000..7bfa49e --- /dev/null +++ b/bower_components/marked/docs/broken.md @@ -0,0 +1,426 @@ +# Markdown is broken + +I have a lot of scraps of markdown engine oddities that I've collected over the +years. What you see below is slightly messy, but it's what I've managed to +cobble together to illustrate the differences between markdown engines, and +why, if there ever is a markdown specification, it has to be absolutely +thorough. There are a lot more of these little differences I have documented +elsewhere. I know I will find them lingering on my disk one day, but until +then, I'll continue to add whatever strange nonsensical things I find. + +Some of these examples may only mention a particular engine compared to marked. +However, the examples with markdown.pl could easily be swapped out for +discount, upskirt, or markdown.js, and you would very easily see even more +inconsistencies. + +A lot of this was written when I was very unsatisfied with the inconsistencies +between markdown engines. Please excuse the frustration noticeable in my +writing. + +## Examples of markdown's "stupid" list parsing + +``` +$ markdown.pl + + * item1 + + * item2 + + text +^D +
    +
  • item1

    + +
      +
    • item2
    • +
    + +

    text

  • +

+``` + + +``` +$ marked + * item1 + + * item2 + + text +^D +
    +
  • item1

    +
      +
    • item2
    • +
    +

    text

    +
  • +
+``` + +Which looks correct to you? + +- - - + +``` +$ markdown.pl +* hello + > world +^D +

    +
  • hello

    + +
    +

    world

  • +

+ +``` + +``` +$ marked +* hello + > world +^D +
    +
  • hello
    +

    world

    +
    +
  • +
+``` + +Again, which looks correct to you? + +- - - + +EXAMPLE: + +``` +$ markdown.pl +* hello + * world + * hi + code +^D +
    +
  • hello +
      +
    • world
    • +
    • hi + code
    • +
  • +
+``` + +The code isn't a code block even though it's after the bullet margin. I know, +lets give it two more spaces, effectively making it 8 spaces past the bullet. + +``` +$ markdown.pl +* hello + * world + * hi + code +^D +
    +
  • hello +
      +
    • world
    • +
    • hi + code
    • +
  • +
+``` + +And, it's still not a code block. Did you also notice that the 3rd item isn't +even its own list? Markdown screws that up too because of its indentation +unaware parsing. + +- - - + +Let's look at some more examples of markdown's list parsing: + +``` +$ markdown.pl + + * item1 + + * item2 + + text +^D +
    +
  • item1

    + +
      +
    • item2
    • +
    + +

    text

  • +

+``` + +Misnested tags. + + +``` +$ marked + * item1 + + * item2 + + text +^D +
    +
  • item1

    +
      +
    • item2
    • +
    +

    text

    +
  • +
+``` + +Which looks correct to you? + +- - - + +``` +$ markdown.pl +* hello + > world +^D +

    +
  • hello

    + +
    +

    world

  • +

+ +``` + +More misnested tags. + + +``` +$ marked +* hello + > world +^D +
    +
  • hello
    +

    world

    +
    +
  • +
+``` + +Again, which looks correct to you? + +- - - + +# Why quality matters - Part 2 + +``` bash +$ markdown.pl +* hello + > world +^D +

    +
  • hello

    + +
    +

    world

  • +

+ +``` + +``` bash +$ sundown # upskirt +* hello + > world +^D +
    +
  • hello +> world
  • +
+``` + +``` bash +$ marked +* hello + > world +^D +
  • hello

    world

+``` + +Which looks correct to you? + +- - - + +See: https://github.com/evilstreak/markdown-js/issues/23 + +``` bash +$ markdown.pl # upskirt/markdown.js/discount +* hello + var a = 1; +* world +^D +
    +
  • hello +var a = 1;
  • +
  • world
  • +
+``` + +``` bash +$ marked +* hello + var a = 1; +* world +^D +
  • hello +
    code>var a = 1;
  • +
  • world
+``` + +Which looks more reasonable? Why shouldn't code blocks be able to appear in +list items in a sane way? + +- - - + +``` bash +$ markdown.js +
hello
+ +hello +^D +

<div>hello</div>

+ +

<span>hello</span>

+``` + +``` bash +$ marked +
hello
+ +hello +^D +
hello
+ + +

hello +

+``` + +- - - + +See: https://github.com/evilstreak/markdown-js/issues/27 + +``` bash +$ markdown.js +[![an image](/image)](/link) +^D +

![an image

+``` + +``` bash +$ marked +[![an image](/image)](/link) +^D +

an image +

+``` + +- - - + +See: https://github.com/evilstreak/markdown-js/issues/24 + +``` bash +$ markdown.js +> a + +> b + +> c +^D +

a

bundefined> c

+``` + +``` bash +$ marked +> a + +> b + +> c +^D +

a + +

+

b + +

+

c +

+``` + +- - - + +``` bash +$ markdown.pl +* hello + * world + how + + are + you + + * today +* hi +^D +
    +
  • hello

    + +
      +
    • world +how
    • +
    + +

    are +you

    + +
      +
    • today
    • +
  • +
  • hi
  • +
+``` + +``` bash +$ marked +* hello + * world + how + + are + you + + * today +* hi +^D +
    +
  • hello

    +
      +
    • world +how

      +

      are +you

      +
    • +
    • today

      +
    • +
    +
  • +
  • hi
  • +
+``` diff --git a/bower_components/marked/docs/demo/demo.css b/bower_components/marked/docs/demo/demo.css new file mode 100644 index 0000000..398c663 --- /dev/null +++ b/bower_components/marked/docs/demo/demo.css @@ -0,0 +1,72 @@ +html, body { + margin: 0; + padding: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #333; + background-color: #fbfbfb; + height: 100%; +} + +textarea { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 12px; + resize: none; +} + +header { + padding-top: 10px; + display: flex; + height: 58px; +} + +header h1 { + margin: 0; +} + +.github-ribbon { + position: absolute; + top: 0; + right: 0; + border: 0; + z-index: 1000; +} + +.containers { + display: flex; + height: calc(100vh - 68px); +} + +.container { + flex-basis: 50%; + padding: 5px; + display: flex; + flex-direction: column; + height: 100%; + box-sizing: border-box; +} + +.pane, .inputPane { + margin-top: 5px; + padding: 0.6em; + border: 1px solid #ccc; + overflow: auto; + flex-grow: 1; + flex-shrink: 1; +} + +#preview { + display: flex; +} + +#preview iframe { + flex-grow: 1; +} + +#main { + display: none; +} + +.error { + border-color: red; + background-color: #FEE +} diff --git a/bower_components/marked/docs/demo/demo.js b/bower_components/marked/docs/demo/demo.js new file mode 100644 index 0000000..0564958 --- /dev/null +++ b/bower_components/marked/docs/demo/demo.js @@ -0,0 +1,534 @@ +/* globals marked, unfetch, ES6Promise, Promise */ // eslint-disable-line no-redeclare + +if (!window.Promise) { + window.Promise = ES6Promise; +} +if (!window.fetch) { + window.fetch = unfetch; +} + +onunhandledrejection = function(e) { + throw e.reason; +}; + +var $loadingElem = document.querySelector('#loading'); +var $mainElem = document.querySelector('#main'); +var $markdownElem = document.querySelector('#markdown'); +var $markedVerElem = document.querySelector('#markedVersion'); +var $commitVerElem = document.querySelector('#commitVersion'); +var $markedVer = document.querySelector('#markedCdn'); +var $optionsElem = document.querySelector('#options'); +var $outputTypeElem = document.querySelector('#outputType'); +var $inputTypeElem = document.querySelector('#inputType'); +var $responseTimeElem = document.querySelector('#responseTime'); +var $previewElem = document.querySelector('#preview'); +var $previewIframe = document.querySelector('#preview iframe'); +var $permalinkElem = document.querySelector('#permalink'); +var $clearElem = document.querySelector('#clear'); +var $htmlElem = document.querySelector('#html'); +var $lexerElem = document.querySelector('#lexer'); +var $panes = document.querySelectorAll('.pane'); +var $inputPanes = document.querySelectorAll('.inputPane'); +var lastInput = ''; +var inputDirty = true; +var $activeOutputElem = null; +var search = searchToObject(); +var markedVersions = { + master: 'https://cdn.jsdelivr.net/gh/markedjs/marked/lib/marked.js' +}; +var markedVersionCache = {}; +var delayTime = 1; +var checkChangeTimeout = null; +var markedWorker; + +$previewIframe.addEventListener('load', handleIframeLoad); + +$outputTypeElem.addEventListener('change', handleOutputChange, false); + +$inputTypeElem.addEventListener('change', handleInputChange, false); + +$markedVerElem.addEventListener('change', handleVersionChange, false); + +$markdownElem.addEventListener('change', handleInput, false); +$markdownElem.addEventListener('keyup', handleInput, false); +$markdownElem.addEventListener('keypress', handleInput, false); +$markdownElem.addEventListener('keydown', handleInput, false); + +$optionsElem.addEventListener('change', handleInput, false); +$optionsElem.addEventListener('keyup', handleInput, false); +$optionsElem.addEventListener('keypress', handleInput, false); +$optionsElem.addEventListener('keydown', handleInput, false); + +$commitVerElem.style.display = 'none'; +$commitVerElem.addEventListener('keypress', handleAddVersion, false); + +$clearElem.addEventListener('click', handleClearClick, false); + +Promise.all([ + setInitialQuickref(), + setInitialOutputType(), + setInitialText(), + setInitialVersion() + .then(setInitialOptions) +]).then(function() { + handleInputChange(); + handleOutputChange(); + checkForChanges(); + setScrollPercent(0); + $loadingElem.style.display = 'none'; + $mainElem.style.display = 'block'; +}); + +function setInitialText() { + if ('text' in search) { + $markdownElem.value = search.text; + } else { + return fetch('./initial.md') + .then(function(res) { return res.text(); }) + .then(function(text) { + if ($markdownElem.value === '') { + $markdownElem.value = text; + } + }); + } +} + +function setInitialQuickref() { + return fetch('./quickref.md') + .then(function(res) { return res.text(); }) + .then(function(text) { + document.querySelector('#quickref').value = text; + }); +} + +function setInitialVersion() { + return fetch('https://data.jsdelivr.com/v1/package/npm/marked') + .then(function(res) { + return res.json(); + }) + .then(function(json) { + for (var i = 0; i < json.versions.length; i++) { + var ver = json.versions[i]; + markedVersions[ver] = 'https://cdn.jsdelivr.net/npm/marked@' + ver + '/lib/marked.js'; + var opt = document.createElement('option'); + opt.textContent = ver; + opt.value = ver; + $markedVerElem.appendChild(opt); + } + }) + .then(function() { + return fetch('https://api.github.com/repos/markedjs/marked/commits') + .then(function(res) { + return res.json(); + }) + .then(function(json) { + markedVersions.master = 'https://cdn.jsdelivr.net/gh/markedjs/marked@' + json[0].sha + '/lib/marked.js'; + }) + .catch(function() { + // do nothing + // uses url without commit + }); + }) + .then(function() { + if (search.version) { + if (markedVersions[search.version]) { + return search.version; + } else { + var match = search.version.match(/^(\w+):(.+)$/); + if (match) { + switch (match[1]) { + case 'commit': + addCommitVersion(search.version, match[2].substring(0, 7), match[2]); + return search.version; + case 'pr': + return getPrCommit(match[2]) + .then(function(commit) { + if (!commit) { + return 'master'; + } + addCommitVersion(search.version, 'PR #' + match[2], commit); + return search.version; + }); + } + } + } + } + + return 'master'; + }) + .then(function(version) { + $markedVerElem.value = version; + }) + .then(updateVersion); +} + +function setInitialOptions() { + if ('options' in search) { + $optionsElem.value = search.options; + } else { + setDefaultOptions(); + } +} + +function setInitialOutputType() { + if (search.outputType) { + $outputTypeElem.value = search.outputType; + } +} + +function handleIframeLoad() { + lastInput = ''; + inputDirty = true; +} + +function handleInput() { + inputDirty = true; +}; + +function handleVersionChange() { + if ($markedVerElem.value === 'commit' || $markedVerElem.value === 'pr') { + $commitVerElem.style.display = ''; + } else { + $commitVerElem.style.display = 'none'; + updateVersion(); + } +} + +function handleClearClick() { + $markdownElem.value = ''; + $markedVerElem.value = 'master'; + $commitVerElem.style.display = 'none'; + updateVersion().then(setDefaultOptions); +} + +function handleAddVersion(e) { + if (e.which === 13) { + switch ($markedVerElem.value) { + case 'commit': + var commit = $commitVerElem.value.toLowerCase(); + if (!commit.match(/^[0-9a-f]{40}$/)) { + alert('That is not a valid commit'); + return; + } + addCommitVersion('commit:' + commit, commit.substring(0, 7), commit); + $markedVerElem.value = 'commit:' + commit; + $commitVerElem.style.display = 'none'; + $commitVerElem.value = ''; + updateVersion(); + break; + case 'pr': + $commitVerElem.disabled = true; + var pr = $commitVerElem.value.replace(/\D/g, ''); + getPrCommit(pr) + .then(function(commit) { + $commitVerElem.disabled = false; + if (!commit) { + alert('That is not a valid PR'); + return; + } + addCommitVersion('pr:' + pr, 'PR #' + pr, commit); + $markedVerElem.value = 'pr:' + pr; + $commitVerElem.style.display = 'none'; + $commitVerElem.value = ''; + updateVersion(); + }); + } + } +} + +function handleInputChange() { + handleChange($inputPanes, $inputTypeElem.value); +} + +function handleOutputChange() { + $activeOutputElem = handleChange($panes, $outputTypeElem.value); + updateLink(); +} + +function handleChange(panes, visiblePane) { + var active = null; + for (var i = 0; i < panes.length; i++) { + if (panes[i].id === visiblePane) { + panes[i].style.display = ''; + active = panes[i]; + } else { + panes[i].style.display = 'none'; + } + } + return active; +}; + +function addCommitVersion(value, text, commit) { + if (markedVersions[value]) { + return; + } + markedVersions[value] = 'https://cdn.jsdelivr.net/gh/markedjs/marked@' + commit + '/lib/marked.js'; + var opt = document.createElement('option'); + opt.textContent = text; + opt.value = value; + $markedVerElem.insertBefore(opt, $markedVerElem.firstChild); +} + +function getPrCommit(pr) { + return fetch('https://api.github.com/repos/markedjs/marked/pulls/' + pr + '/commits') + .then(function(res) { + return res.json(); + }) + .then(function(json) { + return json[json.length - 1].sha; + }).catch(function() { + // return undefined + }); +} + +function setDefaultOptions() { + if (window.Worker) { + messageWorker({ + task: 'defaults', + version: markedVersions[$markedVerElem.value] + }); + } else { + var defaults = marked.getDefaults(); + setOptions(defaults); + } +} + +function setOptions(opts) { + $optionsElem.value = JSON.stringify( + opts, + function(key, value) { + if (value && typeof value === 'object' && Object.getPrototypeOf(value) !== Object.prototype) { + return undefined; + } + return value; + }, ' '); +} + +function searchToObject() { + // modified from https://stackoverflow.com/a/7090123/806777 + var pairs = location.search.slice(1).split('&'); + var obj = {}; + + for (var i = 0; i < pairs.length; i++) { + if (pairs[i] === '') { + continue; + } + + var pair = pairs[i].split('='); + + obj[decodeURIComponent(pair.shift())] = decodeURIComponent(pair.join('=')); + } + + return obj; +} + +function jsonString(input) { + var output = (input + '') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/\t/g, '\\t') + .replace(/\f/g, '\\f') + .replace(/[\\"']/g, '\\$&') + .replace(/\u0000/g, '\\0'); + return '"' + output + '"'; +}; + +function getScrollSize() { + var e = $activeOutputElem; + + return e.scrollHeight - e.clientHeight; +}; + +function getScrollPercent() { + var size = getScrollSize(); + + if (size <= 0) { + return 1; + } + + return $activeOutputElem.scrollTop / size; +}; + +function setScrollPercent(percent) { + $activeOutputElem.scrollTop = percent * getScrollSize(); +}; + +function updateLink() { + var outputType = ''; + if ($outputTypeElem.value !== 'preview') { + outputType = 'outputType=' + $outputTypeElem.value + '&'; + } + + $permalinkElem.href = '?' + outputType + 'text=' + encodeURIComponent($markdownElem.value) + + '&options=' + encodeURIComponent($optionsElem.value) + + '&version=' + encodeURIComponent($markedVerElem.value); + history.replaceState('', document.title, $permalinkElem.href); +} + +function updateVersion() { + if (window.Worker) { + handleInput(); + return Promise.resolve(); + } + var promise; + if (markedVersionCache[$markedVerElem.value]) { + promise = Promise.resolve(markedVersionCache[$markedVerElem.value]); + } else { + promise = fetch(markedVersions[$markedVerElem.value]) + .then(function(res) { return res.text(); }) + .then(function(text) { + markedVersionCache[$markedVerElem.value] = text; + return text; + }); + } + return promise.then(function(text) { + var script = document.createElement('script'); + script.textContent = text; + + $markedVer.parentNode.replaceChild(script, $markedVer); + $markedVer = script; + }).then(handleInput); +} + +function checkForChanges() { + if (inputDirty && $markedVerElem.value !== 'commit' && $markedVerElem.value !== 'pr' && (typeof marked !== 'undefined' || window.Worker)) { + inputDirty = false; + + updateLink(); + + var options = {}; + var optionsString = $optionsElem.value || '{}'; + try { + var newOptions = JSON.parse(optionsString); + options = newOptions; + $optionsElem.classList.remove('error'); + } catch (err) { + $optionsElem.classList.add('error'); + } + + var version = markedVersions[$markedVerElem.value]; + var markdown = $markdownElem.value; + var hash = version + markdown + optionsString; + if (lastInput !== hash) { + lastInput = hash; + if (window.Worker) { + delayTime = 100; + messageWorker({ + task: 'parse', + version: version, + markdown: markdown, + options: options + }); + } else { + var startTime = new Date(); + var lexed = marked.lexer(markdown, options); + var lexedList = []; + for (var i = 0; i < lexed.length; i++) { + var lexedLine = []; + for (var j in lexed[i]) { + lexedLine.push(j + ':' + jsonString(lexed[i][j])); + } + lexedList.push('{' + lexedLine.join(', ') + '}'); + } + var parsed = marked.parser(lexed, options); + var scrollPercent = getScrollPercent(); + setParsed(parsed, lexedList.join('\n')); + setScrollPercent(scrollPercent); + var endTime = new Date(); + delayTime = endTime - startTime; + setResponseTime(delayTime); + if (delayTime < 50) { + delayTime = 50; + } else if (delayTime > 500) { + delayTime = 1000; + } + } + } + } + checkChangeTimeout = window.setTimeout(checkForChanges, delayTime); +}; + +function setResponseTime(ms) { + var amount = ms; + var suffix = 'ms'; + if (ms > 1000 * 60 * 60) { + amount = 'Too Long'; + suffix = ''; + } else if (ms > 1000 * 60) { + amount = '>' + Math.floor(ms / (1000 * 60)); + suffix = 'm'; + } else if (ms > 1000) { + amount = '>' + Math.floor(ms / 1000); + suffix = 's'; + } + $responseTimeElem.textContent = amount + suffix; +} + +function setParsed(parsed, lexed) { + try { + $previewIframe.contentDocument.body.innerHTML = parsed; + } catch (ex) {} + $htmlElem.value = parsed; + $lexerElem.value = lexed; +} + +function messageWorker(message) { + if (!markedWorker || markedWorker.working) { + if (markedWorker) { + clearTimeout(markedWorker.timeout); + markedWorker.terminate(); + } + markedWorker = new Worker('worker.js'); + markedWorker.onmessage = function(e) { + clearTimeout(markedWorker.timeout); + markedWorker.working = false; + switch (e.data.task) { + case 'defaults': + setOptions(e.data.defaults); + break; + case 'parse': + $previewElem.classList.remove('error'); + $htmlElem.classList.remove('error'); + $lexerElem.classList.remove('error'); + var scrollPercent = getScrollPercent(); + setParsed(e.data.parsed, e.data.lexed); + setScrollPercent(scrollPercent); + setResponseTime(e.data.time); + break; + } + clearTimeout(checkChangeTimeout); + delayTime = 10; + checkForChanges(); + }; + markedWorker.onerror = markedWorker.onmessageerror = function(err) { + clearTimeout(markedWorker.timeout); + var error = 'There was an error in the Worker'; + if (err) { + if (err.message) { + error = err.message; + } else { + error = err; + } + } + error = error.replace(/^Uncaught Error: /, ''); + $previewElem.classList.add('error'); + $htmlElem.classList.add('error'); + $lexerElem.classList.add('error'); + setParsed(error, error); + setScrollPercent(0); + }; + } + if (message.task !== 'defaults') { + markedWorker.working = true; + workerTimeout(0); + } + markedWorker.postMessage(message); +} + +function workerTimeout(seconds) { + markedWorker.timeout = setTimeout(function() { + seconds++; + markedWorker.onerror('Marked has taken longer than ' + seconds + ' second' + (seconds > 1 ? 's' : '') + ' to respond...'); + workerTimeout(seconds); + }, 1000); +} diff --git a/bower_components/marked/docs/demo/index.html b/bower_components/marked/docs/demo/index.html new file mode 100644 index 0000000..96a8ec1 --- /dev/null +++ b/bower_components/marked/docs/demo/index.html @@ -0,0 +1,78 @@ + + + + + Marked Demo + + + + + + Fork me on GitHub + + +
+ + + +

Marked Demo

+
+ +
Loading...
+
+
+
+
+ Input · + · + Version: + + · + + +
+ + +
+ +
+
+ · + Response Time: + +
+ +
+ + +
+ + + + + + +
+
+
+ + + + + + + diff --git a/bower_components/marked/docs/demo/initial.md b/bower_components/marked/docs/demo/initial.md new file mode 100644 index 0000000..d2b7d77 --- /dev/null +++ b/bower_components/marked/docs/demo/initial.md @@ -0,0 +1,36 @@ +Marked - Markdown Parser +======================== + +[Marked] lets you convert [Markdown] into HTML. Markdown is a simple text format whose goal is to be very easy to read and write, even when not converted to HTML. This demo page will let you type anything you like and see how it gets converted. Live. No more waiting around. + +How To Use The Demo +------------------- + +1. Type in stuff on the left. +2. See the live updates on the right. + +That's it. Pretty simple. There's also a drop-down option in the upper right to switch between various views: + +- **Preview:** A live display of the generated HTML as it would render in a browser. +- **HTML Source:** The generated HTML before your browser makes it pretty. +- **Lexer Data:** What [marked] uses internally, in case you like gory stuff like this. +- **Quick Reference:** A brief run-down of how to format things using markdown. + +Why Markdown? +------------- + +It's easy. It's not overly bloated, unlike HTML. Also, as the creator of [markdown] says, + +> The overriding design goal for Markdown's +> formatting syntax is to make it as readable +> as possible. The idea is that a +> Markdown-formatted document should be +> publishable as-is, as plain text, without +> looking like it's been marked up with tags +> or formatting instructions. + +Ready to start writing? Either start changing stuff on the left or +[clear everything](/demo/?text=) with a simple click. + +[Marked]: https://github.com/markedjs/marked/ +[Markdown]: http://daringfireball.net/projects/markdown/ diff --git a/bower_components/marked/docs/demo/preview.html b/bower_components/marked/docs/demo/preview.html new file mode 100644 index 0000000..7e8c89f --- /dev/null +++ b/bower_components/marked/docs/demo/preview.html @@ -0,0 +1,12 @@ + + + + + + marked.js preview + + + + + + diff --git a/bower_components/marked/docs/demo/quickref.md b/bower_components/marked/docs/demo/quickref.md new file mode 100644 index 0000000..10f09bd --- /dev/null +++ b/bower_components/marked/docs/demo/quickref.md @@ -0,0 +1,167 @@ +Markdown Quick Reference +======================== + +This guide is a very brief overview, with examples, of the syntax that [Markdown] supports. It is itself written in Markdown and you can copy the samples over to the left-hand pane for experimentation. It's shown as *text* and not *rendered HTML*. + +[Markdown]: http://daringfireball.net/projects/markdown/ + + +Simple Text Formatting +====================== + +First thing is first. You can use *stars* or _underscores_ for italics. **Double stars** and __double underscores__ do bold. ***Three together*** do ___both___. + +Paragraphs are pretty easy too. Just have a blank line between chunks of text. + +> This chunk of text is in a block quote. Its multiple lines will all be +> indended a bit from the rest of the text. +> +> > Multiple levels of block quotes also work. + +Sometimes you want to include some code, such as when you are explaining how `

` HTML tags work, or maybe you are a programmer and you are discussing `someMethod()`. + +If you want to include some code and have +newlines preserved, indent the line with a tab +or at least four spaces. + Extra spaces work here too. +This is also called preformatted text and it is useful for showing examples. +The text will stay as text, so any *markdown* or HTML you add will +not show up formatted. This way you can show markdown examples in a +markdown document. + +> You can also use preformatted text with your blockquotes +> as long as you add at least five spaces. + + +Headings +======== + +There are a couple of ways to make headings. Using three or more equals signs on a line under a heading makes it into an "h1" style. Three or more hyphens under a line makes it "h2" (slightly smaller). You can also use multiple pound symbols before and after a heading. Pounds after the title are ignored. Here's some examples: + +This is H1 +========== + +This is H2 +---------- + +# This is H1 +## This is H2 +### This is H3 with some extra pounds ### +#### You get the idea #### +##### I don't need extra pounds at the end +###### H6 is the max + + +Links +===== + +Let's link to a few sites. First, let's use the bare URL, like . Great for text, but ugly for HTML. +Next is an inline link to [Google](http://www.google.com). A little nicer. +This is a reference-style link to [Wikipedia] [1]. +Lastly, here's a pretty link to [Yahoo]. The reference-style and pretty links both automatically use the links defined below, but they could be defined *anywhere* in the markdown and are removed from the HTML. The names are also case insensitive, so you can use [YaHoO] and have it link properly. + +[1]: http://www.wikipedia.org/ +[Yahoo]: http://www.yahoo.com/ + +Title attributes may be added to links by adding text after a link. +This is the [inline link](http://www.bing.com "Bing") with a "Bing" title. +You can also go to [W3C] [2] and maybe visit a [friend]. + +[2]: http://w3c.org (The W3C puts out specs for web-based things) +[Friend]: http://facebook.com/ "Facebook!" + +Email addresses in plain text are not linked: test@example.com. +Email addresses wrapped in angle brackets are linked: . +They are also obfuscated so that email harvesting spam robots hopefully won't get them. + + +Lists +===== + +* This is a bulleted list +* Great for shopping lists +- You can also use hyphens ++ Or plus symbols + +The above is an "unordered" list. Now, on for a bit of order. + +1. Numbered lists are also easy +2. Just start with a number +3738762. However, the actual number doesn't matter when converted to HTML. +1. This will still show up as 4. + +You might want a few advanced lists: + +- This top-level list is wrapped in paragraph tags +- This generates an extra space between each top-level item. + +- You do it by adding a blank line + +- This nested list also has blank lines between the list items. + +- How to create nested lists +1. Start your regular list +2. Indent nested lists with four spaces +3. Further nesting means you should indent with four more spaces + * This line is indented with eight spaces. + +- List items can be quite lengthy. You can keep typing and either continue +them on the next line with no indentation. + +- Alternately, if that looks ugly, you can also +indent the next line a bit for a prettier look. + +- You can put large blocks of text in your list by just indenting with four spaces. + +This is formatted the same as code, but you can inspect the HTML +and find that it's just wrapped in a `

` tag and *won't* be shown +as preformatted text. + +You can keep adding more and more paragraphs to a single +list item by adding the traditional blank line and then keep +on indenting the paragraphs with four spaces. You really need +to only indent the first line, but that looks ugly. + +- Lists support blockquotes + +> Just like this example here. By the way, you can +> nest lists inside blockquotes! +> - Fantastic! + +- Lists support preformatted text + + You just need to indent eight spaces. + + +Even More +========= + +Horizontal Rule +--------------- + +If you need a horizontal rule you just need to put at least three hyphens, asterisks, or underscores on a line by themselves. You can also even put spaces between the characters. + +--- +**************************** +_ _ _ _ _ _ _ + +Those three all produced horizontal lines. Keep in mind that three hyphens under any text turns that text into a heading, so add a blank like if you use hyphens. + +Images +------ + +Images work exactly like links, but they have exclamation points in front. They work with references and titles too. + +![Google Logo](http://www.google.com/images/errors/logo_sm.gif) and ![Happy]. + +[Happy]: http://www.wpclipart.com/smiley/simple_smiley/smiley_face_simple_green_small.png ("Smiley face") + + +Inline HTML +----------- + +If markdown is too limiting, you can just insert your own crazy HTML. Span-level HTML can *still* use markdown. Block level elements must be separated from text by a blank line and must not have any spaces before the opening and closing HTML. + +

+It is a pity, but markdown does **not** work in here for most markdown parsers. [Marked] handles it pretty well. +
diff --git a/bower_components/marked/docs/demo/worker.js b/bower_components/marked/docs/demo/worker.js new file mode 100644 index 0000000..6a0fa03 --- /dev/null +++ b/bower_components/marked/docs/demo/worker.js @@ -0,0 +1,105 @@ +/* globals marked, unfetch, ES6Promise, Promise */ // eslint-disable-line no-redeclare +if (!self.Promise) { + self.importScripts('https://cdn.jsdelivr.net/npm/es6-promise/dist/es6-promise.js'); + self.Promise = ES6Promise; +} +if (!self.fetch) { + self.importScripts('https://cdn.jsdelivr.net/npm/unfetch/dist/unfetch.umd.js'); + self.fetch = unfetch; +} + +var versionCache = {}; +var currentVersion; + +onunhandledrejection = function(e) { + throw e.reason; +}; + +onmessage = function(e) { + if (e.data.version === currentVersion) { + parse(e); + } else { + loadVersion(e.data.version).then(function() { + parse(e); + }); + } +}; + +function parse(e) { + switch (e.data.task) { + case 'defaults': + + var defaults = {}; + if (typeof marked.getDefaults === 'function') { + defaults = marked.getDefaults(); + delete defaults.renderer; + } else if ('defaults' in marked) { + for (var prop in marked.defaults) { + if (prop !== 'renderer') { + defaults[prop] = marked.defaults[prop]; + } + } + } + postMessage({ + task: e.data.task, + defaults: defaults + }); + break; + case 'parse': + var startTime = new Date(); + var lexed = marked.lexer(e.data.markdown, e.data.options); + var lexedList = []; + for (var i = 0; i < lexed.length; i++) { + var lexedLine = []; + for (var j in lexed[i]) { + lexedLine.push(j + ':' + jsonString(lexed[i][j])); + } + lexedList.push('{' + lexedLine.join(', ') + '}'); + } + var parsed = marked.parser(lexed, e.data.options); + var endTime = new Date(); + // setTimeout(function () { + postMessage({ + task: e.data.task, + lexed: lexedList.join('\n'), + parsed: parsed, + time: endTime - startTime + }); + // }, 10000); + break; + } +} + +function jsonString(input) { + var output = (input + '') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/\t/g, '\\t') + .replace(/\f/g, '\\f') + .replace(/[\\"']/g, '\\$&') + .replace(/\u0000/g, '\\0'); + return '"' + output + '"'; +}; + +function loadVersion(ver) { + var promise; + if (versionCache[ver]) { + promise = Promise.resolve(versionCache[ver]); + } else { + promise = fetch(ver) + .then(function(res) { return res.text(); }) + .then(function(text) { + versionCache[ver] = text; + return text; + }); + } + return promise.then(function(text) { + try { + // eslint-disable-next-line no-new-func + Function(text)(); + } catch (err) { + throw new Error('Cannot load that version of marked'); + } + currentVersion = ver; + }); +} diff --git a/bower_components/marked/docs/img/logo-black-and-white.svg b/bower_components/marked/docs/img/logo-black-and-white.svg new file mode 100644 index 0000000..5f6c0b7 --- /dev/null +++ b/bower_components/marked/docs/img/logo-black-and-white.svg @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bower_components/marked/docs/img/logo-black.svg b/bower_components/marked/docs/img/logo-black.svg new file mode 100644 index 0000000..a67fb80 --- /dev/null +++ b/bower_components/marked/docs/img/logo-black.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bower_components/marked/docs/index.html b/bower_components/marked/docs/index.html new file mode 100644 index 0000000..6aed627 --- /dev/null +++ b/bower_components/marked/docs/index.html @@ -0,0 +1,270 @@ + + + + + Marked.js Documentation + + + + + + +
+
+ + + +

Marked.js Documentation

+
+ +
+ + + + + + diff --git a/bower_components/marked/index.js b/bower_components/marked/index.js new file mode 100644 index 0000000..a12f905 --- /dev/null +++ b/bower_components/marked/index.js @@ -0,0 +1 @@ +module.exports = require('./lib/marked'); diff --git a/bower_components/marked/jasmine.json b/bower_components/marked/jasmine.json new file mode 100644 index 0000000..bec4254 --- /dev/null +++ b/bower_components/marked/jasmine.json @@ -0,0 +1,11 @@ +{ + "spec_dir": "test", + "spec_files": [ + "**/*-spec.js" + ], + "helpers": [ + "helpers/helpers.js" + ], + "stopSpecOnExpectationFailure": false, + "random": true +} diff --git a/bower_components/marked/lib/marked.esm.js b/bower_components/marked/lib/marked.esm.js new file mode 100644 index 0000000..fbd6ec7 --- /dev/null +++ b/bower_components/marked/lib/marked.esm.js @@ -0,0 +1,1816 @@ +/** + * marked - a markdown parser + * Copyright (c) 2011-2019, Christopher Jeffrey. (MIT Licensed) + * https://github.com/markedjs/marked + */ + +/** + * DO NOT EDIT THIS FILE + * The code in this file is generated from files in ./src/ + */ + +function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; +} + +var defaults = createCommonjsModule(function (module) { +function getDefaults() { + return { + baseUrl: null, + breaks: false, + gfm: true, + headerIds: true, + headerPrefix: '', + highlight: null, + langPrefix: 'language-', + mangle: true, + pedantic: false, + renderer: null, + sanitize: false, + sanitizer: null, + silent: false, + smartLists: false, + smartypants: false, + xhtml: false + }; +} + +function changeDefaults(newDefaults) { + module.exports.defaults = newDefaults; +} + +module.exports = { + defaults: getDefaults(), + getDefaults, + changeDefaults +}; +}); +var defaults_1 = defaults.defaults; +var defaults_2 = defaults.getDefaults; +var defaults_3 = defaults.changeDefaults; + +/** + * Helpers + */ +const escapeTest = /[&<>"']/; +const escapeReplace = /[&<>"']/g; +const escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/; +const escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g; +const escapeReplacements = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' +}; +const getEscapeReplacement = (ch) => escapeReplacements[ch]; +function escape(html, encode) { + if (encode) { + if (escapeTest.test(html)) { + return html.replace(escapeReplace, getEscapeReplacement); + } + } else { + if (escapeTestNoEncode.test(html)) { + return html.replace(escapeReplaceNoEncode, getEscapeReplacement); + } + } + + return html; +} + +const unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig; + +function unescape(html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(unescapeTest, (_, n) => { + n = n.toLowerCase(); + if (n === 'colon') return ':'; + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' + ? String.fromCharCode(parseInt(n.substring(2), 16)) + : String.fromCharCode(+n.substring(1)); + } + return ''; + }); +} + +const caret = /(^|[^\[])\^/g; +function edit(regex, opt) { + regex = regex.source || regex; + opt = opt || ''; + const obj = { + replace: (name, val) => { + val = val.source || val; + val = val.replace(caret, '$1'); + regex = regex.replace(name, val); + return obj; + }, + getRegex: () => { + return new RegExp(regex, opt); + } + }; + return obj; +} + +const nonWordAndColonTest = /[^\w:]/g; +const originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; +function cleanUrl(sanitize, base, href) { + if (sanitize) { + let prot; + try { + prot = decodeURIComponent(unescape(href)) + .replace(nonWordAndColonTest, '') + .toLowerCase(); + } catch (e) { + return null; + } + if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { + return null; + } + } + if (base && !originIndependentUrl.test(href)) { + href = resolveUrl(base, href); + } + try { + href = encodeURI(href).replace(/%25/g, '%'); + } catch (e) { + return null; + } + return href; +} + +const baseUrls = {}; +const justDomain = /^[^:]+:\/*[^/]*$/; +const protocol = /^([^:]+:)[\s\S]*$/; +const domain = /^([^:]+:\/*[^/]*)[\s\S]*$/; + +function resolveUrl(base, href) { + if (!baseUrls[' ' + base]) { + // we can ignore everything in base after the last slash of its path component, + // but we might need to add _that_ + // https://tools.ietf.org/html/rfc3986#section-3 + if (justDomain.test(base)) { + baseUrls[' ' + base] = base + '/'; + } else { + baseUrls[' ' + base] = rtrim(base, '/', true); + } + } + base = baseUrls[' ' + base]; + const relativeBase = base.indexOf(':') === -1; + + if (href.substring(0, 2) === '//') { + if (relativeBase) { + return href; + } + return base.replace(protocol, '$1') + href; + } else if (href.charAt(0) === '/') { + if (relativeBase) { + return href; + } + return base.replace(domain, '$1') + href; + } else { + return base + href; + } +} + +const noopTest = { exec: function noopTest() {} }; + +function merge(obj) { + let i = 1, + target, + key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; +} + +function splitCells(tableRow, count) { + // ensure that every cell-delimiting pipe has a space + // before it to distinguish it from an escaped pipe + const row = tableRow.replace(/\|/g, (match, offset, str) => { + let escaped = false, + curr = offset; + while (--curr >= 0 && str[curr] === '\\') escaped = !escaped; + if (escaped) { + // odd number of slashes means | is escaped + // so we leave it alone + return '|'; + } else { + // add space before unescaped | + return ' |'; + } + }), + cells = row.split(/ \|/); + let i = 0; + + if (cells.length > count) { + cells.splice(count); + } else { + while (cells.length < count) cells.push(''); + } + + for (; i < cells.length; i++) { + // leading or trailing whitespace is ignored per the gfm spec + cells[i] = cells[i].trim().replace(/\\\|/g, '|'); + } + return cells; +} + +// Remove trailing 'c's. Equivalent to str.replace(/c*$/, ''). +// /c*$/ is vulnerable to REDOS. +// invert: Remove suffix of non-c chars instead. Default falsey. +function rtrim(str, c, invert) { + const l = str.length; + if (l === 0) { + return ''; + } + + // Length of suffix matching the invert condition. + let suffLen = 0; + + // Step left until we fail to match the invert condition. + while (suffLen < l) { + const currChar = str.charAt(l - suffLen - 1); + if (currChar === c && !invert) { + suffLen++; + } else if (currChar !== c && invert) { + suffLen++; + } else { + break; + } + } + + return str.substr(0, l - suffLen); +} + +function findClosingBracket(str, b) { + if (str.indexOf(b[1]) === -1) { + return -1; + } + const l = str.length; + let level = 0, + i = 0; + for (; i < l; i++) { + if (str[i] === '\\') { + i++; + } else if (str[i] === b[0]) { + level++; + } else if (str[i] === b[1]) { + level--; + if (level < 0) { + return i; + } + } + } + return -1; +} + +function checkSanitizeDeprecation(opt) { + if (opt && opt.sanitize && !opt.silent) { + console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options'); + } +} + +var helpers = { + escape, + unescape, + edit, + cleanUrl, + resolveUrl, + noopTest, + merge, + splitCells, + rtrim, + findClosingBracket, + checkSanitizeDeprecation +}; + +const { + noopTest: noopTest$1, + edit: edit$1, + merge: merge$1 +} = helpers; + +/** + * Block-Level Grammar + */ +const block = { + newline: /^\n+/, + code: /^( {4}[^\n]+\n*)+/, + fences: /^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/, + hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, + heading: /^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/, + blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, + list: /^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, + html: '^ {0,3}(?:' // optional indentation + + '<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)' // (1) + + '|comment[^\\n]*(\\n+|$)' // (2) + + '|<\\?[\\s\\S]*?\\?>\\n*' // (3) + + '|\\n*' // (4) + + '|\\n*' // (5) + + '|)[\\s\\S]*?(?:\\n{2,}|$)' // (6) + + '|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) open tag + + '|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) closing tag + + ')', + def: /^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/, + nptable: noopTest$1, + table: noopTest$1, + lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, + // regex template, placeholders will be replaced according to different paragraph + // interruption rules of commonmark and the original markdown spec: + _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/, + text: /^[^\n]+/ +}; + +block._label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/; +block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/; +block.def = edit$1(block.def) + .replace('label', block._label) + .replace('title', block._title) + .getRegex(); + +block.bullet = /(?:[*+-]|\d{1,9}\.)/; +block.item = /^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/; +block.item = edit$1(block.item, 'gm') + .replace(/bull/g, block.bullet) + .getRegex(); + +block.list = edit$1(block.list) + .replace(/bull/g, block.bullet) + .replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))') + .replace('def', '\\n+(?=' + block.def.source + ')') + .getRegex(); + +block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + + '|track|ul'; +block._comment = //; +block.html = edit$1(block.html, 'i') + .replace('comment', block._comment) + .replace('tag', block._tag) + .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/) + .getRegex(); + +block.paragraph = edit$1(block._paragraph) + .replace('hr', block.hr) + .replace('heading', ' {0,3}#{1,6} +') + .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs + .replace('blockquote', ' {0,3}>') + .replace('fences', ' {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|!--)') + .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks + .getRegex(); + +block.blockquote = edit$1(block.blockquote) + .replace('paragraph', block.paragraph) + .getRegex(); + +/** + * Normal Block Grammar + */ + +block.normal = merge$1({}, block); + +/** + * GFM Block Grammar + */ + +block.gfm = merge$1({}, block.normal, { + nptable: /^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/, + table: /^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/ +}); + +/** + * Pedantic grammar (original John Gruber's loose markdown specification) + */ + +block.pedantic = merge$1({}, block.normal, { + html: edit$1( + '^ *(?:comment *(?:\\n|\\s*$)' + + '|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)' // closed tag + + '|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))') + .replace('comment', block._comment) + .replace(/tag/g, '(?!(?:' + + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b') + .getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/, + fences: noopTest$1, // fences not supported + paragraph: edit$1(block.normal._paragraph) + .replace('hr', block.hr) + .replace('heading', ' *#{1,6} *[^\n]') + .replace('lheading', block.lheading) + .replace('blockquote', ' {0,3}>') + .replace('|fences', '') + .replace('|list', '') + .replace('|html', '') + .getRegex() +}); + +/** + * Inline-Level Grammar + */ +const inline = { + escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, + autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, + url: noopTest$1, + tag: '^comment' + + '|^' // self-closing tag + + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag + + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. + + '|^' // declaration, e.g. + + '|^', // CDATA section + link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, + reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/, + nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/, + strong: /^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/, + em: /^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/, + code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, + br: /^( {2,}|\\)\n(?!\s*$)/, + del: noopTest$1, + text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~'; +inline.em = edit$1(inline.em).replace(/punctuation/g, inline._punctuation).getRegex(); + +inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g; + +inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/; +inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/; +inline.autolink = edit$1(inline.autolink) + .replace('scheme', inline._scheme) + .replace('email', inline._email) + .getRegex(); + +inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/; + +inline.tag = edit$1(inline.tag) + .replace('comment', block._comment) + .replace('attribute', inline._attribute) + .getRegex(); + +inline._label = /(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/; +inline._href = /<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/; +inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/; + +inline.link = edit$1(inline.link) + .replace('label', inline._label) + .replace('href', inline._href) + .replace('title', inline._title) + .getRegex(); + +inline.reflink = edit$1(inline.reflink) + .replace('label', inline._label) + .getRegex(); + +/** + * Normal Inline Grammar + */ + +inline.normal = merge$1({}, inline); + +/** + * Pedantic Inline Grammar + */ + +inline.pedantic = merge$1({}, inline.normal, { + strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, + em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/, + link: edit$1(/^!?\[(label)\]\((.*?)\)/) + .replace('label', inline._label) + .getRegex(), + reflink: edit$1(/^!?\[(label)\]\s*\[([^\]]*)\]/) + .replace('label', inline._label) + .getRegex() +}); + +/** + * GFM Inline Grammar + */ + +inline.gfm = merge$1({}, inline.normal, { + escape: edit$1(inline.escape).replace('])', '~|])').getRegex(), + _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, + url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, + _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, + del: /^~+(?=\S)([\s\S]*?\S)~+/, + text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\ 1) { + this.tokens.push({ + type: 'space' + }); + } + } + + // code + if (cap = this.rules.code.exec(src)) { + const lastToken = this.tokens[this.tokens.length - 1]; + src = src.substring(cap[0].length); + // An indented code block cannot interrupt a paragraph. + if (lastToken && lastToken.type === 'paragraph') { + lastToken.text += '\n' + cap[0].trimRight(); + } else { + cap = cap[0].replace(/^ {4}/gm, ''); + this.tokens.push({ + type: 'code', + codeBlockStyle: 'indented', + text: !this.options.pedantic + ? rtrim$1(cap, '\n') + : cap + }); + } + continue; + } + + // fences + if (cap = this.rules.fences.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'code', + lang: cap[2] ? cap[2].trim() : cap[2], + text: cap[3] || '' + }); + continue; + } + + // heading + if (cap = this.rules.heading.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'heading', + depth: cap[1].length, + text: cap[2] + }); + continue; + } + + // table no leading pipe (gfm) + if (cap = this.rules.nptable.exec(src)) { + item = { + type: 'table', + header: splitCells$1(cap[1].replace(/^ *| *\| *$/g, '')), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + src = src.substring(cap[0].length); + + for (i = 0; i < item.align.length; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + for (i = 0; i < item.cells.length; i++) { + item.cells[i] = splitCells$1(item.cells[i], item.header.length); + } + + this.tokens.push(item); + + continue; + } + } + + // hr + if (cap = this.rules.hr.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'hr' + }); + continue; + } + + // blockquote + if (cap = this.rules.blockquote.exec(src)) { + src = src.substring(cap[0].length); + + this.tokens.push({ + type: 'blockquote_start' + }); + + cap = cap[0].replace(/^ *> ?/gm, ''); + + // Pass `top` to keep the current + // "toplevel" state. This is exactly + // how markdown.pl works. + this.token(cap, top); + + this.tokens.push({ + type: 'blockquote_end' + }); + + continue; + } + + // list + if (cap = this.rules.list.exec(src)) { + src = src.substring(cap[0].length); + bull = cap[2]; + isordered = bull.length > 1; + + listStart = { + type: 'list_start', + ordered: isordered, + start: isordered ? +bull : '', + loose: false + }; + + this.tokens.push(listStart); + + // Get each top-level item. + cap = cap[0].match(this.rules.item); + + listItems = []; + next = false; + l = cap.length; + i = 0; + + for (; i < l; i++) { + item = cap[i]; + + // Remove the list item's bullet + // so it is seen as the next token. + space = item.length; + item = item.replace(/^ *([*+-]|\d+\.) */, ''); + + // Outdent whatever the + // list item contains. Hacky. + if (~item.indexOf('\n ')) { + space -= item.length; + item = !this.options.pedantic + ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') + : item.replace(/^ {1,4}/gm, ''); + } + + // Determine whether the next list item belongs here. + // Backpedal if it does not belong in this list. + if (i !== l - 1) { + b = block$1.bullet.exec(cap[i + 1])[0]; + if (bull.length > 1 ? b.length === 1 + : (b.length > 1 || (this.options.smartLists && b !== bull))) { + src = cap.slice(i + 1).join('\n') + src; + i = l - 1; + } + } + + // Determine whether item is loose or not. + // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ + // for discount behavior. + loose = next || /\n\n(?!\s*$)/.test(item); + if (i !== l - 1) { + next = item.charAt(item.length - 1) === '\n'; + if (!loose) loose = next; + } + + if (loose) { + listStart.loose = true; + } + + // Check for task list items + istask = /^\[[ xX]\] /.test(item); + ischecked = undefined; + if (istask) { + ischecked = item[1] !== ' '; + item = item.replace(/^\[[ xX]\] +/, ''); + } + + t = { + type: 'list_item_start', + task: istask, + checked: ischecked, + loose: loose + }; + + listItems.push(t); + this.tokens.push(t); + + // Recurse. + this.token(item, false); + + this.tokens.push({ + type: 'list_item_end' + }); + } + + if (listStart.loose) { + l = listItems.length; + i = 0; + for (; i < l; i++) { + listItems[i].loose = true; + } + } + + this.tokens.push({ + type: 'list_end' + }); + + continue; + } + + // html + if (cap = this.rules.html.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: this.options.sanitize + ? 'paragraph' + : 'html', + pre: !this.options.sanitizer + && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), + text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape$1(cap[0])) : cap[0] + }); + continue; + } + + // def + if (top && (cap = this.rules.def.exec(src))) { + src = src.substring(cap[0].length); + if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1); + tag = cap[1].toLowerCase().replace(/\s+/g, ' '); + if (!this.tokens.links[tag]) { + this.tokens.links[tag] = { + href: cap[2], + title: cap[3] + }; + } + continue; + } + + // table (gfm) + if (cap = this.rules.table.exec(src)) { + item = { + type: 'table', + header: splitCells$1(cap[1].replace(/^ *| *\| *$/g, '')), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + src = src.substring(cap[0].length); + + for (i = 0; i < item.align.length; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + for (i = 0; i < item.cells.length; i++) { + item.cells[i] = splitCells$1( + item.cells[i].replace(/^ *\| *| *\| *$/g, ''), + item.header.length); + } + + this.tokens.push(item); + + continue; + } + } + + // lheading + if (cap = this.rules.lheading.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'heading', + depth: cap[2].charAt(0) === '=' ? 1 : 2, + text: cap[1] + }); + continue; + } + + // top-level paragraph + if (top && (cap = this.rules.paragraph.exec(src))) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'paragraph', + text: cap[1].charAt(cap[1].length - 1) === '\n' + ? cap[1].slice(0, -1) + : cap[1] + }); + continue; + } + + // text + if (cap = this.rules.text.exec(src)) { + // Top-level should never reach here. + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'text', + text: cap[0] + }); + continue; + } + + if (src) { + throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); + } + } + + return this.tokens; + }; +}; + +const { defaults: defaults$2 } = defaults; +const { + cleanUrl: cleanUrl$1, + escape: escape$2 +} = helpers; + +/** + * Renderer + */ +var Renderer_1 = class Renderer { + constructor(options) { + this.options = options || defaults$2; + } + + code(code, infostring, escaped) { + const lang = (infostring || '').match(/\S*/)[0]; + if (this.options.highlight) { + const out = this.options.highlight(code, lang); + if (out != null && out !== code) { + escaped = true; + code = out; + } + } + + if (!lang) { + return '
'
+        + (escaped ? code : escape$2(code, true))
+        + '
'; + } + + return '
'
+      + (escaped ? code : escape$2(code, true))
+      + '
\n'; + }; + + blockquote(quote) { + return '
\n' + quote + '
\n'; + }; + + html(html) { + return html; + }; + + heading(text, level, raw, slugger) { + if (this.options.headerIds) { + return '' + + text + + '\n'; + } + // ignore IDs + return '' + text + '\n'; + }; + + hr() { + return this.options.xhtml ? '
\n' : '
\n'; + }; + + list(body, ordered, start) { + const type = ordered ? 'ol' : 'ul', + startatt = (ordered && start !== 1) ? (' start="' + start + '"') : ''; + return '<' + type + startatt + '>\n' + body + '\n'; + }; + + listitem(text) { + return '
  • ' + text + '
  • \n'; + }; + + checkbox(checked) { + return ' '; + }; + + paragraph(text) { + return '

    ' + text + '

    \n'; + }; + + table(header, body) { + if (body) body = '' + body + ''; + + return '\n' + + '\n' + + header + + '\n' + + body + + '
    \n'; + }; + + tablerow(content) { + return '\n' + content + '\n'; + }; + + tablecell(content, flags) { + const type = flags.header ? 'th' : 'td'; + const tag = flags.align + ? '<' + type + ' align="' + flags.align + '">' + : '<' + type + '>'; + return tag + content + '\n'; + }; + + // span level renderer + strong(text) { + return '' + text + ''; + }; + + em(text) { + return '' + text + ''; + }; + + codespan(text) { + return '' + text + ''; + }; + + br() { + return this.options.xhtml ? '
    ' : '
    '; + }; + + del(text) { + return '' + text + ''; + }; + + link(href, title, text) { + href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href); + if (href === null) { + return text; + } + let out = ''; + return out; + }; + + image(href, title, text) { + href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href); + if (href === null) { + return text; + } + + let out = '' + text + '' : '>'; + return out; + }; + + text(text) { + return text; + }; +}; + +/** + * Slugger generates header id + */ +var Slugger_1 = class Slugger { + constructor() { + this.seen = {}; + } + + /** + * Convert string to unique id + */ + slug(value) { + let slug = value + .toLowerCase() + .trim() + .replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '') + .replace(/\s/g, '-'); + + if (this.seen.hasOwnProperty(slug)) { + const originalSlug = slug; + do { + this.seen[originalSlug]++; + slug = originalSlug + '-' + this.seen[originalSlug]; + } while (this.seen.hasOwnProperty(slug)); + } + this.seen[slug] = 0; + + return slug; + }; +}; + +const { defaults: defaults$3 } = defaults; +const { inline: inline$1 } = rules; +const { + findClosingBracket: findClosingBracket$1, + escape: escape$3 +} = helpers; + +/** + * Inline Lexer & Compiler + */ +var InlineLexer_1 = class InlineLexer { + constructor(links, options) { + this.options = options || defaults$3; + this.links = links; + this.rules = inline$1.normal; + this.options.renderer = this.options.renderer || new Renderer_1(); + this.renderer = this.options.renderer; + this.renderer.options = this.options; + + if (!this.links) { + throw new Error('Tokens array requires a `links` property.'); + } + + if (this.options.pedantic) { + this.rules = inline$1.pedantic; + } else if (this.options.gfm) { + if (this.options.breaks) { + this.rules = inline$1.breaks; + } else { + this.rules = inline$1.gfm; + } + } + } + + /** + * Expose Inline Rules + */ + static get rules() { + return inline$1; + } + + /** + * Static Lexing/Compiling Method + */ + static output(src, links, options) { + const inline = new InlineLexer(links, options); + return inline.output(src); + } + + /** + * Lexing/Compiling + */ + output(src) { + let out = '', + link, + text, + href, + title, + cap, + prevCapZero; + + while (src) { + // escape + if (cap = this.rules.escape.exec(src)) { + src = src.substring(cap[0].length); + out += escape$3(cap[1]); + continue; + } + + // tag + if (cap = this.rules.tag.exec(src)) { + if (!this.inLink && /^/i.test(cap[0])) { + this.inLink = false; + } + if (!this.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.inRawBlock = true; + } else if (this.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.inRawBlock = false; + } + + src = src.substring(cap[0].length); + out += this.options.sanitize + ? this.options.sanitizer + ? this.options.sanitizer(cap[0]) + : escape$3(cap[0]) + : cap[0]; + continue; + } + + // link + if (cap = this.rules.link.exec(src)) { + const lastParenIndex = findClosingBracket$1(cap[2], '()'); + if (lastParenIndex > -1) { + const start = cap[0].indexOf('!') === 0 ? 5 : 4; + const linkLen = start + cap[1].length + lastParenIndex; + cap[2] = cap[2].substring(0, lastParenIndex); + cap[0] = cap[0].substring(0, linkLen).trim(); + cap[3] = ''; + } + src = src.substring(cap[0].length); + this.inLink = true; + href = cap[2]; + if (this.options.pedantic) { + link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href); + + if (link) { + href = link[1]; + title = link[3]; + } else { + title = ''; + } + } else { + title = cap[3] ? cap[3].slice(1, -1) : ''; + } + href = href.trim().replace(/^<([\s\S]*)>$/, '$1'); + out += this.outputLink(cap, { + href: InlineLexer.escapes(href), + title: InlineLexer.escapes(title) + }); + this.inLink = false; + continue; + } + + // reflink, nolink + if ((cap = this.rules.reflink.exec(src)) + || (cap = this.rules.nolink.exec(src))) { + src = src.substring(cap[0].length); + link = (cap[2] || cap[1]).replace(/\s+/g, ' '); + link = this.links[link.toLowerCase()]; + if (!link || !link.href) { + out += cap[0].charAt(0); + src = cap[0].substring(1) + src; + continue; + } + this.inLink = true; + out += this.outputLink(cap, link); + this.inLink = false; + continue; + } + + // strong + if (cap = this.rules.strong.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1])); + continue; + } + + // em + if (cap = this.rules.em.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1])); + continue; + } + + // code + if (cap = this.rules.code.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.codespan(escape$3(cap[2].trim(), true)); + continue; + } + + // br + if (cap = this.rules.br.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.br(); + continue; + } + + // del (gfm) + if (cap = this.rules.del.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.del(this.output(cap[1])); + continue; + } + + // autolink + if (cap = this.rules.autolink.exec(src)) { + src = src.substring(cap[0].length); + if (cap[2] === '@') { + text = escape$3(this.mangle(cap[1])); + href = 'mailto:' + text; + } else { + text = escape$3(cap[1]); + href = text; + } + out += this.renderer.link(href, null, text); + continue; + } + + // url (gfm) + if (!this.inLink && (cap = this.rules.url.exec(src))) { + if (cap[2] === '@') { + text = escape$3(cap[0]); + href = 'mailto:' + text; + } else { + // do extended autolink path validation + do { + prevCapZero = cap[0]; + cap[0] = this.rules._backpedal.exec(cap[0])[0]; + } while (prevCapZero !== cap[0]); + text = escape$3(cap[0]); + if (cap[1] === 'www.') { + href = 'http://' + text; + } else { + href = text; + } + } + src = src.substring(cap[0].length); + out += this.renderer.link(href, null, text); + continue; + } + + // text + if (cap = this.rules.text.exec(src)) { + src = src.substring(cap[0].length); + if (this.inRawBlock) { + out += this.renderer.text(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape$3(cap[0])) : cap[0]); + } else { + out += this.renderer.text(escape$3(this.smartypants(cap[0]))); + } + continue; + } + + if (src) { + throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); + } + } + + return out; + } + + static escapes(text) { + return text ? text.replace(InlineLexer.rules._escapes, '$1') : text; + } + + /** + * Compile Link + */ + outputLink(cap, link) { + const href = link.href, + title = link.title ? escape$3(link.title) : null; + + return cap[0].charAt(0) !== '!' + ? this.renderer.link(href, title, this.output(cap[1])) + : this.renderer.image(href, title, escape$3(cap[1])); + } + + /** + * Smartypants Transformations + */ + smartypants(text) { + if (!this.options.smartypants) return text; + return text + // em-dashes + .replace(/---/g, '\u2014') + // en-dashes + .replace(/--/g, '\u2013') + // opening singles + .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018') + // closing singles & apostrophes + .replace(/'/g, '\u2019') + // opening doubles + .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c') + // closing doubles + .replace(/"/g, '\u201d') + // ellipses + .replace(/\.{3}/g, '\u2026'); + } + + /** + * Mangle Links + */ + mangle(text) { + if (!this.options.mangle) return text; + const l = text.length; + let out = '', + i = 0, + ch; + + for (; i < l; i++) { + ch = text.charCodeAt(i); + if (Math.random() > 0.5) { + ch = 'x' + ch.toString(16); + } + out += '&#' + ch + ';'; + } + + return out; + } +}; + +/** + * TextRenderer + * returns only the textual part of the token + */ +var TextRenderer_1 = class TextRenderer { + // no need for block level renderers + strong(text) { + return text; + } + + em(text) { + return text; + } + + codespan(text) { + return text; + } + + del(text) { + return text; + } + + text(text) { + return text; + } + + link(href, title, text) { + return '' + text; + } + + image(href, title, text) { + return '' + text; + } + + br() { + return ''; + } +}; + +const { defaults: defaults$4 } = defaults; +const { + merge: merge$2, + unescape: unescape$1 +} = helpers; + +/** + * Parsing & Compiling + */ +var Parser_1 = class Parser { + constructor(options) { + this.tokens = []; + this.token = null; + this.options = options || defaults$4; + this.options.renderer = this.options.renderer || new Renderer_1(); + this.renderer = this.options.renderer; + this.renderer.options = this.options; + this.slugger = new Slugger_1(); + } + + /** + * Static Parse Method + */ + static parse(tokens, options) { + const parser = new Parser(options); + return parser.parse(tokens); + }; + + /** + * Parse Loop + */ + parse(tokens) { + this.inline = new InlineLexer_1(tokens.links, this.options); + // use an InlineLexer with a TextRenderer to extract pure text + this.inlineText = new InlineLexer_1( + tokens.links, + merge$2({}, this.options, { renderer: new TextRenderer_1() }) + ); + this.tokens = tokens.reverse(); + + let out = ''; + while (this.next()) { + out += this.tok(); + } + + return out; + }; + + /** + * Next Token + */ + next() { + this.token = this.tokens.pop(); + return this.token; + }; + + /** + * Preview Next Token + */ + peek() { + return this.tokens[this.tokens.length - 1] || 0; + }; + + /** + * Parse Text Tokens + */ + parseText() { + let body = this.token.text; + + while (this.peek().type === 'text') { + body += '\n' + this.next().text; + } + + return this.inline.output(body); + }; + + /** + * Parse Current Token + */ + tok() { + let body = ''; + switch (this.token.type) { + case 'space': { + return ''; + } + case 'hr': { + return this.renderer.hr(); + } + case 'heading': { + return this.renderer.heading( + this.inline.output(this.token.text), + this.token.depth, + unescape$1(this.inlineText.output(this.token.text)), + this.slugger); + } + case 'code': { + return this.renderer.code(this.token.text, + this.token.lang, + this.token.escaped); + } + case 'table': { + let header = '', + i, + row, + cell, + j; + + // header + cell = ''; + for (i = 0; i < this.token.header.length; i++) { + cell += this.renderer.tablecell( + this.inline.output(this.token.header[i]), + { header: true, align: this.token.align[i] } + ); + } + header += this.renderer.tablerow(cell); + + for (i = 0; i < this.token.cells.length; i++) { + row = this.token.cells[i]; + + cell = ''; + for (j = 0; j < row.length; j++) { + cell += this.renderer.tablecell( + this.inline.output(row[j]), + { header: false, align: this.token.align[j] } + ); + } + + body += this.renderer.tablerow(cell); + } + return this.renderer.table(header, body); + } + case 'blockquote_start': { + body = ''; + + while (this.next().type !== 'blockquote_end') { + body += this.tok(); + } + + return this.renderer.blockquote(body); + } + case 'list_start': { + body = ''; + const ordered = this.token.ordered, + start = this.token.start; + + while (this.next().type !== 'list_end') { + body += this.tok(); + } + + return this.renderer.list(body, ordered, start); + } + case 'list_item_start': { + body = ''; + const loose = this.token.loose; + const checked = this.token.checked; + const task = this.token.task; + + if (this.token.task) { + if (loose) { + if (this.peek().type === 'text') { + const nextToken = this.peek(); + nextToken.text = this.renderer.checkbox(checked) + ' ' + nextToken.text; + } else { + this.tokens.push({ + type: 'text', + text: this.renderer.checkbox(checked) + }); + } + } else { + body += this.renderer.checkbox(checked); + } + } + + while (this.next().type !== 'list_item_end') { + body += !loose && this.token.type === 'text' + ? this.parseText() + : this.tok(); + } + return this.renderer.listitem(body, task, checked); + } + case 'html': { + // TODO parse inline content if parameter markdown=1 + return this.renderer.html(this.token.text); + } + case 'paragraph': { + return this.renderer.paragraph(this.inline.output(this.token.text)); + } + case 'text': { + return this.renderer.paragraph(this.parseText()); + } + default: { + const errMsg = 'Token with "' + this.token.type + '" type was not found.'; + if (this.options.silent) { + console.log(errMsg); + } else { + throw new Error(errMsg); + } + } + } + }; +}; + +const { + merge: merge$3, + checkSanitizeDeprecation: checkSanitizeDeprecation$1, + escape: escape$4 +} = helpers; +const { + getDefaults, + changeDefaults, + defaults: defaults$5 +} = defaults; + +/** + * Marked + */ +function marked(src, opt, callback) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked(): input parameter is undefined or null'); + } + if (typeof src !== 'string') { + throw new Error('marked(): input parameter is of type ' + + Object.prototype.toString.call(src) + ', string expected'); + } + + if (callback || typeof opt === 'function') { + if (!callback) { + callback = opt; + opt = null; + } + + opt = merge$3({}, marked.defaults, opt || {}); + checkSanitizeDeprecation$1(opt); + const highlight = opt.highlight; + let tokens, + pending, + i = 0; + + try { + tokens = Lexer_1.lex(src, opt); + } catch (e) { + return callback(e); + } + + pending = tokens.length; + + const done = function(err) { + if (err) { + opt.highlight = highlight; + return callback(err); + } + + let out; + + try { + out = Parser_1.parse(tokens, opt); + } catch (e) { + err = e; + } + + opt.highlight = highlight; + + return err + ? callback(err) + : callback(null, out); + }; + + if (!highlight || highlight.length < 3) { + return done(); + } + + delete opt.highlight; + + if (!pending) return done(); + + for (; i < tokens.length; i++) { + (function(token) { + if (token.type !== 'code') { + return --pending || done(); + } + return highlight(token.text, token.lang, function(err, code) { + if (err) return done(err); + if (code == null || code === token.text) { + return --pending || done(); + } + token.text = code; + token.escaped = true; + --pending || done(); + }); + })(tokens[i]); + } + + return; + } + try { + opt = merge$3({}, marked.defaults, opt || {}); + checkSanitizeDeprecation$1(opt); + return Parser_1.parse(Lexer_1.lex(src, opt), opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + if ((opt || marked.defaults).silent) { + return '

    An error occurred:

    '
    +        + escape$4(e.message + '', true)
    +        + '
    '; + } + throw e; + } +} + +/** + * Options + */ + +marked.options = +marked.setOptions = function(opt) { + merge$3(marked.defaults, opt); + changeDefaults(marked.defaults); + return marked; +}; + +marked.getDefaults = getDefaults; + +marked.defaults = defaults$5; + +/** + * Expose + */ + +marked.Parser = Parser_1; +marked.parser = Parser_1.parse; + +marked.Renderer = Renderer_1; +marked.TextRenderer = TextRenderer_1; + +marked.Lexer = Lexer_1; +marked.lexer = Lexer_1.lex; + +marked.InlineLexer = InlineLexer_1; +marked.inlineLexer = InlineLexer_1.output; + +marked.Slugger = Slugger_1; + +marked.parse = marked; + +var marked_1 = marked; + +export default marked_1; diff --git a/bower_components/marked/lib/marked.js b/bower_components/marked/lib/marked.js new file mode 100644 index 0000000..0ba3e87 --- /dev/null +++ b/bower_components/marked/lib/marked.js @@ -0,0 +1,1784 @@ +/** + * marked - a markdown parser + * Copyright (c) 2011-2019, Christopher Jeffrey. (MIT Licensed) + * https://github.com/markedjs/marked + */ + +/** + * DO NOT EDIT THIS FILE + * The code in this file is generated from files in ./src/ + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = global || self, global.marked = factory()); +}(this, (function () { 'use strict'; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; + } + + var defaults = createCommonjsModule(function (module) { + function getDefaults() { + return { + baseUrl: null, + breaks: false, + gfm: true, + headerIds: true, + headerPrefix: '', + highlight: null, + langPrefix: 'language-', + mangle: true, + pedantic: false, + renderer: null, + sanitize: false, + sanitizer: null, + silent: false, + smartLists: false, + smartypants: false, + xhtml: false + }; + } + + function changeDefaults(newDefaults) { + module.exports.defaults = newDefaults; + } + + module.exports = { + defaults: getDefaults(), + getDefaults: getDefaults, + changeDefaults: changeDefaults + }; + }); + var defaults_1 = defaults.defaults; + var defaults_2 = defaults.getDefaults; + var defaults_3 = defaults.changeDefaults; + + /** + * Helpers + */ + var escapeTest = /[&<>"']/; + var escapeReplace = /[&<>"']/g; + var escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/; + var escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g; + var escapeReplacements = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + var getEscapeReplacement = function getEscapeReplacement(ch) { + return escapeReplacements[ch]; + }; + + function escape(html, encode) { + if (encode) { + if (escapeTest.test(html)) { + return html.replace(escapeReplace, getEscapeReplacement); + } + } else { + if (escapeTestNoEncode.test(html)) { + return html.replace(escapeReplaceNoEncode, getEscapeReplacement); + } + } + + return html; + } + + var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig; + + function unescape(html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(unescapeTest, function (_, n) { + n = n.toLowerCase(); + if (n === 'colon') return ':'; + + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1)); + } + + return ''; + }); + } + + var caret = /(^|[^\[])\^/g; + + function edit(regex, opt) { + regex = regex.source || regex; + opt = opt || ''; + var obj = { + replace: function replace(name, val) { + val = val.source || val; + val = val.replace(caret, '$1'); + regex = regex.replace(name, val); + return obj; + }, + getRegex: function getRegex() { + return new RegExp(regex, opt); + } + }; + return obj; + } + + var nonWordAndColonTest = /[^\w:]/g; + var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; + + function cleanUrl(sanitize, base, href) { + if (sanitize) { + var prot; + + try { + prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase(); + } catch (e) { + return null; + } + + if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { + return null; + } + } + + if (base && !originIndependentUrl.test(href)) { + href = resolveUrl(base, href); + } + + try { + href = encodeURI(href).replace(/%25/g, '%'); + } catch (e) { + return null; + } + + return href; + } + + var baseUrls = {}; + var justDomain = /^[^:]+:\/*[^/]*$/; + var protocol = /^([^:]+:)[\s\S]*$/; + var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/; + + function resolveUrl(base, href) { + if (!baseUrls[' ' + base]) { + // we can ignore everything in base after the last slash of its path component, + // but we might need to add _that_ + // https://tools.ietf.org/html/rfc3986#section-3 + if (justDomain.test(base)) { + baseUrls[' ' + base] = base + '/'; + } else { + baseUrls[' ' + base] = rtrim(base, '/', true); + } + } + + base = baseUrls[' ' + base]; + var relativeBase = base.indexOf(':') === -1; + + if (href.substring(0, 2) === '//') { + if (relativeBase) { + return href; + } + + return base.replace(protocol, '$1') + href; + } else if (href.charAt(0) === '/') { + if (relativeBase) { + return href; + } + + return base.replace(domain, '$1') + href; + } else { + return base + href; + } + } + + var noopTest = { + exec: function noopTest() {} + }; + + function merge(obj) { + var i = 1, + target, + key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; + } + + function splitCells(tableRow, count) { + // ensure that every cell-delimiting pipe has a space + // before it to distinguish it from an escaped pipe + var row = tableRow.replace(/\|/g, function (match, offset, str) { + var escaped = false, + curr = offset; + + while (--curr >= 0 && str[curr] === '\\') { + escaped = !escaped; + } + + if (escaped) { + // odd number of slashes means | is escaped + // so we leave it alone + return '|'; + } else { + // add space before unescaped | + return ' |'; + } + }), + cells = row.split(/ \|/); + var i = 0; + + if (cells.length > count) { + cells.splice(count); + } else { + while (cells.length < count) { + cells.push(''); + } + } + + for (; i < cells.length; i++) { + // leading or trailing whitespace is ignored per the gfm spec + cells[i] = cells[i].trim().replace(/\\\|/g, '|'); + } + + return cells; + } // Remove trailing 'c's. Equivalent to str.replace(/c*$/, ''). + // /c*$/ is vulnerable to REDOS. + // invert: Remove suffix of non-c chars instead. Default falsey. + + + function rtrim(str, c, invert) { + var l = str.length; + + if (l === 0) { + return ''; + } // Length of suffix matching the invert condition. + + + var suffLen = 0; // Step left until we fail to match the invert condition. + + while (suffLen < l) { + var currChar = str.charAt(l - suffLen - 1); + + if (currChar === c && !invert) { + suffLen++; + } else if (currChar !== c && invert) { + suffLen++; + } else { + break; + } + } + + return str.substr(0, l - suffLen); + } + + function findClosingBracket(str, b) { + if (str.indexOf(b[1]) === -1) { + return -1; + } + + var l = str.length; + var level = 0, + i = 0; + + for (; i < l; i++) { + if (str[i] === '\\') { + i++; + } else if (str[i] === b[0]) { + level++; + } else if (str[i] === b[1]) { + level--; + + if (level < 0) { + return i; + } + } + } + + return -1; + } + + function checkSanitizeDeprecation(opt) { + if (opt && opt.sanitize && !opt.silent) { + console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options'); + } + } + + var helpers = { + escape: escape, + unescape: unescape, + edit: edit, + cleanUrl: cleanUrl, + resolveUrl: resolveUrl, + noopTest: noopTest, + merge: merge, + splitCells: splitCells, + rtrim: rtrim, + findClosingBracket: findClosingBracket, + checkSanitizeDeprecation: checkSanitizeDeprecation + }; + + var noopTest$1 = helpers.noopTest, + edit$1 = helpers.edit, + merge$1 = helpers.merge; + /** + * Block-Level Grammar + */ + + var block = { + newline: /^\n+/, + code: /^( {4}[^\n]+\n*)+/, + fences: /^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/, + hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, + heading: /^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/, + blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, + list: /^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, + html: '^ {0,3}(?:' // optional indentation + + '<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)' // (1) + + '|comment[^\\n]*(\\n+|$)' // (2) + + '|<\\?[\\s\\S]*?\\?>\\n*' // (3) + + '|\\n*' // (4) + + '|\\n*' // (5) + + '|)[\\s\\S]*?(?:\\n{2,}|$)' // (6) + + '|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) open tag + + '|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) closing tag + + ')', + def: /^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/, + nptable: noopTest$1, + table: noopTest$1, + lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, + // regex template, placeholders will be replaced according to different paragraph + // interruption rules of commonmark and the original markdown spec: + _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/, + text: /^[^\n]+/ + }; + block._label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/; + block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/; + block.def = edit$1(block.def).replace('label', block._label).replace('title', block._title).getRegex(); + block.bullet = /(?:[*+-]|\d{1,9}\.)/; + block.item = /^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/; + block.item = edit$1(block.item, 'gm').replace(/bull/g, block.bullet).getRegex(); + block.list = edit$1(block.list).replace(/bull/g, block.bullet).replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))').replace('def', '\\n+(?=' + block.def.source + ')').getRegex(); + block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul'; + block._comment = //; + block.html = edit$1(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(); + block.paragraph = edit$1(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} +').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs + .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks + .getRegex(); + block.blockquote = edit$1(block.blockquote).replace('paragraph', block.paragraph).getRegex(); + /** + * Normal Block Grammar + */ + + block.normal = merge$1({}, block); + /** + * GFM Block Grammar + */ + + block.gfm = merge$1({}, block.normal, { + nptable: /^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/, + table: /^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/ + }); + /** + * Pedantic grammar (original John Gruber's loose markdown specification) + */ + + block.pedantic = merge$1({}, block.normal, { + html: edit$1('^ *(?:comment *(?:\\n|\\s*$)' + '|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)' // closed tag + + '|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))').replace('comment', block._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b').getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/, + fences: noopTest$1, + // fences not supported + paragraph: edit$1(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex() + }); + /** + * Inline-Level Grammar + */ + + var inline = { + escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, + autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, + url: noopTest$1, + tag: '^comment' + '|^' // self-closing tag + + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag + + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. + + '|^' // declaration, e.g. + + '|^', + // CDATA section + link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, + reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/, + nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/, + strong: /^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/, + em: /^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/, + code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, + br: /^( {2,}|\\)\n(?!\s*$)/, + del: noopTest$1, + text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~'; + inline.em = edit$1(inline.em).replace(/punctuation/g, inline._punctuation).getRegex(); + inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g; + inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/; + inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/; + inline.autolink = edit$1(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex(); + inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/; + inline.tag = edit$1(inline.tag).replace('comment', block._comment).replace('attribute', inline._attribute).getRegex(); + inline._label = /(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/; + inline._href = /<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/; + inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/; + inline.link = edit$1(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex(); + inline.reflink = edit$1(inline.reflink).replace('label', inline._label).getRegex(); + /** + * Normal Inline Grammar + */ + + inline.normal = merge$1({}, inline); + /** + * Pedantic Inline Grammar + */ + + inline.pedantic = merge$1({}, inline.normal, { + strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, + em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/, + link: edit$1(/^!?\[(label)\]\((.*?)\)/).replace('label', inline._label).getRegex(), + reflink: edit$1(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace('label', inline._label).getRegex() + }); + /** + * GFM Inline Grammar + */ + + inline.gfm = merge$1({}, inline.normal, { + escape: edit$1(inline.escape).replace('])', '~|])').getRegex(), + _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, + url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, + _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, + del: /^~+(?=\S)([\s\S]*?\S)~+/, + text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\ 1) { + this.tokens.push({ + type: 'space' + }); + } + } // code + + + if (cap = this.rules.code.exec(src)) { + var lastToken = this.tokens[this.tokens.length - 1]; + src = src.substring(cap[0].length); // An indented code block cannot interrupt a paragraph. + + if (lastToken && lastToken.type === 'paragraph') { + lastToken.text += '\n' + cap[0].trimRight(); + } else { + cap = cap[0].replace(/^ {4}/gm, ''); + this.tokens.push({ + type: 'code', + codeBlockStyle: 'indented', + text: !this.options.pedantic ? rtrim$1(cap, '\n') : cap + }); + } + + continue; + } // fences + + + if (cap = this.rules.fences.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'code', + lang: cap[2] ? cap[2].trim() : cap[2], + text: cap[3] || '' + }); + continue; + } // heading + + + if (cap = this.rules.heading.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'heading', + depth: cap[1].length, + text: cap[2] + }); + continue; + } // table no leading pipe (gfm) + + + if (cap = this.rules.nptable.exec(src)) { + item = { + type: 'table', + header: splitCells$1(cap[1].replace(/^ *| *\| *$/g, '')), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + src = src.substring(cap[0].length); + + for (i = 0; i < item.align.length; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + for (i = 0; i < item.cells.length; i++) { + item.cells[i] = splitCells$1(item.cells[i], item.header.length); + } + + this.tokens.push(item); + continue; + } + } // hr + + + if (cap = this.rules.hr.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'hr' + }); + continue; + } // blockquote + + + if (cap = this.rules.blockquote.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'blockquote_start' + }); + cap = cap[0].replace(/^ *> ?/gm, ''); // Pass `top` to keep the current + // "toplevel" state. This is exactly + // how markdown.pl works. + + this.token(cap, top); + this.tokens.push({ + type: 'blockquote_end' + }); + continue; + } // list + + + if (cap = this.rules.list.exec(src)) { + src = src.substring(cap[0].length); + bull = cap[2]; + isordered = bull.length > 1; + listStart = { + type: 'list_start', + ordered: isordered, + start: isordered ? +bull : '', + loose: false + }; + this.tokens.push(listStart); // Get each top-level item. + + cap = cap[0].match(this.rules.item); + listItems = []; + next = false; + l = cap.length; + i = 0; + + for (; i < l; i++) { + item = cap[i]; // Remove the list item's bullet + // so it is seen as the next token. + + space = item.length; + item = item.replace(/^ *([*+-]|\d+\.) */, ''); // Outdent whatever the + // list item contains. Hacky. + + if (~item.indexOf('\n ')) { + space -= item.length; + item = !this.options.pedantic ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') : item.replace(/^ {1,4}/gm, ''); + } // Determine whether the next list item belongs here. + // Backpedal if it does not belong in this list. + + + if (i !== l - 1) { + b = block$1.bullet.exec(cap[i + 1])[0]; + + if (bull.length > 1 ? b.length === 1 : b.length > 1 || this.options.smartLists && b !== bull) { + src = cap.slice(i + 1).join('\n') + src; + i = l - 1; + } + } // Determine whether item is loose or not. + // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ + // for discount behavior. + + + loose = next || /\n\n(?!\s*$)/.test(item); + + if (i !== l - 1) { + next = item.charAt(item.length - 1) === '\n'; + if (!loose) loose = next; + } + + if (loose) { + listStart.loose = true; + } // Check for task list items + + + istask = /^\[[ xX]\] /.test(item); + ischecked = undefined; + + if (istask) { + ischecked = item[1] !== ' '; + item = item.replace(/^\[[ xX]\] +/, ''); + } + + t = { + type: 'list_item_start', + task: istask, + checked: ischecked, + loose: loose + }; + listItems.push(t); + this.tokens.push(t); // Recurse. + + this.token(item, false); + this.tokens.push({ + type: 'list_item_end' + }); + } + + if (listStart.loose) { + l = listItems.length; + i = 0; + + for (; i < l; i++) { + listItems[i].loose = true; + } + } + + this.tokens.push({ + type: 'list_end' + }); + continue; + } // html + + + if (cap = this.rules.html.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: this.options.sanitize ? 'paragraph' : 'html', + pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), + text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape$1(cap[0]) : cap[0] + }); + continue; + } // def + + + if (top && (cap = this.rules.def.exec(src))) { + src = src.substring(cap[0].length); + if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1); + tag = cap[1].toLowerCase().replace(/\s+/g, ' '); + + if (!this.tokens.links[tag]) { + this.tokens.links[tag] = { + href: cap[2], + title: cap[3] + }; + } + + continue; + } // table (gfm) + + + if (cap = this.rules.table.exec(src)) { + item = { + type: 'table', + header: splitCells$1(cap[1].replace(/^ *| *\| *$/g, '')), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + src = src.substring(cap[0].length); + + for (i = 0; i < item.align.length; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + for (i = 0; i < item.cells.length; i++) { + item.cells[i] = splitCells$1(item.cells[i].replace(/^ *\| *| *\| *$/g, ''), item.header.length); + } + + this.tokens.push(item); + continue; + } + } // lheading + + + if (cap = this.rules.lheading.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'heading', + depth: cap[2].charAt(0) === '=' ? 1 : 2, + text: cap[1] + }); + continue; + } // top-level paragraph + + + if (top && (cap = this.rules.paragraph.exec(src))) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'paragraph', + text: cap[1].charAt(cap[1].length - 1) === '\n' ? cap[1].slice(0, -1) : cap[1] + }); + continue; + } // text + + + if (cap = this.rules.text.exec(src)) { + // Top-level should never reach here. + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'text', + text: cap[0] + }); + continue; + } + + if (src) { + throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); + } + } + + return this.tokens; + }; + + _createClass(Lexer, null, [{ + key: "rules", + get: function get() { + return block$1; + } + }]); + + return Lexer; + }(); + + var defaults$2 = defaults.defaults; + var cleanUrl$1 = helpers.cleanUrl, + escape$2 = helpers.escape; + /** + * Renderer + */ + + var Renderer_1 = + /*#__PURE__*/ + function () { + function Renderer(options) { + this.options = options || defaults$2; + } + + var _proto = Renderer.prototype; + + _proto.code = function code(_code, infostring, escaped) { + var lang = (infostring || '').match(/\S*/)[0]; + + if (this.options.highlight) { + var out = this.options.highlight(_code, lang); + + if (out != null && out !== _code) { + escaped = true; + _code = out; + } + } + + if (!lang) { + return '
    ' + (escaped ? _code : escape$2(_code, true)) + '
    '; + } + + return '
    ' + (escaped ? _code : escape$2(_code, true)) + '
    \n'; + }; + + _proto.blockquote = function blockquote(quote) { + return '
    \n' + quote + '
    \n'; + }; + + _proto.html = function html(_html) { + return _html; + }; + + _proto.heading = function heading(text, level, raw, slugger) { + if (this.options.headerIds) { + return '' + text + '\n'; + } // ignore IDs + + + return '' + text + '\n'; + }; + + _proto.hr = function hr() { + return this.options.xhtml ? '
    \n' : '
    \n'; + }; + + _proto.list = function list(body, ordered, start) { + var type = ordered ? 'ol' : 'ul', + startatt = ordered && start !== 1 ? ' start="' + start + '"' : ''; + return '<' + type + startatt + '>\n' + body + '\n'; + }; + + _proto.listitem = function listitem(text) { + return '
  • ' + text + '
  • \n'; + }; + + _proto.checkbox = function checkbox(checked) { + return ' '; + }; + + _proto.paragraph = function paragraph(text) { + return '

    ' + text + '

    \n'; + }; + + _proto.table = function table(header, body) { + if (body) body = '' + body + ''; + return '\n' + '\n' + header + '\n' + body + '
    \n'; + }; + + _proto.tablerow = function tablerow(content) { + return '\n' + content + '\n'; + }; + + _proto.tablecell = function tablecell(content, flags) { + var type = flags.header ? 'th' : 'td'; + var tag = flags.align ? '<' + type + ' align="' + flags.align + '">' : '<' + type + '>'; + return tag + content + '\n'; + }; + + // span level renderer + _proto.strong = function strong(text) { + return '' + text + ''; + }; + + _proto.em = function em(text) { + return '' + text + ''; + }; + + _proto.codespan = function codespan(text) { + return '' + text + ''; + }; + + _proto.br = function br() { + return this.options.xhtml ? '
    ' : '
    '; + }; + + _proto.del = function del(text) { + return '' + text + ''; + }; + + _proto.link = function link(href, title, text) { + href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href); + + if (href === null) { + return text; + } + + var out = '
    '; + return out; + }; + + _proto.image = function image(href, title, text) { + href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href); + + if (href === null) { + return text; + } + + var out = '' + text + '' : '>'; + return out; + }; + + _proto.text = function text(_text) { + return _text; + }; + + return Renderer; + }(); + + /** + * Slugger generates header id + */ + var Slugger_1 = + /*#__PURE__*/ + function () { + function Slugger() { + this.seen = {}; + } + /** + * Convert string to unique id + */ + + + var _proto = Slugger.prototype; + + _proto.slug = function slug(value) { + var slug = value.toLowerCase().trim().replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '').replace(/\s/g, '-'); + + if (this.seen.hasOwnProperty(slug)) { + var originalSlug = slug; + + do { + this.seen[originalSlug]++; + slug = originalSlug + '-' + this.seen[originalSlug]; + } while (this.seen.hasOwnProperty(slug)); + } + + this.seen[slug] = 0; + return slug; + }; + + return Slugger; + }(); + + var defaults$3 = defaults.defaults; + var inline$1 = rules.inline; + var findClosingBracket$1 = helpers.findClosingBracket, + escape$3 = helpers.escape; + /** + * Inline Lexer & Compiler + */ + + var InlineLexer_1 = + /*#__PURE__*/ + function () { + function InlineLexer(links, options) { + this.options = options || defaults$3; + this.links = links; + this.rules = inline$1.normal; + this.options.renderer = this.options.renderer || new Renderer_1(); + this.renderer = this.options.renderer; + this.renderer.options = this.options; + + if (!this.links) { + throw new Error('Tokens array requires a `links` property.'); + } + + if (this.options.pedantic) { + this.rules = inline$1.pedantic; + } else if (this.options.gfm) { + if (this.options.breaks) { + this.rules = inline$1.breaks; + } else { + this.rules = inline$1.gfm; + } + } + } + /** + * Expose Inline Rules + */ + + + /** + * Static Lexing/Compiling Method + */ + InlineLexer.output = function output(src, links, options) { + var inline = new InlineLexer(links, options); + return inline.output(src); + } + /** + * Lexing/Compiling + */ + ; + + var _proto = InlineLexer.prototype; + + _proto.output = function output(src) { + var out = '', + link, + text, + href, + title, + cap, + prevCapZero; + + while (src) { + // escape + if (cap = this.rules.escape.exec(src)) { + src = src.substring(cap[0].length); + out += escape$3(cap[1]); + continue; + } // tag + + + if (cap = this.rules.tag.exec(src)) { + if (!this.inLink && /^/i.test(cap[0])) { + this.inLink = false; + } + + if (!this.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.inRawBlock = true; + } else if (this.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.inRawBlock = false; + } + + src = src.substring(cap[0].length); + out += this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape$3(cap[0]) : cap[0]; + continue; + } // link + + + if (cap = this.rules.link.exec(src)) { + var lastParenIndex = findClosingBracket$1(cap[2], '()'); + + if (lastParenIndex > -1) { + var start = cap[0].indexOf('!') === 0 ? 5 : 4; + var linkLen = start + cap[1].length + lastParenIndex; + cap[2] = cap[2].substring(0, lastParenIndex); + cap[0] = cap[0].substring(0, linkLen).trim(); + cap[3] = ''; + } + + src = src.substring(cap[0].length); + this.inLink = true; + href = cap[2]; + + if (this.options.pedantic) { + link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href); + + if (link) { + href = link[1]; + title = link[3]; + } else { + title = ''; + } + } else { + title = cap[3] ? cap[3].slice(1, -1) : ''; + } + + href = href.trim().replace(/^<([\s\S]*)>$/, '$1'); + out += this.outputLink(cap, { + href: InlineLexer.escapes(href), + title: InlineLexer.escapes(title) + }); + this.inLink = false; + continue; + } // reflink, nolink + + + if ((cap = this.rules.reflink.exec(src)) || (cap = this.rules.nolink.exec(src))) { + src = src.substring(cap[0].length); + link = (cap[2] || cap[1]).replace(/\s+/g, ' '); + link = this.links[link.toLowerCase()]; + + if (!link || !link.href) { + out += cap[0].charAt(0); + src = cap[0].substring(1) + src; + continue; + } + + this.inLink = true; + out += this.outputLink(cap, link); + this.inLink = false; + continue; + } // strong + + + if (cap = this.rules.strong.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1])); + continue; + } // em + + + if (cap = this.rules.em.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1])); + continue; + } // code + + + if (cap = this.rules.code.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.codespan(escape$3(cap[2].trim(), true)); + continue; + } // br + + + if (cap = this.rules.br.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.br(); + continue; + } // del (gfm) + + + if (cap = this.rules.del.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.del(this.output(cap[1])); + continue; + } // autolink + + + if (cap = this.rules.autolink.exec(src)) { + src = src.substring(cap[0].length); + + if (cap[2] === '@') { + text = escape$3(this.mangle(cap[1])); + href = 'mailto:' + text; + } else { + text = escape$3(cap[1]); + href = text; + } + + out += this.renderer.link(href, null, text); + continue; + } // url (gfm) + + + if (!this.inLink && (cap = this.rules.url.exec(src))) { + if (cap[2] === '@') { + text = escape$3(cap[0]); + href = 'mailto:' + text; + } else { + // do extended autolink path validation + do { + prevCapZero = cap[0]; + cap[0] = this.rules._backpedal.exec(cap[0])[0]; + } while (prevCapZero !== cap[0]); + + text = escape$3(cap[0]); + + if (cap[1] === 'www.') { + href = 'http://' + text; + } else { + href = text; + } + } + + src = src.substring(cap[0].length); + out += this.renderer.link(href, null, text); + continue; + } // text + + + if (cap = this.rules.text.exec(src)) { + src = src.substring(cap[0].length); + + if (this.inRawBlock) { + out += this.renderer.text(this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape$3(cap[0]) : cap[0]); + } else { + out += this.renderer.text(escape$3(this.smartypants(cap[0]))); + } + + continue; + } + + if (src) { + throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); + } + } + + return out; + }; + + InlineLexer.escapes = function escapes(text) { + return text ? text.replace(InlineLexer.rules._escapes, '$1') : text; + } + /** + * Compile Link + */ + ; + + _proto.outputLink = function outputLink(cap, link) { + var href = link.href, + title = link.title ? escape$3(link.title) : null; + return cap[0].charAt(0) !== '!' ? this.renderer.link(href, title, this.output(cap[1])) : this.renderer.image(href, title, escape$3(cap[1])); + } + /** + * Smartypants Transformations + */ + ; + + _proto.smartypants = function smartypants(text) { + if (!this.options.smartypants) return text; + return text // em-dashes + .replace(/---/g, "\u2014") // en-dashes + .replace(/--/g, "\u2013") // opening singles + .replace(/(^|[-\u2014/(\[{"\s])'/g, "$1\u2018") // closing singles & apostrophes + .replace(/'/g, "\u2019") // opening doubles + .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, "$1\u201C") // closing doubles + .replace(/"/g, "\u201D") // ellipses + .replace(/\.{3}/g, "\u2026"); + } + /** + * Mangle Links + */ + ; + + _proto.mangle = function mangle(text) { + if (!this.options.mangle) return text; + var l = text.length; + var out = '', + i = 0, + ch; + + for (; i < l; i++) { + ch = text.charCodeAt(i); + + if (Math.random() > 0.5) { + ch = 'x' + ch.toString(16); + } + + out += '&#' + ch + ';'; + } + + return out; + }; + + _createClass(InlineLexer, null, [{ + key: "rules", + get: function get() { + return inline$1; + } + }]); + + return InlineLexer; + }(); + + /** + * TextRenderer + * returns only the textual part of the token + */ + var TextRenderer_1 = + /*#__PURE__*/ + function () { + function TextRenderer() {} + + var _proto = TextRenderer.prototype; + + // no need for block level renderers + _proto.strong = function strong(text) { + return text; + }; + + _proto.em = function em(text) { + return text; + }; + + _proto.codespan = function codespan(text) { + return text; + }; + + _proto.del = function del(text) { + return text; + }; + + _proto.text = function text(_text) { + return _text; + }; + + _proto.link = function link(href, title, text) { + return '' + text; + }; + + _proto.image = function image(href, title, text) { + return '' + text; + }; + + _proto.br = function br() { + return ''; + }; + + return TextRenderer; + }(); + + var defaults$4 = defaults.defaults; + var merge$2 = helpers.merge, + unescape$1 = helpers.unescape; + /** + * Parsing & Compiling + */ + + var Parser_1 = + /*#__PURE__*/ + function () { + function Parser(options) { + this.tokens = []; + this.token = null; + this.options = options || defaults$4; + this.options.renderer = this.options.renderer || new Renderer_1(); + this.renderer = this.options.renderer; + this.renderer.options = this.options; + this.slugger = new Slugger_1(); + } + /** + * Static Parse Method + */ + + + Parser.parse = function parse(tokens, options) { + var parser = new Parser(options); + return parser.parse(tokens); + }; + + var _proto = Parser.prototype; + + /** + * Parse Loop + */ + _proto.parse = function parse(tokens) { + this.inline = new InlineLexer_1(tokens.links, this.options); // use an InlineLexer with a TextRenderer to extract pure text + + this.inlineText = new InlineLexer_1(tokens.links, merge$2({}, this.options, { + renderer: new TextRenderer_1() + })); + this.tokens = tokens.reverse(); + var out = ''; + + while (this.next()) { + out += this.tok(); + } + + return out; + }; + + /** + * Next Token + */ + _proto.next = function next() { + this.token = this.tokens.pop(); + return this.token; + }; + + /** + * Preview Next Token + */ + _proto.peek = function peek() { + return this.tokens[this.tokens.length - 1] || 0; + }; + + /** + * Parse Text Tokens + */ + _proto.parseText = function parseText() { + var body = this.token.text; + + while (this.peek().type === 'text') { + body += '\n' + this.next().text; + } + + return this.inline.output(body); + }; + + /** + * Parse Current Token + */ + _proto.tok = function tok() { + var body = ''; + + switch (this.token.type) { + case 'space': + { + return ''; + } + + case 'hr': + { + return this.renderer.hr(); + } + + case 'heading': + { + return this.renderer.heading(this.inline.output(this.token.text), this.token.depth, unescape$1(this.inlineText.output(this.token.text)), this.slugger); + } + + case 'code': + { + return this.renderer.code(this.token.text, this.token.lang, this.token.escaped); + } + + case 'table': + { + var header = '', + i, + row, + cell, + j; // header + + cell = ''; + + for (i = 0; i < this.token.header.length; i++) { + cell += this.renderer.tablecell(this.inline.output(this.token.header[i]), { + header: true, + align: this.token.align[i] + }); + } + + header += this.renderer.tablerow(cell); + + for (i = 0; i < this.token.cells.length; i++) { + row = this.token.cells[i]; + cell = ''; + + for (j = 0; j < row.length; j++) { + cell += this.renderer.tablecell(this.inline.output(row[j]), { + header: false, + align: this.token.align[j] + }); + } + + body += this.renderer.tablerow(cell); + } + + return this.renderer.table(header, body); + } + + case 'blockquote_start': + { + body = ''; + + while (this.next().type !== 'blockquote_end') { + body += this.tok(); + } + + return this.renderer.blockquote(body); + } + + case 'list_start': + { + body = ''; + var ordered = this.token.ordered, + start = this.token.start; + + while (this.next().type !== 'list_end') { + body += this.tok(); + } + + return this.renderer.list(body, ordered, start); + } + + case 'list_item_start': + { + body = ''; + var loose = this.token.loose; + var checked = this.token.checked; + var task = this.token.task; + + if (this.token.task) { + if (loose) { + if (this.peek().type === 'text') { + var nextToken = this.peek(); + nextToken.text = this.renderer.checkbox(checked) + ' ' + nextToken.text; + } else { + this.tokens.push({ + type: 'text', + text: this.renderer.checkbox(checked) + }); + } + } else { + body += this.renderer.checkbox(checked); + } + } + + while (this.next().type !== 'list_item_end') { + body += !loose && this.token.type === 'text' ? this.parseText() : this.tok(); + } + + return this.renderer.listitem(body, task, checked); + } + + case 'html': + { + // TODO parse inline content if parameter markdown=1 + return this.renderer.html(this.token.text); + } + + case 'paragraph': + { + return this.renderer.paragraph(this.inline.output(this.token.text)); + } + + case 'text': + { + return this.renderer.paragraph(this.parseText()); + } + + default: + { + var errMsg = 'Token with "' + this.token.type + '" type was not found.'; + + if (this.options.silent) { + console.log(errMsg); + } else { + throw new Error(errMsg); + } + } + } + }; + + return Parser; + }(); + + var merge$3 = helpers.merge, + checkSanitizeDeprecation$1 = helpers.checkSanitizeDeprecation, + escape$4 = helpers.escape; + var getDefaults = defaults.getDefaults, + changeDefaults = defaults.changeDefaults, + defaults$5 = defaults.defaults; + /** + * Marked + */ + + function marked(src, opt, callback) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked(): input parameter is undefined or null'); + } + + if (typeof src !== 'string') { + throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected'); + } + + if (callback || typeof opt === 'function') { + var _ret = function () { + if (!callback) { + callback = opt; + opt = null; + } + + opt = merge$3({}, marked.defaults, opt || {}); + checkSanitizeDeprecation$1(opt); + var highlight = opt.highlight; + var tokens, + pending, + i = 0; + + try { + tokens = Lexer_1.lex(src, opt); + } catch (e) { + return { + v: callback(e) + }; + } + + pending = tokens.length; + + var done = function done(err) { + if (err) { + opt.highlight = highlight; + return callback(err); + } + + var out; + + try { + out = Parser_1.parse(tokens, opt); + } catch (e) { + err = e; + } + + opt.highlight = highlight; + return err ? callback(err) : callback(null, out); + }; + + if (!highlight || highlight.length < 3) { + return { + v: done() + }; + } + + delete opt.highlight; + if (!pending) return { + v: done() + }; + + for (; i < tokens.length; i++) { + (function (token) { + if (token.type !== 'code') { + return --pending || done(); + } + + return highlight(token.text, token.lang, function (err, code) { + if (err) return done(err); + + if (code == null || code === token.text) { + return --pending || done(); + } + + token.text = code; + token.escaped = true; + --pending || done(); + }); + })(tokens[i]); + } + + return { + v: void 0 + }; + }(); + + if (typeof _ret === "object") return _ret.v; + } + + try { + opt = merge$3({}, marked.defaults, opt || {}); + checkSanitizeDeprecation$1(opt); + return Parser_1.parse(Lexer_1.lex(src, opt), opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + + if ((opt || marked.defaults).silent) { + return '

    An error occurred:

    ' + escape$4(e.message + '', true) + '
    '; + } + + throw e; + } + } + /** + * Options + */ + + + marked.options = marked.setOptions = function (opt) { + merge$3(marked.defaults, opt); + changeDefaults(marked.defaults); + return marked; + }; + + marked.getDefaults = getDefaults; + marked.defaults = defaults$5; + /** + * Expose + */ + + marked.Parser = Parser_1; + marked.parser = Parser_1.parse; + marked.Renderer = Renderer_1; + marked.TextRenderer = TextRenderer_1; + marked.Lexer = Lexer_1; + marked.lexer = Lexer_1.lex; + marked.InlineLexer = InlineLexer_1; + marked.inlineLexer = InlineLexer_1.output; + marked.Slugger = Slugger_1; + marked.parse = marked; + var marked_1 = marked; + + return marked_1; + +}))); diff --git a/bower_components/marked/man/marked.1 b/bower_components/marked/man/marked.1 new file mode 100644 index 0000000..5cc27ef --- /dev/null +++ b/bower_components/marked/man/marked.1 @@ -0,0 +1,111 @@ +.ds q \N'34' +.TH marked 1 + +.SH NAME +marked \- a javascript markdown parser + +.SH SYNOPSIS +.B marked +[\-o \fI\fP] [\-i \fI\fP] [\-\-help] +[\-\-tokens] [\-\-pedantic] [\-\-gfm] +[\-\-breaks] [\-\-sanitize] +[\-\-smart\-lists] [\-\-lang\-prefix \fI\fP] +[\-\-no\-etc...] [\-\-silent] [\fIfilename\fP] + +.SH DESCRIPTION +.B marked +is a full-featured javascript markdown parser, built for speed. +It also includes multiple GFM features. + +.SH EXAMPLES +.TP +cat in.md | marked > out.html +.TP +echo "hello *world*" | marked +.TP +marked \-o out.html \-i in.md \-\-gfm +.TP +marked \-\-output="hello world.html" \-i in.md \-\-no-breaks + +.SH OPTIONS +.TP +.BI \-o,\ \-\-output\ [\fIoutput\fP] +Specify file output. If none is specified, write to stdout. +.TP +.BI \-i,\ \-\-input\ [\fIinput\fP] +Specify file input, otherwise use last argument as input file. +If no input file is specified, read from stdin. +.TP +.BI \-\-test +Makes sure the test(s) pass. +.RS +.PP +.B \-\-glob [\fIfile\fP] +Specify which test to use. +.PP +.B \-\-fix +Fixes tests. +.PP +.B \-\-bench +Benchmarks the test(s). +.PP +.B \-\-time +Times The test(s). +.PP +.B \-\-minified +Runs test file(s) as minified. +.PP +.B \-\-stop +Stop process if a test fails. +.RE +.TP +.BI \-t,\ \-\-tokens +Output a token stream instead of html. +.TP +.BI \-\-pedantic +Conform to obscure parts of markdown.pl as much as possible. +Don't fix original markdown bugs. +.TP +.BI \-\-gfm +Enable github flavored markdown. +.TP +.BI \-\-breaks +Enable GFM line breaks. Only works with the gfm option. +.TP +.BI \-\-sanitize +Sanitize output. Ignore any HTML input. +.TP +.BI \-\-smart\-lists +Use smarter list behavior than the original markdown. +.TP +.BI \-\-lang\-prefix\ [\fIprefix\fP] +Set the prefix for code block classes. +.TP +.BI \-\-mangle +Mangle email addresses. +.TP +.BI \-\-no\-sanitize,\ \-no-etc... +The inverse of any of the marked options above. +.TP +.BI \-\-silent +Silence error output. +.TP +.BI \-h,\ \-\-help +Display help information. + +.SH CONFIGURATION +For configuring and running programmatically. + +.B Example + + require('marked')('*foo*', { gfm: true }); + +.SH BUGS +Please report any bugs to https://github.com/markedjs/marked. + +.SH LICENSE +Copyright (c) 2011-2014, Christopher Jeffrey (MIT License). + +.SH "SEE ALSO" +.BR markdown(1), +.BR node.js(1) diff --git a/bower_components/marked/man/marked.1.txt b/bower_components/marked/man/marked.1.txt new file mode 100644 index 0000000..56a8634 --- /dev/null +++ b/bower_components/marked/man/marked.1.txt @@ -0,0 +1,96 @@ +marked(1) General Commands Manual marked(1) + +NAME + marked - a javascript markdown parser + +SYNOPSIS + marked [-o ] [-i ] [--help] [--tokens] [--pedantic] + [--gfm] [--breaks] [--sanitize] [--smart-lists] [--lang-prefix ] [--no-etc...] [--silent] [filename] + + +DESCRIPTION + marked is a full-featured javascript markdown parser, built for speed. + It also includes multiple GFM features. + +EXAMPLES + cat in.md | marked > out.html + + echo "hello *world*" | marked + + marked -o out.html -i in.md --gfm + + marked --output="hello world.html" -i in.md --no-breaks + +OPTIONS + -o, --output [output] + Specify file output. If none is specified, write to stdout. + + -i, --input [input] + Specify file input, otherwise use last argument as input file. + If no input file is specified, read from stdin. + + --test Makes sure the test(s) pass. + + --glob [file] Specify which test to use. + + --fix Fixes tests. + + --bench Benchmarks the test(s). + + --time Times The test(s). + + --minified Runs test file(s) as minified. + + --stop Stop process if a test fails. + + -t, --tokens + Output a token stream instead of html. + + --pedantic + Conform to obscure parts of markdown.pl as much as possible. + Don't fix original markdown bugs. + + --gfm Enable github flavored markdown. + + --breaks + Enable GFM line breaks. Only works with the gfm option. + + --sanitize + Sanitize output. Ignore any HTML input. + + --smart-lists + Use smarter list behavior than the original markdown. + + --lang-prefix [prefix] + Set the prefix for code block classes. + + --mangle + Mangle email addresses. + + --no-sanitize, -no-etc... + The inverse of any of the marked options above. + + --silent + Silence error output. + + -h, --help + Display help information. + +CONFIGURATION + For configuring and running programmatically. + + Example + + require('marked')('*foo*', { gfm: true }); + +BUGS + Please report any bugs to https://github.com/markedjs/marked. + +LICENSE + Copyright (c) 2011-2014, Christopher Jeffrey (MIT License). + +SEE ALSO + markdown(1), node.js(1) + + marked(1) diff --git a/bower_components/marked/marked.min.js b/bower_components/marked/marked.min.js new file mode 100644 index 0000000..a46426c --- /dev/null +++ b/bower_components/marked/marked.min.js @@ -0,0 +1,6 @@ +/** + * marked - a markdown parser + * Copyright (c) 2011-2019, Christopher Jeffrey. (MIT Licensed) + * https://github.com/markedjs/marked + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).marked=t()}(this,function(){"use strict";function r(e,t){for(var n=0;n"']/),l=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,o=/[<>"']|&(?!#?\w+;)/g,h={"&":"&","<":"<",">":">",'"':""","'":"'"};var u=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function c(e){return e.replace(u,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}var p=/(^|[^\[])\^/g;var g=/[^\w:]/g,f=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var d={},k=/^[^:]+:\/*[^/]*$/,b=/^([^:]+:)[\s\S]*$/,m=/^([^:]+:\/*[^/]*)[\s\S]*$/;function x(e,t){d[" "+e]||(k.test(e)?d[" "+e]=e+"/":d[" "+e]=_(e,"/",!0));var n=-1===(e=d[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(b,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(m,"$1")+t:e+t}function _(e,t,n){var r=e.length;if(0===r)return"";for(var s=0;st)n.splice(t);else for(;n.length ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:Z,table:Z,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};C.def=L(C.def).replace("label",C._label).replace("title",C._title).getRegex(),C.bullet=/(?:[*+-]|\d{1,9}\.)/,C.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,C.item=L(C.item,"gm").replace(/bull/g,C.bullet).getRegex(),C.list=L(C.list).replace(/bull/g,C.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+C.def.source+")").getRegex(),C._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",C._comment=//,C.html=L(C.html,"i").replace("comment",C._comment).replace("tag",C._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),C.paragraph=L(C._paragraph).replace("hr",C.hr).replace("heading"," {0,3}#{1,6} +").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",C._tag).getRegex(),C.blockquote=L(C.blockquote).replace("paragraph",C.paragraph).getRegex(),C.normal=q({},C),C.gfm=q({},C.normal,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),C.pedantic=q({},C.normal,{html:L("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",C._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:Z,paragraph:L(C.normal._paragraph).replace("hr",C.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",C.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var O={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:Z,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:Z,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~"};O.em=L(O.em).replace(/punctuation/g,O._punctuation).getRegex(),O._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,O._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,O._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,O.autolink=L(O.autolink).replace("scheme",O._scheme).replace("email",O._email).getRegex(),O._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,O.tag=L(O.tag).replace("comment",C._comment).replace("attribute",O._attribute).getRegex(),O._label=/(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,O._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,O._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,O.link=L(O.link).replace("label",O._label).replace("href",O._href).replace("title",O._title).getRegex(),O.reflink=L(O.reflink).replace("label",O._label).getRegex(),O.normal=q({},O),O.pedantic=q({},O.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:L(/^!?\[(label)\]\((.*?)\)/).replace("label",O._label).getRegex(),reflink:L(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",O._label).getRegex()}),O.gfm=q({},O.normal,{escape:L(O.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\ ?/gm,""),this.token(s,t),this.tokens.push({type:"blockquote_end"});else if(s=this.rules.list.exec(e)){for(e=e.substring(s[0].length),o={type:"list_start",ordered:d=1<(i=s[2]).length,start:d?+i:"",loose:!1},this.tokens.push(o),n=!(h=[]),f=(s=s[0].match(this.rules.item)).length,p=0;p'+(n?e:N(e,!0))+"\n":"
    "+(n?e:N(e,!0))+"
    "},t.blockquote=function(e){return"
    \n"+e+"
    \n"},t.html=function(e){return e},t.heading=function(e,t,n,r){return this.options.headerIds?"'+e+"\n":""+e+"\n"},t.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},t.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},t.listitem=function(e){return"
  • "+e+"
  • \n"},t.checkbox=function(e){return" "},t.paragraph=function(e){return"

    "+e+"

    \n"},t.table=function(e,t){return"\n\n"+e+"\n"+(t=t&&""+t+"")+"
    \n"},t.tablerow=function(e){return"\n"+e+"\n"},t.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},t.strong=function(e){return""+e+""},t.em=function(e){return""+e+""},t.codespan=function(e){return""+e+""},t.br=function(){return this.options.xhtml?"
    ":"
    "},t.del=function(e){return""+e+""},t.link=function(e,t,n){if(null===(e=F(this.options.sanitize,this.options.baseUrl,e)))return n;var r='
    "},t.image=function(e,t,n){if(null===(e=F(this.options.sanitize,this.options.baseUrl,e)))return n;var r=''+n+'":">"},t.text=function(e){return e},e}(),G=function(){function e(){this.seen={}}return e.prototype.slug=function(e){var t=e.toLowerCase().trim().replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t))for(var n=t;this.seen[n]++,t=n+"-"+this.seen[n],this.seen.hasOwnProperty(t););return this.seen[t]=0,t},e}(),M=s.defaults,V=D.inline,H=A,J=y,K=function(){function u(e,t){if(this.options=t||M,this.links=e,this.rules=V.normal,this.options.renderer=this.options.renderer||new X,this.renderer=this.options.renderer,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.pedantic?this.rules=V.pedantic:this.options.gfm&&(this.options.breaks?this.rules=V.breaks:this.rules=V.gfm)}u.output=function(e,t,n){return new u(t,n).output(e)};var e=u.prototype;return e.output=function(e){for(var t,n,r,s,i,l,a="";e;)if(i=this.rules.escape.exec(e))e=e.substring(i[0].length),a+=J(i[1]);else if(i=this.rules.tag.exec(e))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(this.inRawBlock=!1),e=e.substring(i[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):J(i[0]):i[0];else if(i=this.rules.link.exec(e)){var o=H(i[2],"()");if(-1$/,"$1"),a+=this.outputLink(i,{href:u.escapes(r),title:u.escapes(s)}),this.inLink=!1}else if((i=this.rules.reflink.exec(e))||(i=this.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=i[0].charAt(0),e=i[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(i,t),this.inLink=!1}else if(i=this.rules.strong.exec(e))e=e.substring(i[0].length),a+=this.renderer.strong(this.output(i[4]||i[3]||i[2]||i[1]));else if(i=this.rules.em.exec(e))e=e.substring(i[0].length),a+=this.renderer.em(this.output(i[6]||i[5]||i[4]||i[3]||i[2]||i[1]));else if(i=this.rules.code.exec(e))e=e.substring(i[0].length),a+=this.renderer.codespan(J(i[2].trim(),!0));else if(i=this.rules.br.exec(e))e=e.substring(i[0].length),a+=this.renderer.br();else if(i=this.rules.del.exec(e))e=e.substring(i[0].length),a+=this.renderer.del(this.output(i[1]));else if(i=this.rules.autolink.exec(e))e=e.substring(i[0].length),r="@"===i[2]?"mailto:"+(n=J(this.mangle(i[1]))):n=J(i[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(i=this.rules.url.exec(e))){if(i=this.rules.text.exec(e))e=e.substring(i[0].length),this.inRawBlock?a+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):J(i[0]):i[0]):a+=this.renderer.text(J(this.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===i[2])r="mailto:"+(n=J(i[0]));else{for(;l=i[0],i[0]=this.rules._backpedal.exec(i[0])[0],l!==i[0];);n=J(i[0]),r="www."===i[1]?"http://"+n:n}e=e.substring(i[0].length),a+=this.renderer.link(r,null,n)}return a},u.escapes=function(e){return e?e.replace(u.rules._escapes,"$1"):e},e.outputLink=function(e,t){var n=t.href,r=t.title?J(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,J(e[1]))},e.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},e.mangle=function(e){if(!this.options.mangle)return e;for(var t,n=e.length,r="",s=0;sAn error occurred:

    "+se(e.message+"",!0)+"
    ";throw e}}return oe.options=oe.setOptions=function(e){return ne(oe.defaults,e),le(oe.defaults),oe},oe.getDefaults=ie,oe.defaults=ae,oe.Parser=te,oe.parser=te.parse,oe.Renderer=X,oe.TextRenderer=Q,oe.Lexer=B,oe.lexer=B.lex,oe.InlineLexer=K,oe.inlineLexer=K.output,oe.Slugger=G,oe.parse=oe}); \ No newline at end of file diff --git a/bower_components/marked/now.json b/bower_components/marked/now.json new file mode 100644 index 0000000..47e21ca --- /dev/null +++ b/bower_components/marked/now.json @@ -0,0 +1,15 @@ +{ + "name": "markedjs", + "scope": "markedjs", + "alias": "markedjs.now.sh", + "version": 2, + "regions": ["all"], + "builds": [ + { "src": "docs/**", "use": "@now/static" } + ], + "routes": [ + { "src": "/repo", "status": 302, "headers": { "Location": "https://github.com/markedjs/marked" } }, + { "src": "/old", "status": 302, "headers": { "Location": "https://marked.js.org" } }, + { "src": "/(.*)", "dest": "/docs/$1" } + ] +} diff --git a/bower_components/marked/package-lock.json b/bower_components/marked/package-lock.json new file mode 100644 index 0000000..31e4191 --- /dev/null +++ b/bower_components/marked/package-lock.json @@ -0,0 +1,3751 @@ +{ + "name": "marked", + "version": "0.8.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.5.tgz", + "integrity": "sha512-M42+ScN4+1S9iB6f+TL7QBpoQETxbclx+KNoKJABghnKYE+fMzSGqst0BZJc8CpI625bwPwYgUyRvxZ+0mZzpw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helpers": "^7.7.4", + "@babel/parser": "^7.7.5", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", + "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz", + "integrity": "sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz", + "integrity": "sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-call-delegate": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz", + "integrity": "sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz", + "integrity": "sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==", + "dev": true, + "requires": { + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/helper-define-map": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz", + "integrity": "sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.7.4", + "@babel/types": "^7.7.4", + "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz", + "integrity": "sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==", + "dev": true, + "requires": { + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-hoist-variables": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz", + "integrity": "sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz", + "integrity": "sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-module-imports": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.0.tgz", + "integrity": "sha512-Dv3hLKIC1jyfTkClvyEkYP2OlkzNvWs5+Q8WgPbxM5LMeorons7iPP91JM+DU7tRbhqA1ZeooPaMFvQrn23RHw==", + "dev": true, + "requires": { + "@babel/types": "^7.7.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz", + "integrity": "sha512-A7pSxyJf1gN5qXVcidwLWydjftUN878VkalhXX5iQDuGyiGK3sOrrKKHF4/A4fwHtnsotv/NipwAeLzY4KQPvw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-simple-access": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4", + "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", + "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz", + "integrity": "sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz", + "integrity": "sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-wrap-function": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-replace-supers": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz", + "integrity": "sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-simple-access": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz", + "integrity": "sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==", + "dev": true, + "requires": { + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-wrap-function": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz", + "integrity": "sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helpers": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", + "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", + "dev": true, + "requires": { + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.5.tgz", + "integrity": "sha512-KNlOe9+/nk4i29g0VXgl8PEXIRms5xKLJeuZ6UptN0fHv+jDiriG+y94X6qAgWTR0h3KaoM1wK5G5h7MHFRSig==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz", + "integrity": "sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.7.4", + "@babel/plugin-syntax-async-generators": "^7.7.4" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz", + "integrity": "sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.7.4" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz", + "integrity": "sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.7.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz", + "integrity": "sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.7.4" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz", + "integrity": "sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.7.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz", + "integrity": "sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz", + "integrity": "sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz", + "integrity": "sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz", + "integrity": "sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz", + "integrity": "sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz", + "integrity": "sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz", + "integrity": "sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz", + "integrity": "sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz", + "integrity": "sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.7.4" + }, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", + "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz", + "integrity": "sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz", + "integrity": "sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz", + "integrity": "sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-define-map": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz", + "integrity": "sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz", + "integrity": "sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz", + "integrity": "sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz", + "integrity": "sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz", + "integrity": "sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz", + "integrity": "sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz", + "integrity": "sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz", + "integrity": "sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz", + "integrity": "sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.5.tgz", + "integrity": "sha512-CT57FG4A2ZUNU1v+HdvDSDrjNWBrtCmSH6YbbgN3Lrf0Di/q/lWRxZrE72p3+HCCz9UjfZOEBdphgC0nzOS6DQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.7.5", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz", + "integrity": "sha512-9Cq4zTFExwFhQI6MT1aFxgqhIsMWQWDVwOgLzl7PTWJHsNaqFvklAU+Oz6AQLAS0dJKTwZSOCo20INwktxpi3Q==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.7.5", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.7.4", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz", + "integrity": "sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz", + "integrity": "sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz", + "integrity": "sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz", + "integrity": "sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz", + "integrity": "sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.7.4" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz", + "integrity": "sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.7.4", + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz", + "integrity": "sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz", + "integrity": "sha512-/8I8tPvX2FkuEyWbjRCt4qTAgZK0DVy8QRguhA524UH48RfGJy94On2ri+dCuwOpcerPRl9O4ebQkRcVzIaGBw==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz", + "integrity": "sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz", + "integrity": "sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz", + "integrity": "sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz", + "integrity": "sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz", + "integrity": "sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz", + "integrity": "sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz", + "integrity": "sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/preset-env": { + "version": "7.7.6", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.6.tgz", + "integrity": "sha512-k5hO17iF/Q7tR9Jv8PdNBZWYW6RofxhnxKjBMc0nG4JTaWvOTiPoO/RLFwAKcA4FpmuBFm6jkoqaRJLGi0zdaQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.7.4", + "@babel/plugin-proposal-dynamic-import": "^7.7.4", + "@babel/plugin-proposal-json-strings": "^7.7.4", + "@babel/plugin-proposal-object-rest-spread": "^7.7.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.7.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.7.4", + "@babel/plugin-syntax-async-generators": "^7.7.4", + "@babel/plugin-syntax-dynamic-import": "^7.7.4", + "@babel/plugin-syntax-json-strings": "^7.7.4", + "@babel/plugin-syntax-object-rest-spread": "^7.7.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.7.4", + "@babel/plugin-syntax-top-level-await": "^7.7.4", + "@babel/plugin-transform-arrow-functions": "^7.7.4", + "@babel/plugin-transform-async-to-generator": "^7.7.4", + "@babel/plugin-transform-block-scoped-functions": "^7.7.4", + "@babel/plugin-transform-block-scoping": "^7.7.4", + "@babel/plugin-transform-classes": "^7.7.4", + "@babel/plugin-transform-computed-properties": "^7.7.4", + "@babel/plugin-transform-destructuring": "^7.7.4", + "@babel/plugin-transform-dotall-regex": "^7.7.4", + "@babel/plugin-transform-duplicate-keys": "^7.7.4", + "@babel/plugin-transform-exponentiation-operator": "^7.7.4", + "@babel/plugin-transform-for-of": "^7.7.4", + "@babel/plugin-transform-function-name": "^7.7.4", + "@babel/plugin-transform-literals": "^7.7.4", + "@babel/plugin-transform-member-expression-literals": "^7.7.4", + "@babel/plugin-transform-modules-amd": "^7.7.5", + "@babel/plugin-transform-modules-commonjs": "^7.7.5", + "@babel/plugin-transform-modules-systemjs": "^7.7.4", + "@babel/plugin-transform-modules-umd": "^7.7.4", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4", + "@babel/plugin-transform-new-target": "^7.7.4", + "@babel/plugin-transform-object-super": "^7.7.4", + "@babel/plugin-transform-parameters": "^7.7.4", + "@babel/plugin-transform-property-literals": "^7.7.4", + "@babel/plugin-transform-regenerator": "^7.7.5", + "@babel/plugin-transform-reserved-words": "^7.7.4", + "@babel/plugin-transform-shorthand-properties": "^7.7.4", + "@babel/plugin-transform-spread": "^7.7.4", + "@babel/plugin-transform-sticky-regex": "^7.7.4", + "@babel/plugin-transform-template-literals": "^7.7.4", + "@babel/plugin-transform-typeof-symbol": "^7.7.4", + "@babel/plugin-transform-unicode-regex": "^7.7.4", + "@babel/types": "^7.7.4", + "browserslist": "^4.6.0", + "core-js-compat": "^3.4.7", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + }, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", + "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/traverse": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/types": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.1.tgz", + "integrity": "sha512-kN/XdANDab9x1z5gcjDc9ePpxexkt+1EQ2MQUiM4XnMvQfvp87/+6kY4Ko2maLXH+tei/DgJ/ybFITeqqRwDiA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@markedjs/html-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@markedjs/html-differ/-/html-differ-3.0.0.tgz", + "integrity": "sha512-ubvgDumynqq6PnWyEPeBqLmEcrXR5w48AlQK8uj2M9IY04GNZhQGBL7sX2UI2IW8EKX5nRimFvv2iEKyPTSc4g==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "coa": "^2.0.2", + "diff": "^4.0.1", + "parse5-sax-parser": "^5.1.0" + } + }, + "@types/concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-OU2+C7X+5Gs42JZzXoto7yOQ0A0=", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "9.6.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.5.tgz", + "integrity": "sha512-NOLEgsT6UiDTjnWG5Hd2Mg25LRyz/oe8ql3wbjzgSFeRzRROhPmtlsvIrei4B46UjERF0td9SZ1ZXPLOdcrBHg==", + "dev": true + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", + "dev": true + }, + "@types/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-Jugo5V/1bS0fRhy2z8+cUAHEyWOATaz4rbyLVvcFs7+dXp5HfwpEwzF1Q11bB10ApUqHf+yTauxI0UXQDwGrbA==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "acorn": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "dev": true + }, + "acorn-jsx": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", + "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", + "dev": true + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-escapes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-includes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.0.tgz", + "integrity": "sha512-ONOEQoKrvXPKk7Su92Co0YMqYO32FfqJTzkKU9u2UpIXyYZIzLSvpdg4AwvSw4mSUW0czu6inK+zby6Oj6gDjQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.0" + } + }, + "array.prototype.flat": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.2.tgz", + "integrity": "sha512-VXjh7lAL4KXKF2hY4FnEW9eRW6IhdvFW1sN/JwLbmECbCgACCnBHNyP3lFiYuttr0jxRN9Bsc5+G27dMseSWqQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.15.0", + "function-bind": "^1.1.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.3.tgz", + "integrity": "sha512-WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.1.0", + "string.prototype.trimright": "^2.1.0" + } + } + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browserslist": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.2.tgz", + "integrity": "sha512-+M4oeaTplPm/f1pXDw84YohEv7B1i/2Aisei8s4s6k3QsoSHa7i5sz8u/cGQkkatCPxMASKxPualR4wwYgVboA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001015", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.42" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001015", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz", + "integrity": "sha512-/xL2AbW/XWHNu1gnIrO8UitBGoFthcsDgU9VLK1/dpsoxbaD5LscHozKze05R6WLsBvLhqv78dAPozMFQBYLbQ==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cheerio": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", + "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "dev": true, + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.1", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" + }, + "dependencies": { + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "dev": true, + "requires": { + "@types/node": "*" + } + } + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commenting": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/commenting/-/commenting-1.1.0.tgz", + "integrity": "sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA==", + "dev": true + }, + "commonmark": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.29.0.tgz", + "integrity": "sha512-Wc3kvAIm0EK85pHsM95Fev31wEN6/zQpwd2qcLDL8psjHRoUFvUeGHevIJAdToWUuFoX8WI/gmeDauqy32xgJQ==", + "dev": true, + "requires": { + "entities": "~ 1.1.1", + "mdurl": "~ 1.0.1", + "minimist": "~ 1.2.0", + "string.prototype.repeat": "^0.2.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "core-js-compat": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.5.0.tgz", + "integrity": "sha512-E7iJB72svRjJTnm9HDvujzNVMCm3ZcDYEedkJ/sDTNsy/0yooCd9Cg7GSzE7b4e0LfIkjijdB1tqg0pGwxWeWg==", + "dev": true, + "requires": { + "browserslist": "^4.8.2", + "semver": "^6.3.0" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "diff": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", + "dev": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "dev": true, + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "electron-to-chromium": { + "version": "1.3.322", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz", + "integrity": "sha512-Tc8JQEfGQ1MzfSzI/bTlSr7btJv/FFO7Yh6tanqVmIWOuNCu6/D1MilIEgLtmWqIrsv+o4IjpLAhgMBr/ncNAA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0-next.1.tgz", + "integrity": "sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.0", + "string.prototype.trimright": "^2.1.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.7.2.tgz", + "integrity": "sha512-qMlSWJaCSxDFr8fBPvJM9kJwbazrhNcBU3+DszDW1OlEwKBBRWsJc7NJFelvwQpanHCR14cOLD41x8Eqvo3Nng==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "globals": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + } + } + }, + "eslint-config-standard": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.0.tgz", + "integrity": "sha512-EF6XkrrGVbvv8hL/kYa/m6vnvmUT+K82pJJc4JJVMM6+Qgqh0pnwprSxdduDLB9p/7bIxD+YV5O0wfb8lmcPbA==", + "dev": true + }, + "eslint-import-resolver-node": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", + "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-module-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.5.0.tgz", + "integrity": "sha512-kCo8pZaNz2dsAW7nCUjuVoI11EBXXpIzfNxmaoLhXoRDOnqXLC4iSGVRdZPhOitfbdEfMEfKOiENaK6wDPZEGw==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-plugin-es": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-2.0.0.tgz", + "integrity": "sha512-f6fceVtg27BR02EYnBhgWLFQfK6bN4Ll0nQFrBHOlCsAyxeZkn0NHns5O0YZOPrV1B3ramd6cgFwaoFLcSkwEQ==", + "dev": true, + "requires": { + "eslint-utils": "^1.4.2", + "regexpp": "^3.0.0" + }, + "dependencies": { + "regexpp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz", + "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==", + "dev": true + } + } + }, + "eslint-plugin-import": { + "version": "2.19.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.19.1.tgz", + "integrity": "sha512-x68131aKoCZlCae7rDXKSAQmbT5DQuManyXo2sK6fJJ0aK5CWAkv6A6HJZGgqC8IhjQxYPgo6/IY4Oz8AFsbBw==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "array.prototype.flat": "^1.2.1", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.1", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "resolve": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz", + "integrity": "sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "eslint-plugin-node": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-10.0.0.tgz", + "integrity": "sha512-1CSyM/QCjs6PXaT18+zuAXsjXGIGo5Rw630rSKwokSs2jrYURQc4R5JZpoanNCqwNmepg+0eZ9L7YiRUJb8jiQ==", + "dev": true, + "requires": { + "eslint-plugin-es": "^2.0.0", + "eslint-utils": "^1.4.2", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", + "dev": true + } + } + }, + "eslint-plugin-promise": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", + "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", + "dev": true + }, + "eslint-plugin-standard": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz", + "integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==", + "dev": true + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", + "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.0.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "espree": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", + "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", + "dev": true, + "requires": { + "acorn": "^7.1.0", + "acorn-jsx": "^5.1.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "figures": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", + "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "dev": true + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "front-matter": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-3.0.2.tgz", + "integrity": "sha512-iBGZaWyzqgsrPGsqrXZP6N4hp5FzSKDi18nfAoYpgz3qK5sAwFv/ojmn3VS60SOgLvq6CtojNqy0y6ZNz05IzQ==", + "dev": true, + "requires": { + "js-yaml": "^3.13.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "dev": true + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "dev": true + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dev": true, + "requires": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + } + }, + "http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dev": true, + "requires": { + "@types/node": "^10.0.3" + }, + "dependencies": { + "@types/node": { + "version": "10.17.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.4.tgz", + "integrity": "sha512-F2pgg+LcIr/elguz+x+fdBX5KeZXGUOp7TV8M0TVIrDezYLFRNt8oMTyps0VQ1kj5WGGoR18RdxnRDHXrIFHMQ==", + "dev": true + } + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "inquirer": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", + "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-reference": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.4.tgz", + "integrity": "sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw==", + "dev": true, + "requires": { + "@types/estree": "0.0.39" + } + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "jasmine": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.5.0.tgz", + "integrity": "sha512-DYypSryORqzsGoMazemIHUfMkXM7I7easFaxAvNM3Mr6Xz3Fy36TupTrAOxZWN8MVKEU5xECv22J4tUQf3uBzQ==", + "dev": true, + "requires": { + "glob": "^7.1.4", + "jasmine-core": "~3.5.0" + } + }, + "jasmine-core": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.5.0.tgz", + "integrity": "sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==", + "dev": true + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, + "requires": { + "uc.micro": "^1.0.1" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "magic-string": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz", + "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "markdown": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/markdown/-/markdown-0.5.0.tgz", + "integrity": "sha1-KCBbVlqK51kt4gdGPWY33BgnIrI=", + "dev": true, + "requires": { + "nopt": "~2.1.1" + } + }, + "markdown-it": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", + "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "entities": "~2.0.0", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "dependencies": { + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", + "dev": true + } + } + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "requires": { + "mime-db": "1.40.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "dev": true + }, + "node-releases": { + "version": "1.1.42", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.42.tgz", + "integrity": "sha512-OQ/ESmUqGawI2PRX+XIRao44qWYBBfN54ImQYdWVTQqUckuejOg76ysSqDBK8NG3zwySRVnX36JwDQ6x+9GxzA==", + "dev": true, + "requires": { + "semver": "^6.3.0" + } + }, + "nopt": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz", + "integrity": "sha1-bMzZd7gBMqB3MdbozljCyDA8+a8=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "dependencies": { + "es-abstract": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.3.tgz", + "integrity": "sha512-WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.1.0", + "string.prototype.trimright": "^2.1.0" + } + } + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "parse5-sax-parser": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-5.1.0.tgz", + "integrity": "sha512-VEhdEDhBkoSILPmsZ96SoIIUow3hZbtgQsqXw7r8DxxnqsCIO0fwkT9mWgBcf9SPjVUh92liuEprHrrYzXBPWQ==", + "dev": true, + "requires": { + "parse5": "^5.1.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.3.tgz", + "integrity": "sha512-HeRDUL1RJiLhyA0/grn+PTShlBAcLuh/1BJGtrvjwbvRDCTLLMEz9rOGCV+R3vHY4MixIuoMEd9Yq/XvsTPcjw==", + "dev": true, + "requires": { + "asap": "~2.0.6" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.0.tgz", + "integrity": "sha512-27RP4UotQORTpmNQDX8BHPukOnBP3p1uUJY5UnDhaJB+rMt9iMsok724XL+UHU23bEFOHRMQ2ZhI99qOWUMGFA==", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "readable-stream": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", + "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "regjsgen": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "resolve": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "1.27.11", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.27.11.tgz", + "integrity": "sha512-ENXdvXk8tjtkNTvIvjRzOEu+vv54va7PiDR7VwP8TD+In6J87gKzzFmQMawQixEL2y9rsPEgomUS7ZVkq47Tww==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" + } + }, + "rollup-plugin-babel": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.3.3.tgz", + "integrity": "sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "rollup-pluginutils": "^2.8.1" + } + }, + "rollup-plugin-commonjs": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz", + "integrity": "sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==", + "dev": true, + "requires": { + "estree-walker": "^0.6.1", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" + } + }, + "rollup-plugin-license": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-license/-/rollup-plugin-license-0.13.0.tgz", + "integrity": "sha512-K1At1InQufYagn1zNTikWG6NorVjdBBoKtJdHqbyV/Z1ksM3wHtWlR/4rqdKxyZjTXNTDzM7mxn7j/HERexLFw==", + "dev": true, + "requires": { + "commenting": "1.1.0", + "glob": "7.1.6", + "lodash": "4.17.15", + "magic-string": "0.25.4", + "mkdirp": "0.5.1", + "moment": "2.24.0", + "spdx-expression-validate": "2.0.0", + "spdx-satisfies": "5.0.0" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", + "dev": true + }, + "spdx-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz", + "integrity": "sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==", + "dev": true, + "requires": { + "array-find-index": "^1.0.2", + "spdx-expression-parse": "^3.0.0", + "spdx-ranges": "^2.0.0" + } + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-expression-validate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-validate/-/spdx-expression-validate-2.0.0.tgz", + "integrity": "sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "spdx-ranges": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz", + "integrity": "sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==", + "dev": true + }, + "spdx-satisfies": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-5.0.0.tgz", + "integrity": "sha512-/hGhwh20BeGmkA+P/lm06RvXD94JduwNxtx/oX3B5ClPt1/u/m5MCaDNo1tV3Y9laLkQr/NRde63b9lLMhlNfw==", + "dev": true, + "requires": { + "spdx-compare": "^1.0.0", + "spdx-expression-parse": "^3.0.0", + "spdx-ranges": "^2.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "string.prototype.repeat": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz", + "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=", + "dev": true + }, + "string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", + "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dev": true, + "requires": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + } + }, + "sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dev": true, + "requires": { + "get-port": "^3.1.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dev": true, + "requires": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "dependencies": { + "@types/node": { + "version": "8.10.58", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.58.tgz", + "integrity": "sha512-NNcUk/rAdR7Pie7WiA5NHp345dTkD62qaxqscQXVIjCjog/ZXsrG8Wo7dZMZAzE7PSpA+qR2S3TYTeFCKuBFxQ==", + "dev": true + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "uglify-js": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.2.tgz", + "integrity": "sha512-uhRwZcANNWVLrxLfNFEdltoPNhECUR3lc+UdJoG9CBpMcSnKyWA94tc3eAujB1GcMY5Uwq8ZMp4qWpxWYDQmaA==", + "dev": true, + "requires": { + "commander": "~2.20.3", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vuln-regex-detector": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/vuln-regex-detector/-/vuln-regex-detector-1.3.0.tgz", + "integrity": "sha512-QWm8buVznZjdcfMuFHYsiNfHd0YQ7dO41G0iEGVPlUng5eZUo8uy+QsVCmbgVZ2b96xprY1Tz9dQD7QtvbFHXw==", + "dev": true, + "requires": { + "sync-request": "^6.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + } + } +} diff --git a/bower_components/marked/package.json b/bower_components/marked/package.json new file mode 100644 index 0000000..70c0e16 --- /dev/null +++ b/bower_components/marked/package.json @@ -0,0 +1,77 @@ +{ + "name": "marked", + "description": "A markdown parser built for speed", + "author": "Christopher Jeffrey", + "version": "0.8.0", + "main": "./src/marked.js", + "bin": "./bin/marked", + "man": "./man/marked.1", + "files": [ + "bin/", + "lib/", + "src/", + "man/", + "marked.min.js" + ], + "repository": "git://github.com/markedjs/marked.git", + "homepage": "https://marked.js.org", + "bugs": { + "url": "http://github.com/markedjs/marked/issues" + }, + "license": "MIT", + "keywords": [ + "markdown", + "markup", + "html" + ], + "tags": [ + "markdown", + "markup", + "html" + ], + "devDependencies": { + "@babel/core": "^7.7.5", + "@babel/preset-env": "^7.7.6", + "@markedjs/html-differ": "^3.0.0", + "cheerio": "^1.0.0-rc.3", + "commonmark": "0.29.x", + "eslint": "^6.7.2", + "eslint-config-standard": "^14.1.0", + "eslint-plugin-import": "^2.19.1", + "eslint-plugin-node": "^10.0.0", + "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-standard": "^4.0.1", + "front-matter": "^3.0.2", + "jasmine": "^3.5.0", + "markdown": "0.5.x", + "markdown-it": "10.x", + "node-fetch": "^2.6.0", + "rollup": "^1.27.11", + "rollup-plugin-babel": "^4.3.3", + "rollup-plugin-commonjs": "^10.1.0", + "rollup-plugin-license": "^0.13.0", + "uglify-js": "^3.7.2", + "vuln-regex-detector": "^1.3.0" + }, + "scripts": { + "test": "jasmine --config=jasmine.json", + "test:all": "npm test && npm run test:lint", + "test:unit": "npm test -- test/unit/**/*-spec.js", + "test:specs": "npm test -- test/specs/**/*-spec.js", + "test:lint": "eslint bin/marked .", + "test:redos": "node test/vuln-regex.js", + "test:update": "node test/update-specs.js", + "bench": "npm run rollup && node test/bench.js", + "lint": "eslint --fix bin/marked .", + "build:reset": "git checkout upstream/master lib/marked.js lib/marked.esm.js marked.min.js", + "build": "npm run rollup && npm run minify", + "rollup": "npm run rollup:umd && npm run rollup:esm", + "rollup:umd": "rollup -c rollup.config.js", + "rollup:esm": "rollup -c rollup.config.esm.js", + "minify": "uglifyjs lib/marked.js -cm --comments /Copyright/ -o marked.min.js", + "preversion": "npm run build && (git diff --quiet || git commit -am 'build')" + }, + "engines": { + "node": ">= 8.16.2" + } +} diff --git a/bower_components/marked/rollup.config.esm.js b/bower_components/marked/rollup.config.esm.js new file mode 100644 index 0000000..47590d5 --- /dev/null +++ b/bower_components/marked/rollup.config.esm.js @@ -0,0 +1,26 @@ +const commonjs = require('rollup-plugin-commonjs'); +const license = require('rollup-plugin-license'); + +module.exports = { + input: 'src/marked.js', + output: { + file: 'lib/marked.esm.js', + format: 'esm' + }, + plugins: [ + license({ + banner: ` +DO NOT EDIT THIS FILE +The code in this file is generated from files in ./src/ +` + }), + license({ + banner: ` +marked - a markdown parser +Copyright (c) 2011-${new Date().getFullYear()}, Christopher Jeffrey. (MIT Licensed) +https://github.com/markedjs/marked +` + }), + commonjs() + ] +}; diff --git a/bower_components/marked/rollup.config.js b/bower_components/marked/rollup.config.js new file mode 100644 index 0000000..79b3c65 --- /dev/null +++ b/bower_components/marked/rollup.config.js @@ -0,0 +1,31 @@ +const commonjs = require('rollup-plugin-commonjs'); +const babel = require('rollup-plugin-babel'); +const license = require('rollup-plugin-license'); + +module.exports = { + input: 'src/marked.js', + output: { + file: 'lib/marked.js', + format: 'umd', + name: 'marked' + }, + plugins: [ + license({ + banner: ` +DO NOT EDIT THIS FILE +The code in this file is generated from files in ./src/ +` + }), + license({ + banner: ` +marked - a markdown parser +Copyright (c) 2011-${new Date().getFullYear()}, Christopher Jeffrey. (MIT Licensed) +https://github.com/markedjs/marked +` + }), + commonjs(), + babel({ + presets: [['@babel/preset-env', { loose: true }]] + }) + ] +}; diff --git a/bower_components/marked/src/InlineLexer.js b/bower_components/marked/src/InlineLexer.js new file mode 100644 index 0000000..d0c9d41 --- /dev/null +++ b/bower_components/marked/src/InlineLexer.js @@ -0,0 +1,293 @@ +const Renderer = require('./Renderer.js'); +const { defaults } = require('./defaults.js'); +const { inline } = require('./rules.js'); +const { + findClosingBracket, + escape +} = require('./helpers.js'); + +/** + * Inline Lexer & Compiler + */ +module.exports = class InlineLexer { + constructor(links, options) { + this.options = options || defaults; + this.links = links; + this.rules = inline.normal; + this.options.renderer = this.options.renderer || new Renderer(); + this.renderer = this.options.renderer; + this.renderer.options = this.options; + + if (!this.links) { + throw new Error('Tokens array requires a `links` property.'); + } + + if (this.options.pedantic) { + this.rules = inline.pedantic; + } else if (this.options.gfm) { + if (this.options.breaks) { + this.rules = inline.breaks; + } else { + this.rules = inline.gfm; + } + } + } + + /** + * Expose Inline Rules + */ + static get rules() { + return inline; + } + + /** + * Static Lexing/Compiling Method + */ + static output(src, links, options) { + const inline = new InlineLexer(links, options); + return inline.output(src); + } + + /** + * Lexing/Compiling + */ + output(src) { + let out = '', + link, + text, + href, + title, + cap, + prevCapZero; + + while (src) { + // escape + if (cap = this.rules.escape.exec(src)) { + src = src.substring(cap[0].length); + out += escape(cap[1]); + continue; + } + + // tag + if (cap = this.rules.tag.exec(src)) { + if (!this.inLink && /^
    /i.test(cap[0])) { + this.inLink = false; + } + if (!this.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.inRawBlock = true; + } else if (this.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.inRawBlock = false; + } + + src = src.substring(cap[0].length); + out += this.options.sanitize + ? this.options.sanitizer + ? this.options.sanitizer(cap[0]) + : escape(cap[0]) + : cap[0]; + continue; + } + + // link + if (cap = this.rules.link.exec(src)) { + const lastParenIndex = findClosingBracket(cap[2], '()'); + if (lastParenIndex > -1) { + const start = cap[0].indexOf('!') === 0 ? 5 : 4; + const linkLen = start + cap[1].length + lastParenIndex; + cap[2] = cap[2].substring(0, lastParenIndex); + cap[0] = cap[0].substring(0, linkLen).trim(); + cap[3] = ''; + } + src = src.substring(cap[0].length); + this.inLink = true; + href = cap[2]; + if (this.options.pedantic) { + link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href); + + if (link) { + href = link[1]; + title = link[3]; + } else { + title = ''; + } + } else { + title = cap[3] ? cap[3].slice(1, -1) : ''; + } + href = href.trim().replace(/^<([\s\S]*)>$/, '$1'); + out += this.outputLink(cap, { + href: InlineLexer.escapes(href), + title: InlineLexer.escapes(title) + }); + this.inLink = false; + continue; + } + + // reflink, nolink + if ((cap = this.rules.reflink.exec(src)) + || (cap = this.rules.nolink.exec(src))) { + src = src.substring(cap[0].length); + link = (cap[2] || cap[1]).replace(/\s+/g, ' '); + link = this.links[link.toLowerCase()]; + if (!link || !link.href) { + out += cap[0].charAt(0); + src = cap[0].substring(1) + src; + continue; + } + this.inLink = true; + out += this.outputLink(cap, link); + this.inLink = false; + continue; + } + + // strong + if (cap = this.rules.strong.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1])); + continue; + } + + // em + if (cap = this.rules.em.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1])); + continue; + } + + // code + if (cap = this.rules.code.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.codespan(escape(cap[2].trim(), true)); + continue; + } + + // br + if (cap = this.rules.br.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.br(); + continue; + } + + // del (gfm) + if (cap = this.rules.del.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.del(this.output(cap[1])); + continue; + } + + // autolink + if (cap = this.rules.autolink.exec(src)) { + src = src.substring(cap[0].length); + if (cap[2] === '@') { + text = escape(this.mangle(cap[1])); + href = 'mailto:' + text; + } else { + text = escape(cap[1]); + href = text; + } + out += this.renderer.link(href, null, text); + continue; + } + + // url (gfm) + if (!this.inLink && (cap = this.rules.url.exec(src))) { + if (cap[2] === '@') { + text = escape(cap[0]); + href = 'mailto:' + text; + } else { + // do extended autolink path validation + do { + prevCapZero = cap[0]; + cap[0] = this.rules._backpedal.exec(cap[0])[0]; + } while (prevCapZero !== cap[0]); + text = escape(cap[0]); + if (cap[1] === 'www.') { + href = 'http://' + text; + } else { + href = text; + } + } + src = src.substring(cap[0].length); + out += this.renderer.link(href, null, text); + continue; + } + + // text + if (cap = this.rules.text.exec(src)) { + src = src.substring(cap[0].length); + if (this.inRawBlock) { + out += this.renderer.text(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]); + } else { + out += this.renderer.text(escape(this.smartypants(cap[0]))); + } + continue; + } + + if (src) { + throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); + } + } + + return out; + } + + static escapes(text) { + return text ? text.replace(InlineLexer.rules._escapes, '$1') : text; + } + + /** + * Compile Link + */ + outputLink(cap, link) { + const href = link.href, + title = link.title ? escape(link.title) : null; + + return cap[0].charAt(0) !== '!' + ? this.renderer.link(href, title, this.output(cap[1])) + : this.renderer.image(href, title, escape(cap[1])); + } + + /** + * Smartypants Transformations + */ + smartypants(text) { + if (!this.options.smartypants) return text; + return text + // em-dashes + .replace(/---/g, '\u2014') + // en-dashes + .replace(/--/g, '\u2013') + // opening singles + .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018') + // closing singles & apostrophes + .replace(/'/g, '\u2019') + // opening doubles + .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c') + // closing doubles + .replace(/"/g, '\u201d') + // ellipses + .replace(/\.{3}/g, '\u2026'); + } + + /** + * Mangle Links + */ + mangle(text) { + if (!this.options.mangle) return text; + const l = text.length; + let out = '', + i = 0, + ch; + + for (; i < l; i++) { + ch = text.charCodeAt(i); + if (Math.random() > 0.5) { + ch = 'x' + ch.toString(16); + } + out += '&#' + ch + ';'; + } + + return out; + } +}; diff --git a/bower_components/marked/src/Lexer.js b/bower_components/marked/src/Lexer.js new file mode 100644 index 0000000..d4ab566 --- /dev/null +++ b/bower_components/marked/src/Lexer.js @@ -0,0 +1,402 @@ +const { defaults } = require('./defaults.js'); +const { block } = require('./rules.js'); +const { + rtrim, + splitCells, + escape +} = require('./helpers.js'); + +/** + * Block Lexer + */ +module.exports = class Lexer { + constructor(options) { + this.tokens = []; + this.tokens.links = Object.create(null); + this.options = options || defaults; + this.rules = block.normal; + + if (this.options.pedantic) { + this.rules = block.pedantic; + } else if (this.options.gfm) { + this.rules = block.gfm; + } + } + + /** + * Expose Block Rules + */ + static get rules() { + return block; + } + + /** + * Static Lex Method + */ + static lex(src, options) { + const lexer = new Lexer(options); + return lexer.lex(src); + }; + + /** + * Preprocessing + */ + lex(src) { + src = src + .replace(/\r\n|\r/g, '\n') + .replace(/\t/g, ' '); + + return this.token(src, true); + }; + + /** + * Lexing + */ + token(src, top) { + src = src.replace(/^ +$/gm, ''); + let next, + loose, + cap, + bull, + b, + item, + listStart, + listItems, + t, + space, + i, + tag, + l, + isordered, + istask, + ischecked; + + while (src) { + // newline + if (cap = this.rules.newline.exec(src)) { + src = src.substring(cap[0].length); + if (cap[0].length > 1) { + this.tokens.push({ + type: 'space' + }); + } + } + + // code + if (cap = this.rules.code.exec(src)) { + const lastToken = this.tokens[this.tokens.length - 1]; + src = src.substring(cap[0].length); + // An indented code block cannot interrupt a paragraph. + if (lastToken && lastToken.type === 'paragraph') { + lastToken.text += '\n' + cap[0].trimRight(); + } else { + cap = cap[0].replace(/^ {4}/gm, ''); + this.tokens.push({ + type: 'code', + codeBlockStyle: 'indented', + text: !this.options.pedantic + ? rtrim(cap, '\n') + : cap + }); + } + continue; + } + + // fences + if (cap = this.rules.fences.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'code', + lang: cap[2] ? cap[2].trim() : cap[2], + text: cap[3] || '' + }); + continue; + } + + // heading + if (cap = this.rules.heading.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'heading', + depth: cap[1].length, + text: cap[2] + }); + continue; + } + + // table no leading pipe (gfm) + if (cap = this.rules.nptable.exec(src)) { + item = { + type: 'table', + header: splitCells(cap[1].replace(/^ *| *\| *$/g, '')), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + src = src.substring(cap[0].length); + + for (i = 0; i < item.align.length; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + for (i = 0; i < item.cells.length; i++) { + item.cells[i] = splitCells(item.cells[i], item.header.length); + } + + this.tokens.push(item); + + continue; + } + } + + // hr + if (cap = this.rules.hr.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'hr' + }); + continue; + } + + // blockquote + if (cap = this.rules.blockquote.exec(src)) { + src = src.substring(cap[0].length); + + this.tokens.push({ + type: 'blockquote_start' + }); + + cap = cap[0].replace(/^ *> ?/gm, ''); + + // Pass `top` to keep the current + // "toplevel" state. This is exactly + // how markdown.pl works. + this.token(cap, top); + + this.tokens.push({ + type: 'blockquote_end' + }); + + continue; + } + + // list + if (cap = this.rules.list.exec(src)) { + src = src.substring(cap[0].length); + bull = cap[2]; + isordered = bull.length > 1; + + listStart = { + type: 'list_start', + ordered: isordered, + start: isordered ? +bull : '', + loose: false + }; + + this.tokens.push(listStart); + + // Get each top-level item. + cap = cap[0].match(this.rules.item); + + listItems = []; + next = false; + l = cap.length; + i = 0; + + for (; i < l; i++) { + item = cap[i]; + + // Remove the list item's bullet + // so it is seen as the next token. + space = item.length; + item = item.replace(/^ *([*+-]|\d+\.) */, ''); + + // Outdent whatever the + // list item contains. Hacky. + if (~item.indexOf('\n ')) { + space -= item.length; + item = !this.options.pedantic + ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') + : item.replace(/^ {1,4}/gm, ''); + } + + // Determine whether the next list item belongs here. + // Backpedal if it does not belong in this list. + if (i !== l - 1) { + b = block.bullet.exec(cap[i + 1])[0]; + if (bull.length > 1 ? b.length === 1 + : (b.length > 1 || (this.options.smartLists && b !== bull))) { + src = cap.slice(i + 1).join('\n') + src; + i = l - 1; + } + } + + // Determine whether item is loose or not. + // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ + // for discount behavior. + loose = next || /\n\n(?!\s*$)/.test(item); + if (i !== l - 1) { + next = item.charAt(item.length - 1) === '\n'; + if (!loose) loose = next; + } + + if (loose) { + listStart.loose = true; + } + + // Check for task list items + istask = /^\[[ xX]\] /.test(item); + ischecked = undefined; + if (istask) { + ischecked = item[1] !== ' '; + item = item.replace(/^\[[ xX]\] +/, ''); + } + + t = { + type: 'list_item_start', + task: istask, + checked: ischecked, + loose: loose + }; + + listItems.push(t); + this.tokens.push(t); + + // Recurse. + this.token(item, false); + + this.tokens.push({ + type: 'list_item_end' + }); + } + + if (listStart.loose) { + l = listItems.length; + i = 0; + for (; i < l; i++) { + listItems[i].loose = true; + } + } + + this.tokens.push({ + type: 'list_end' + }); + + continue; + } + + // html + if (cap = this.rules.html.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: this.options.sanitize + ? 'paragraph' + : 'html', + pre: !this.options.sanitizer + && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), + text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0] + }); + continue; + } + + // def + if (top && (cap = this.rules.def.exec(src))) { + src = src.substring(cap[0].length); + if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1); + tag = cap[1].toLowerCase().replace(/\s+/g, ' '); + if (!this.tokens.links[tag]) { + this.tokens.links[tag] = { + href: cap[2], + title: cap[3] + }; + } + continue; + } + + // table (gfm) + if (cap = this.rules.table.exec(src)) { + item = { + type: 'table', + header: splitCells(cap[1].replace(/^ *| *\| *$/g, '')), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + src = src.substring(cap[0].length); + + for (i = 0; i < item.align.length; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + for (i = 0; i < item.cells.length; i++) { + item.cells[i] = splitCells( + item.cells[i].replace(/^ *\| *| *\| *$/g, ''), + item.header.length); + } + + this.tokens.push(item); + + continue; + } + } + + // lheading + if (cap = this.rules.lheading.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'heading', + depth: cap[2].charAt(0) === '=' ? 1 : 2, + text: cap[1] + }); + continue; + } + + // top-level paragraph + if (top && (cap = this.rules.paragraph.exec(src))) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'paragraph', + text: cap[1].charAt(cap[1].length - 1) === '\n' + ? cap[1].slice(0, -1) + : cap[1] + }); + continue; + } + + // text + if (cap = this.rules.text.exec(src)) { + // Top-level should never reach here. + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'text', + text: cap[0] + }); + continue; + } + + if (src) { + throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); + } + } + + return this.tokens; + }; +}; diff --git a/bower_components/marked/src/Parser.js b/bower_components/marked/src/Parser.js new file mode 100644 index 0000000..30011df --- /dev/null +++ b/bower_components/marked/src/Parser.js @@ -0,0 +1,206 @@ +const Renderer = require('./Renderer.js'); +const Slugger = require('./Slugger.js'); +const InlineLexer = require('./InlineLexer.js'); +const TextRenderer = require('./TextRenderer.js'); +const { defaults } = require('./defaults.js'); +const { + merge, + unescape +} = require('./helpers.js'); + +/** + * Parsing & Compiling + */ +module.exports = class Parser { + constructor(options) { + this.tokens = []; + this.token = null; + this.options = options || defaults; + this.options.renderer = this.options.renderer || new Renderer(); + this.renderer = this.options.renderer; + this.renderer.options = this.options; + this.slugger = new Slugger(); + } + + /** + * Static Parse Method + */ + static parse(tokens, options) { + const parser = new Parser(options); + return parser.parse(tokens); + }; + + /** + * Parse Loop + */ + parse(tokens) { + this.inline = new InlineLexer(tokens.links, this.options); + // use an InlineLexer with a TextRenderer to extract pure text + this.inlineText = new InlineLexer( + tokens.links, + merge({}, this.options, { renderer: new TextRenderer() }) + ); + this.tokens = tokens.reverse(); + + let out = ''; + while (this.next()) { + out += this.tok(); + } + + return out; + }; + + /** + * Next Token + */ + next() { + this.token = this.tokens.pop(); + return this.token; + }; + + /** + * Preview Next Token + */ + peek() { + return this.tokens[this.tokens.length - 1] || 0; + }; + + /** + * Parse Text Tokens + */ + parseText() { + let body = this.token.text; + + while (this.peek().type === 'text') { + body += '\n' + this.next().text; + } + + return this.inline.output(body); + }; + + /** + * Parse Current Token + */ + tok() { + let body = ''; + switch (this.token.type) { + case 'space': { + return ''; + } + case 'hr': { + return this.renderer.hr(); + } + case 'heading': { + return this.renderer.heading( + this.inline.output(this.token.text), + this.token.depth, + unescape(this.inlineText.output(this.token.text)), + this.slugger); + } + case 'code': { + return this.renderer.code(this.token.text, + this.token.lang, + this.token.escaped); + } + case 'table': { + let header = '', + i, + row, + cell, + j; + + // header + cell = ''; + for (i = 0; i < this.token.header.length; i++) { + cell += this.renderer.tablecell( + this.inline.output(this.token.header[i]), + { header: true, align: this.token.align[i] } + ); + } + header += this.renderer.tablerow(cell); + + for (i = 0; i < this.token.cells.length; i++) { + row = this.token.cells[i]; + + cell = ''; + for (j = 0; j < row.length; j++) { + cell += this.renderer.tablecell( + this.inline.output(row[j]), + { header: false, align: this.token.align[j] } + ); + } + + body += this.renderer.tablerow(cell); + } + return this.renderer.table(header, body); + } + case 'blockquote_start': { + body = ''; + + while (this.next().type !== 'blockquote_end') { + body += this.tok(); + } + + return this.renderer.blockquote(body); + } + case 'list_start': { + body = ''; + const ordered = this.token.ordered, + start = this.token.start; + + while (this.next().type !== 'list_end') { + body += this.tok(); + } + + return this.renderer.list(body, ordered, start); + } + case 'list_item_start': { + body = ''; + const loose = this.token.loose; + const checked = this.token.checked; + const task = this.token.task; + + if (this.token.task) { + if (loose) { + if (this.peek().type === 'text') { + const nextToken = this.peek(); + nextToken.text = this.renderer.checkbox(checked) + ' ' + nextToken.text; + } else { + this.tokens.push({ + type: 'text', + text: this.renderer.checkbox(checked) + }); + } + } else { + body += this.renderer.checkbox(checked); + } + } + + while (this.next().type !== 'list_item_end') { + body += !loose && this.token.type === 'text' + ? this.parseText() + : this.tok(); + } + return this.renderer.listitem(body, task, checked); + } + case 'html': { + // TODO parse inline content if parameter markdown=1 + return this.renderer.html(this.token.text); + } + case 'paragraph': { + return this.renderer.paragraph(this.inline.output(this.token.text)); + } + case 'text': { + return this.renderer.paragraph(this.parseText()); + } + default: { + const errMsg = 'Token with "' + this.token.type + '" type was not found.'; + if (this.options.silent) { + console.log(errMsg); + } else { + throw new Error(errMsg); + } + } + } + }; +}; diff --git a/bower_components/marked/src/Renderer.js b/bower_components/marked/src/Renderer.js new file mode 100644 index 0000000..d86341a --- /dev/null +++ b/bower_components/marked/src/Renderer.js @@ -0,0 +1,164 @@ +const { defaults } = require('./defaults.js'); +const { + cleanUrl, + escape +} = require('./helpers.js'); + +/** + * Renderer + */ +module.exports = class Renderer { + constructor(options) { + this.options = options || defaults; + } + + code(code, infostring, escaped) { + const lang = (infostring || '').match(/\S*/)[0]; + if (this.options.highlight) { + const out = this.options.highlight(code, lang); + if (out != null && out !== code) { + escaped = true; + code = out; + } + } + + if (!lang) { + return '
    '
    +        + (escaped ? code : escape(code, true))
    +        + '
    '; + } + + return '
    '
    +      + (escaped ? code : escape(code, true))
    +      + '
    \n'; + }; + + blockquote(quote) { + return '
    \n' + quote + '
    \n'; + }; + + html(html) { + return html; + }; + + heading(text, level, raw, slugger) { + if (this.options.headerIds) { + return '' + + text + + '\n'; + } + // ignore IDs + return '' + text + '\n'; + }; + + hr() { + return this.options.xhtml ? '
    \n' : '
    \n'; + }; + + list(body, ordered, start) { + const type = ordered ? 'ol' : 'ul', + startatt = (ordered && start !== 1) ? (' start="' + start + '"') : ''; + return '<' + type + startatt + '>\n' + body + '\n'; + }; + + listitem(text) { + return '
  • ' + text + '
  • \n'; + }; + + checkbox(checked) { + return ' '; + }; + + paragraph(text) { + return '

    ' + text + '

    \n'; + }; + + table(header, body) { + if (body) body = '' + body + ''; + + return '\n' + + '\n' + + header + + '\n' + + body + + '
    \n'; + }; + + tablerow(content) { + return '\n' + content + '\n'; + }; + + tablecell(content, flags) { + const type = flags.header ? 'th' : 'td'; + const tag = flags.align + ? '<' + type + ' align="' + flags.align + '">' + : '<' + type + '>'; + return tag + content + '\n'; + }; + + // span level renderer + strong(text) { + return '' + text + ''; + }; + + em(text) { + return '' + text + ''; + }; + + codespan(text) { + return '' + text + ''; + }; + + br() { + return this.options.xhtml ? '
    ' : '
    '; + }; + + del(text) { + return '' + text + ''; + }; + + link(href, title, text) { + href = cleanUrl(this.options.sanitize, this.options.baseUrl, href); + if (href === null) { + return text; + } + let out = '
    '; + return out; + }; + + image(href, title, text) { + href = cleanUrl(this.options.sanitize, this.options.baseUrl, href); + if (href === null) { + return text; + } + + let out = '' + text + '' : '>'; + return out; + }; + + text(text) { + return text; + }; +}; diff --git a/bower_components/marked/src/Slugger.js b/bower_components/marked/src/Slugger.js new file mode 100644 index 0000000..5106421 --- /dev/null +++ b/bower_components/marked/src/Slugger.js @@ -0,0 +1,30 @@ +/** + * Slugger generates header id + */ +module.exports = class Slugger { + constructor() { + this.seen = {}; + } + + /** + * Convert string to unique id + */ + slug(value) { + let slug = value + .toLowerCase() + .trim() + .replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '') + .replace(/\s/g, '-'); + + if (this.seen.hasOwnProperty(slug)) { + const originalSlug = slug; + do { + this.seen[originalSlug]++; + slug = originalSlug + '-' + this.seen[originalSlug]; + } while (this.seen.hasOwnProperty(slug)); + } + this.seen[slug] = 0; + + return slug; + }; +}; diff --git a/bower_components/marked/src/TextRenderer.js b/bower_components/marked/src/TextRenderer.js new file mode 100644 index 0000000..652004d --- /dev/null +++ b/bower_components/marked/src/TextRenderer.js @@ -0,0 +1,38 @@ +/** + * TextRenderer + * returns only the textual part of the token + */ +module.exports = class TextRenderer { + // no need for block level renderers + strong(text) { + return text; + } + + em(text) { + return text; + } + + codespan(text) { + return text; + } + + del(text) { + return text; + } + + text(text) { + return text; + } + + link(href, title, text) { + return '' + text; + } + + image(href, title, text) { + return '' + text; + } + + br() { + return ''; + } +}; diff --git a/bower_components/marked/src/defaults.js b/bower_components/marked/src/defaults.js new file mode 100644 index 0000000..8d0be95 --- /dev/null +++ b/bower_components/marked/src/defaults.js @@ -0,0 +1,30 @@ +function getDefaults() { + return { + baseUrl: null, + breaks: false, + gfm: true, + headerIds: true, + headerPrefix: '', + highlight: null, + langPrefix: 'language-', + mangle: true, + pedantic: false, + renderer: null, + sanitize: false, + sanitizer: null, + silent: false, + smartLists: false, + smartypants: false, + xhtml: false + }; +} + +function changeDefaults(newDefaults) { + module.exports.defaults = newDefaults; +} + +module.exports = { + defaults: getDefaults(), + getDefaults, + changeDefaults +}; diff --git a/bower_components/marked/src/helpers.js b/bower_components/marked/src/helpers.js new file mode 100644 index 0000000..e5b8893 --- /dev/null +++ b/bower_components/marked/src/helpers.js @@ -0,0 +1,243 @@ +/** + * Helpers + */ +const escapeTest = /[&<>"']/; +const escapeReplace = /[&<>"']/g; +const escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/; +const escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g; +const escapeReplacements = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' +}; +const getEscapeReplacement = (ch) => escapeReplacements[ch]; +function escape(html, encode) { + if (encode) { + if (escapeTest.test(html)) { + return html.replace(escapeReplace, getEscapeReplacement); + } + } else { + if (escapeTestNoEncode.test(html)) { + return html.replace(escapeReplaceNoEncode, getEscapeReplacement); + } + } + + return html; +} + +const unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig; + +function unescape(html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(unescapeTest, (_, n) => { + n = n.toLowerCase(); + if (n === 'colon') return ':'; + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' + ? String.fromCharCode(parseInt(n.substring(2), 16)) + : String.fromCharCode(+n.substring(1)); + } + return ''; + }); +} + +const caret = /(^|[^\[])\^/g; +function edit(regex, opt) { + regex = regex.source || regex; + opt = opt || ''; + const obj = { + replace: (name, val) => { + val = val.source || val; + val = val.replace(caret, '$1'); + regex = regex.replace(name, val); + return obj; + }, + getRegex: () => { + return new RegExp(regex, opt); + } + }; + return obj; +} + +const nonWordAndColonTest = /[^\w:]/g; +const originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; +function cleanUrl(sanitize, base, href) { + if (sanitize) { + let prot; + try { + prot = decodeURIComponent(unescape(href)) + .replace(nonWordAndColonTest, '') + .toLowerCase(); + } catch (e) { + return null; + } + if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { + return null; + } + } + if (base && !originIndependentUrl.test(href)) { + href = resolveUrl(base, href); + } + try { + href = encodeURI(href).replace(/%25/g, '%'); + } catch (e) { + return null; + } + return href; +} + +const baseUrls = {}; +const justDomain = /^[^:]+:\/*[^/]*$/; +const protocol = /^([^:]+:)[\s\S]*$/; +const domain = /^([^:]+:\/*[^/]*)[\s\S]*$/; + +function resolveUrl(base, href) { + if (!baseUrls[' ' + base]) { + // we can ignore everything in base after the last slash of its path component, + // but we might need to add _that_ + // https://tools.ietf.org/html/rfc3986#section-3 + if (justDomain.test(base)) { + baseUrls[' ' + base] = base + '/'; + } else { + baseUrls[' ' + base] = rtrim(base, '/', true); + } + } + base = baseUrls[' ' + base]; + const relativeBase = base.indexOf(':') === -1; + + if (href.substring(0, 2) === '//') { + if (relativeBase) { + return href; + } + return base.replace(protocol, '$1') + href; + } else if (href.charAt(0) === '/') { + if (relativeBase) { + return href; + } + return base.replace(domain, '$1') + href; + } else { + return base + href; + } +} + +const noopTest = { exec: function noopTest() {} }; + +function merge(obj) { + let i = 1, + target, + key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; +} + +function splitCells(tableRow, count) { + // ensure that every cell-delimiting pipe has a space + // before it to distinguish it from an escaped pipe + const row = tableRow.replace(/\|/g, (match, offset, str) => { + let escaped = false, + curr = offset; + while (--curr >= 0 && str[curr] === '\\') escaped = !escaped; + if (escaped) { + // odd number of slashes means | is escaped + // so we leave it alone + return '|'; + } else { + // add space before unescaped | + return ' |'; + } + }), + cells = row.split(/ \|/); + let i = 0; + + if (cells.length > count) { + cells.splice(count); + } else { + while (cells.length < count) cells.push(''); + } + + for (; i < cells.length; i++) { + // leading or trailing whitespace is ignored per the gfm spec + cells[i] = cells[i].trim().replace(/\\\|/g, '|'); + } + return cells; +} + +// Remove trailing 'c's. Equivalent to str.replace(/c*$/, ''). +// /c*$/ is vulnerable to REDOS. +// invert: Remove suffix of non-c chars instead. Default falsey. +function rtrim(str, c, invert) { + const l = str.length; + if (l === 0) { + return ''; + } + + // Length of suffix matching the invert condition. + let suffLen = 0; + + // Step left until we fail to match the invert condition. + while (suffLen < l) { + const currChar = str.charAt(l - suffLen - 1); + if (currChar === c && !invert) { + suffLen++; + } else if (currChar !== c && invert) { + suffLen++; + } else { + break; + } + } + + return str.substr(0, l - suffLen); +} + +function findClosingBracket(str, b) { + if (str.indexOf(b[1]) === -1) { + return -1; + } + const l = str.length; + let level = 0, + i = 0; + for (; i < l; i++) { + if (str[i] === '\\') { + i++; + } else if (str[i] === b[0]) { + level++; + } else if (str[i] === b[1]) { + level--; + if (level < 0) { + return i; + } + } + } + return -1; +} + +function checkSanitizeDeprecation(opt) { + if (opt && opt.sanitize && !opt.silent) { + console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options'); + } +} + +module.exports = { + escape, + unescape, + edit, + cleanUrl, + resolveUrl, + noopTest, + merge, + splitCells, + rtrim, + findClosingBracket, + checkSanitizeDeprecation +}; diff --git a/bower_components/marked/src/marked.js b/bower_components/marked/src/marked.js new file mode 100644 index 0000000..10704b0 --- /dev/null +++ b/bower_components/marked/src/marked.js @@ -0,0 +1,150 @@ +const Lexer = require('./Lexer.js'); +const Parser = require('./Parser.js'); +const Renderer = require('./Renderer.js'); +const TextRenderer = require('./TextRenderer.js'); +const InlineLexer = require('./InlineLexer.js'); +const Slugger = require('./Slugger.js'); +const { + merge, + checkSanitizeDeprecation, + escape +} = require('./helpers.js'); +const { + getDefaults, + changeDefaults, + defaults +} = require('./defaults.js'); + +/** + * Marked + */ +function marked(src, opt, callback) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked(): input parameter is undefined or null'); + } + if (typeof src !== 'string') { + throw new Error('marked(): input parameter is of type ' + + Object.prototype.toString.call(src) + ', string expected'); + } + + if (callback || typeof opt === 'function') { + if (!callback) { + callback = opt; + opt = null; + } + + opt = merge({}, marked.defaults, opt || {}); + checkSanitizeDeprecation(opt); + const highlight = opt.highlight; + let tokens, + pending, + i = 0; + + try { + tokens = Lexer.lex(src, opt); + } catch (e) { + return callback(e); + } + + pending = tokens.length; + + const done = function(err) { + if (err) { + opt.highlight = highlight; + return callback(err); + } + + let out; + + try { + out = Parser.parse(tokens, opt); + } catch (e) { + err = e; + } + + opt.highlight = highlight; + + return err + ? callback(err) + : callback(null, out); + }; + + if (!highlight || highlight.length < 3) { + return done(); + } + + delete opt.highlight; + + if (!pending) return done(); + + for (; i < tokens.length; i++) { + (function(token) { + if (token.type !== 'code') { + return --pending || done(); + } + return highlight(token.text, token.lang, function(err, code) { + if (err) return done(err); + if (code == null || code === token.text) { + return --pending || done(); + } + token.text = code; + token.escaped = true; + --pending || done(); + }); + })(tokens[i]); + } + + return; + } + try { + opt = merge({}, marked.defaults, opt || {}); + checkSanitizeDeprecation(opt); + return Parser.parse(Lexer.lex(src, opt), opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + if ((opt || marked.defaults).silent) { + return '

    An error occurred:

    '
    +        + escape(e.message + '', true)
    +        + '
    '; + } + throw e; + } +} + +/** + * Options + */ + +marked.options = +marked.setOptions = function(opt) { + merge(marked.defaults, opt); + changeDefaults(marked.defaults); + return marked; +}; + +marked.getDefaults = getDefaults; + +marked.defaults = defaults; + +/** + * Expose + */ + +marked.Parser = Parser; +marked.parser = Parser.parse; + +marked.Renderer = Renderer; +marked.TextRenderer = TextRenderer; + +marked.Lexer = Lexer; +marked.lexer = Lexer.lex; + +marked.InlineLexer = InlineLexer; +marked.inlineLexer = InlineLexer.output; + +marked.Slugger = Slugger; + +marked.parse = marked; + +module.exports = marked; diff --git a/bower_components/marked/src/rules.js b/bower_components/marked/src/rules.js new file mode 100644 index 0000000..a290fa3 --- /dev/null +++ b/bower_components/marked/src/rules.js @@ -0,0 +1,240 @@ +const { + noopTest, + edit, + merge +} = require('./helpers.js'); + +/** + * Block-Level Grammar + */ +const block = { + newline: /^\n+/, + code: /^( {4}[^\n]+\n*)+/, + fences: /^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/, + hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, + heading: /^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/, + blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, + list: /^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, + html: '^ {0,3}(?:' // optional indentation + + '<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)' // (1) + + '|comment[^\\n]*(\\n+|$)' // (2) + + '|<\\?[\\s\\S]*?\\?>\\n*' // (3) + + '|\\n*' // (4) + + '|\\n*' // (5) + + '|)[\\s\\S]*?(?:\\n{2,}|$)' // (6) + + '|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) open tag + + '|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) closing tag + + ')', + def: /^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/, + nptable: noopTest, + table: noopTest, + lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, + // regex template, placeholders will be replaced according to different paragraph + // interruption rules of commonmark and the original markdown spec: + _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/, + text: /^[^\n]+/ +}; + +block._label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/; +block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/; +block.def = edit(block.def) + .replace('label', block._label) + .replace('title', block._title) + .getRegex(); + +block.bullet = /(?:[*+-]|\d{1,9}\.)/; +block.item = /^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/; +block.item = edit(block.item, 'gm') + .replace(/bull/g, block.bullet) + .getRegex(); + +block.list = edit(block.list) + .replace(/bull/g, block.bullet) + .replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))') + .replace('def', '\\n+(?=' + block.def.source + ')') + .getRegex(); + +block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + + '|track|ul'; +block._comment = //; +block.html = edit(block.html, 'i') + .replace('comment', block._comment) + .replace('tag', block._tag) + .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/) + .getRegex(); + +block.paragraph = edit(block._paragraph) + .replace('hr', block.hr) + .replace('heading', ' {0,3}#{1,6} +') + .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs + .replace('blockquote', ' {0,3}>') + .replace('fences', ' {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|!--)') + .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks + .getRegex(); + +block.blockquote = edit(block.blockquote) + .replace('paragraph', block.paragraph) + .getRegex(); + +/** + * Normal Block Grammar + */ + +block.normal = merge({}, block); + +/** + * GFM Block Grammar + */ + +block.gfm = merge({}, block.normal, { + nptable: /^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/, + table: /^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/ +}); + +/** + * Pedantic grammar (original John Gruber's loose markdown specification) + */ + +block.pedantic = merge({}, block.normal, { + html: edit( + '^ *(?:comment *(?:\\n|\\s*$)' + + '|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)' // closed tag + + '|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))') + .replace('comment', block._comment) + .replace(/tag/g, '(?!(?:' + + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b') + .getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/, + fences: noopTest, // fences not supported + paragraph: edit(block.normal._paragraph) + .replace('hr', block.hr) + .replace('heading', ' *#{1,6} *[^\n]') + .replace('lheading', block.lheading) + .replace('blockquote', ' {0,3}>') + .replace('|fences', '') + .replace('|list', '') + .replace('|html', '') + .getRegex() +}); + +/** + * Inline-Level Grammar + */ +const inline = { + escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, + autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, + url: noopTest, + tag: '^comment' + + '|^' // self-closing tag + + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag + + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. + + '|^' // declaration, e.g. + + '|^', // CDATA section + link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, + reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/, + nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/, + strong: /^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/, + em: /^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/, + code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, + br: /^( {2,}|\\)\n(?!\s*$)/, + del: noopTest, + text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~'; +inline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex(); + +inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g; + +inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/; +inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/; +inline.autolink = edit(inline.autolink) + .replace('scheme', inline._scheme) + .replace('email', inline._email) + .getRegex(); + +inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/; + +inline.tag = edit(inline.tag) + .replace('comment', block._comment) + .replace('attribute', inline._attribute) + .getRegex(); + +inline._label = /(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/; +inline._href = /<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/; +inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/; + +inline.link = edit(inline.link) + .replace('label', inline._label) + .replace('href', inline._href) + .replace('title', inline._title) + .getRegex(); + +inline.reflink = edit(inline.reflink) + .replace('label', inline._label) + .getRegex(); + +/** + * Normal Inline Grammar + */ + +inline.normal = merge({}, inline); + +/** + * Pedantic Inline Grammar + */ + +inline.pedantic = merge({}, inline.normal, { + strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, + em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/, + link: edit(/^!?\[(label)\]\((.*?)\)/) + .replace('label', inline._label) + .getRegex(), + reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/) + .replace('label', inline._label) + .getRegex() +}); + +/** + * GFM Inline Grammar + */ + +inline.gfm = merge({}, inline.normal, { + escape: edit(inline.escape).replace('])', '~|])').getRegex(), + _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, + url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, + _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, + del: /^~+(?=\S)([\s\S]*?\S)~+/, + text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\ + + + matchMedia polyfill test page + + + + + + + + +
    +
    + + Test case for IE auto closing select elements + + + + +

    + Click on the select. If it auto closes in 500 milliseconds then we've failed. +

    +
    +
    + + + + diff --git a/bower_components/matchMedia/test/head.html b/bower_components/matchMedia/test/head.html new file mode 100644 index 0000000..5e417e3 --- /dev/null +++ b/bower_components/matchMedia/test/head.html @@ -0,0 +1,74 @@ + + + + matchMedia polyfill test page + + + + + + + +
    +
    + + Test case for IE auto closing select elements + + + + +

    + Click on the select. If it auto closes in 500 milliseconds then we've failed. +

    +
    +
    + + + + diff --git a/bower_components/matchMedia/test/iframe_body.html b/bower_components/matchMedia/test/iframe_body.html new file mode 100644 index 0000000..2ceadcd --- /dev/null +++ b/bower_components/matchMedia/test/iframe_body.html @@ -0,0 +1,9 @@ + + + + matchMedia polyfill test page + + + + + diff --git a/bower_components/matchMedia/test/iframe_head.html b/bower_components/matchMedia/test/iframe_head.html new file mode 100644 index 0000000..2ceadcd --- /dev/null +++ b/bower_components/matchMedia/test/iframe_head.html @@ -0,0 +1,9 @@ + + + + matchMedia polyfill test page + + + + + diff --git a/bower_components/matchMedia/test/lib/JSLitmus.js b/bower_components/matchMedia/test/lib/JSLitmus.js new file mode 100644 index 0000000..3384bd8 --- /dev/null +++ b/bower_components/matchMedia/test/lib/JSLitmus.js @@ -0,0 +1,649 @@ +// JSLitmus.js +// +// Copyright (c) 2010, Robert Kieffer, http://broofa.com +// Available under MIT license (http://en.wikipedia.org/wiki/MIT_License) + +(function() { + // Private methods and state + + // Get platform info but don't go crazy trying to recognize everything + // that's out there. This is just for the major platforms and OSes. + var platform = 'unknown platform', ua = navigator.userAgent; + + // Detect OS + var oses = ['Windows','iPhone OS','(Intel |PPC )?Mac OS X','Linux'].join('|'); + var pOS = new RegExp('((' + oses + ') [^ \);]*)').test(ua) ? RegExp.$1 : null; + if (!pOS) pOS = new RegExp('((' + oses + ')[^ \);]*)').test(ua) ? RegExp.$1 : null; + + // Detect browser + var pName = /(Chrome|MSIE|Safari|Opera|Firefox)/.test(ua) ? RegExp.$1 : null; + + // Detect version + var vre = new RegExp('(Version|' + pName + ')[ \/]([^ ;]*)'); + var pVersion = (pName && vre.test(ua)) ? RegExp.$2 : null; + var platform = (pOS && pName && pVersion) ? pName + ' ' + pVersion + ' on ' + pOS : 'unknown platform'; + + /** + * A smattering of methods that are needed to implement the JSLitmus testbed. + */ + var jsl = { + /** + * Enhanced version of escape() + */ + escape: function(s) { + s = s.replace(/,/g, '\\,'); + s = escape(s); + s = s.replace(/\+/g, '%2b'); + s = s.replace(/ /g, '+'); + return s; + }, + + /** + * Get an element by ID. + */ + $: function(id) { + return document.getElementById(id); + }, + + /** + * Null function + */ + F: function() {}, + + /** + * Set the status shown in the UI + */ + status: function(msg) { + var el = jsl.$('jsl_status'); + if (el) el.innerHTML = msg || ''; + }, + + /** + * Convert a number to an abbreviated string like, "15K" or "10M" + */ + toLabel: function(n) { + if (n == Infinity) { + return 'Infinity'; + } else if (n > 1e9) { + n = Math.round(n/1e8); + return n/10 + 'B'; + } else if (n > 1e6) { + n = Math.round(n/1e5); + return n/10 + 'M'; + } else if (n > 1e3) { + n = Math.round(n/1e2); + return n/10 + 'K'; + } + return n; + }, + + /** + * Copy properties from src to dst + */ + extend: function(dst, src) { + for (var k in src) dst[k] = src[k]; return dst; + }, + + /** + * Like Array.join(), but for the key-value pairs in an object + */ + join: function(o, delimit1, delimit2) { + if (o.join) return o.join(delimit1); // If it's an array + var pairs = []; + for (var k in o) pairs.push(k + delimit1 + o[k]); + return pairs.join(delimit2); + }, + + /** + * Array#indexOf isn't supported in IE, so we use this as a cross-browser solution + */ + indexOf: function(arr, o) { + if (arr.indexOf) return arr.indexOf(o); + for (var i = 0; i < this.length; i++) if (arr[i] === o) return i; + return -1; + } + }; + + /** + * Test manages a single test (created with + * JSLitmus.test()) + * + * @private + */ + var Test = function (name, f) { + if (!f) throw new Error('Undefined test function'); + if (!/function[^\(]*\(([^,\)]*)/.test(f.toString())) { + throw new Error('"' + name + '" test: Test is not a valid Function object'); + } + this.loopArg = RegExp.$1; + this.name = name; + this.f = f; + }; + + jsl.extend(Test, /** @lends Test */ { + /** Calibration tests for establishing iteration loop overhead */ + CALIBRATIONS: [ + new Test('calibrating loop', function(count) {while (count--);}), + new Test('calibrating function', jsl.F) + ], + + /** + * Run calibration tests. Returns true if calibrations are not yet + * complete (in which case calling code should run the tests yet again). + * onCalibrated - Callback to invoke when calibrations have finished + */ + calibrate: function(onCalibrated) { + for (var i = 0; i < Test.CALIBRATIONS.length; i++) { + var cal = Test.CALIBRATIONS[i]; + if (cal.running) return true; + if (!cal.count) { + cal.isCalibration = true; + cal.onStop = onCalibrated; + //cal.MIN_TIME = .1; // Do calibrations quickly + cal.run(2e4); + return true; + } + } + return false; + } + }); + + jsl.extend(Test.prototype, {/** @lends Test.prototype */ + /** Initial number of iterations */ + INIT_COUNT: 10, + /** Max iterations allowed (i.e. used to detect bad looping functions) */ + MAX_COUNT: 1e9, + /** Minimum time a test should take to get valid results (secs) */ + MIN_TIME: .5, + + /** Callback invoked when test state changes */ + onChange: jsl.F, + + /** Callback invoked when test is finished */ + onStop: jsl.F, + + /** + * Reset test state + */ + reset: function() { + delete this.count; + delete this.time; + delete this.running; + delete this.error; + }, + + /** + * Run the test (in a timeout). We use a timeout to make sure the browser + * has a chance to finish rendering any UI changes we've made, like + * updating the status message. + */ + run: function(count) { + count = count || this.INIT_COUNT; + jsl.status(this.name + ' x ' + count); + this.running = true; + var me = this; + setTimeout(function() {me._run(count);}, 200); + }, + + /** + * The nuts and bolts code that actually runs a test + */ + _run: function(count) { + var me = this; + + // Make sure calibration tests have run + if (!me.isCalibration && Test.calibrate(function() {me.run(count);})) return; + this.error = null; + + try { + var start, f = this.f, now, i = count; + + // Start the timer + start = new Date(); + + // Now for the money shot. If this is a looping function ... + if (this.loopArg) { + // ... let it do the iteration itself + f(count); + } else { + // ... otherwise do the iteration for it + while (i--) f(); + } + + // Get time test took (in secs) + this.time = Math.max(1,new Date() - start)/1000; + + // Store iteration count and per-operation time taken + this.count = count; + this.period = this.time/count; + + // Do we need to do another run? + this.running = this.time <= this.MIN_TIME; + + // ... if so, compute how many times we should iterate + if (this.running) { + // Bump the count to the nearest power of 2 + var x = this.MIN_TIME/this.time; + var pow = Math.pow(2, Math.max(1, Math.ceil(Math.log(x)/Math.log(2)))); + count *= pow; + if (count > this.MAX_COUNT) { + throw new Error('Max count exceeded. If this test uses a looping function, make sure the iteration loop is working properly.'); + } + } + } catch (e) { + // Exceptions are caught and displayed in the test UI + this.reset(); + this.error = e; + } + + // Figure out what to do next + if (this.running) { + me.run(count); + } else { + jsl.status(''); + me.onStop(me); + } + + // Finish up + this.onChange(this); + }, + + /** + * Get the number of operations per second for this test. + * + * @param normalize if true, iteration loop overhead taken into account + */ + getHz: function(/**Boolean*/ normalize) { + var p = this.period; + + // Adjust period based on the calibration test time + if (normalize && !this.isCalibration) { + var cal = Test.CALIBRATIONS[this.loopArg ? 0 : 1]; + + // If the period is within 20% of the calibration time, then zero the + // it out + p = p < cal.period*1.2 ? 0 : p - cal.period; + } + + return Math.round(1/p); + }, + + /** + * Get a friendly string describing the test + */ + toString: function() { + return this.name + ' - ' + this.time/this.count + ' secs'; + } + }); + + // CSS we need for the UI + var STYLESHEET = ''; + + // HTML markup for the UI + var MARKUP = '
    '; + + /** + * The public API for creating and running tests + */ + window.JSLitmus = { + /** The list of all tests that have been registered with JSLitmus.test */ + _tests: [], + /** The queue of tests that need to be run */ + _queue: [], + + /** + * The parsed query parameters the current page URL. This is provided as a + * convenience for test functions - it's not used by JSLitmus proper + */ + params: {}, + + /** + * Initialize + */ + _init: function() { + // Parse query params into JSLitmus.params[] hash + var match = (location + '').match(/([^?#]*)(#.*)?$/); + if (match) { + var pairs = match[1].split('&'); + for (var i = 0; i < pairs.length; i++) { + var pair = pairs[i].split('='); + if (pair.length > 1) { + var key = pair.shift(); + var value = pair.length > 1 ? pair.join('=') : pair[0]; + this.params[key] = value; + } + } + } + + // Write out the stylesheet. We have to do this here because IE + // doesn't honor sheets written after the document has loaded. + document.write(STYLESHEET); + + // Setup the rest of the UI once the document is loaded + if (window.addEventListener) { + window.addEventListener('load', this._setup, false); + } else if (document.addEventListener) { + document.addEventListener('load', this._setup, false); + } else if (window.attachEvent) { + window.attachEvent('onload', this._setup); + } + + return this; + }, + + /** + * Set up the UI + */ + _setup: function() { + var el = jsl.$('jslitmus_container'); + if (!el) document.body.appendChild(el = document.createElement('div')); + + el.innerHTML = MARKUP; + + // Render the UI for all our tests + for (var i=0; i < JSLitmus._tests.length; i++) + JSLitmus.renderTest(JSLitmus._tests[i]); + }, + + /** + * (Re)render all the test results + */ + renderAll: function() { + for (var i = 0; i < JSLitmus._tests.length; i++) + JSLitmus.renderTest(JSLitmus._tests[i]); + JSLitmus.renderChart(); + }, + + /** + * (Re)render the chart graphics + */ + renderChart: function() { + var url = JSLitmus.chartUrl(); + jsl.$('chart_link').href = url; + jsl.$('chart_image').src = url; + jsl.$('chart').style.display = ''; + + // Update the tiny URL + jsl.$('tiny_url').src = 'http://tinyurl.com/api-create.php?url='+escape(url); + }, + + /** + * (Re)render the results for a specific test + */ + renderTest: function(test) { + // Make a new row if needed + if (!test._row) { + var trow = jsl.$('test_row_template'); + if (!trow) return; + + test._row = trow.cloneNode(true); + test._row.style.display = ''; + test._row.id = ''; + test._row.onclick = function() {JSLitmus._queueTest(test);}; + test._row.title = 'Run ' + test.name + ' test'; + trow.parentNode.appendChild(test._row); + test._row.cells[0].innerHTML = test.name; + } + + var cell = test._row.cells[1]; + var cns = [test.loopArg ? 'test_looping' : 'test_nonlooping']; + + if (test.error) { + cns.push('test_error'); + cell.innerHTML = + '
    ' + test.error + '
    ' + + '
    • ' + + jsl.join(test.error, ': ', '
    • ') + + '
    '; + } else { + if (test.running) { + cns.push('test_running'); + cell.innerHTML = 'running'; + } else if (jsl.indexOf(JSLitmus._queue, test) >= 0) { + cns.push('test_pending'); + cell.innerHTML = 'pending'; + } else if (test.count) { + cns.push('test_done'); + var hz = test.getHz(jsl.$('test_normalize').checked); + cell.innerHTML = hz != Infinity ? hz : '∞'; + cell.title = 'Looped ' + test.count + ' times in ' + test.time + ' seconds'; + } else { + cell.innerHTML = 'ready'; + } + } + cell.className = cns.join(' '); + }, + + /** + * Create a new test + */ + test: function(name, f) { + // Create the Test object + var test = new Test(name, f); + JSLitmus._tests.push(test); + + // Re-render if the test state changes + test.onChange = JSLitmus.renderTest; + + // Run the next test if this one finished + test.onStop = function(test) { + if (JSLitmus.onTestFinish) JSLitmus.onTestFinish(test); + JSLitmus.currentTest = null; + JSLitmus._nextTest(); + }; + + // Render the new test + this.renderTest(test); + }, + + /** + * Add all tests to the run queue + */ + runAll: function(e) { + e = e || window.event; + var reverse = e && e.shiftKey, len = JSLitmus._tests.length; + for (var i = 0; i < len; i++) { + JSLitmus._queueTest(JSLitmus._tests[!reverse ? i : (len - i - 1)]); + } + }, + + /** + * Remove all tests from the run queue. The current test has to finish on + * it's own though + */ + stop: function() { + while (JSLitmus._queue.length) { + var test = JSLitmus._queue.shift(); + JSLitmus.renderTest(test); + } + }, + + /** + * Run the next test in the run queue + */ + _nextTest: function() { + if (!JSLitmus.currentTest) { + var test = JSLitmus._queue.shift(); + if (test) { + jsl.$('stop_button').disabled = false; + JSLitmus.currentTest = test; + test.run(); + JSLitmus.renderTest(test); + if (JSLitmus.onTestStart) JSLitmus.onTestStart(test); + } else { + jsl.$('stop_button').disabled = true; + JSLitmus.renderChart(); + } + } + }, + + /** + * Add a test to the run queue + */ + _queueTest: function(test) { + if (jsl.indexOf(JSLitmus._queue, test) >= 0) return; + JSLitmus._queue.push(test); + JSLitmus.renderTest(test); + JSLitmus._nextTest(); + }, + + /** + * Generate a Google Chart URL that shows the data for all tests + */ + chartUrl: function() { + var n = JSLitmus._tests.length, markers = [], data = []; + var d, min = 0, max = -1e10; + var normalize = jsl.$('test_normalize').checked; + + // Gather test data + for (var i=0; i < JSLitmus._tests.length; i++) { + var test = JSLitmus._tests[i]; + if (test.count) { + var hz = test.getHz(normalize); + var v = hz != Infinity ? hz : 0; + data.push(v); + markers.push('t' + jsl.escape(test.name + '(' + jsl.toLabel(hz)+ ')') + ',000000,0,' + + markers.length + ',10'); + max = Math.max(v, max); + } + } + if (markers.length <= 0) return null; + + // Build chart title + var title = document.getElementsByTagName('title'); + title = (title && title.length) ? title[0].innerHTML : null; + var chart_title = []; + if (title) chart_title.push(title); + chart_title.push('Ops/sec (' + platform + ')'); + + // Build labels + var labels = [jsl.toLabel(min), jsl.toLabel(max)]; + + var w = 250, bw = 15; + var bs = 5; + var h = markers.length*(bw + bs) + 30 + chart_title.length*20; + + var params = { + chtt: escape(chart_title.join('|')), + chts: '000000,10', + cht: 'bhg', // chart type + chd: 't:' + data.join(','), // data set + chds: min + ',' + max, // max/min of data + chxt: 'x', // label axes + chxl: '0:|' + labels.join('|'), // labels + chsp: '0,1', + chm: markers.join('|'), // test names + chbh: [bw, 0, bs].join(','), // bar widths + // chf: 'bg,lg,0,eeeeee,0,eeeeee,.5,ffffff,1', // gradient + chs: w + 'x' + h + }; + return 'http://chart.apis.google.com/chart?' + jsl.join(params, '=', '&'); + } + }; + + JSLitmus._init(); +})(); diff --git a/bower_components/uikit/.bower.json b/bower_components/uikit/.bower.json new file mode 100644 index 0000000..70adb70 --- /dev/null +++ b/bower_components/uikit/.bower.json @@ -0,0 +1,32 @@ +{ + "name": "uikit", + "homepage": "http://getuikit.com", + "main": [ + "css/uikit.min.css", + "js/uikit.min.js", + "fonts/fontawesome-webfont.ttf", + "fonts/fontawesome-webfont.woff", + "fonts/fontawesome-webfont.woff2", + "fonts/FontAwesome.otf" + ], + "dependencies": { + "jquery": "~2.1.0" + }, + "ignore": [ + "node_modules", + "bower_components", + "docs", + "vendor", + "composer.json", + "index.html" + ], + "_release": "8c0bf589ff", + "_resolution": { + "type": "branch", + "branch": "v2/dist", + "commit": "8c0bf589ffc9d44931c0e6454250915bcace5a5f" + }, + "_source": "https://github.com/uikit/uikit.git", + "_target": "v2/dist", + "_originalSource": "uikit" +} \ No newline at end of file diff --git a/bower_components/uikit/README.md b/bower_components/uikit/README.md new file mode 100644 index 0000000..ae1c0b1 --- /dev/null +++ b/bower_components/uikit/README.md @@ -0,0 +1,13 @@ +# bower-uikit + +This repo is for distribution on [Bower](http://bower.io). +It's automatically generated from the main [UIkit repo](https://github.com/uikit/uikit). +Please file issues and pull requests against that repo. + +## Install + +Install with [Bower](http://bower.io): + +```shell +bower install uikit +``` diff --git a/bower_components/uikit/bower.json b/bower_components/uikit/bower.json new file mode 100644 index 0000000..866cb0f --- /dev/null +++ b/bower_components/uikit/bower.json @@ -0,0 +1,24 @@ +{ + "name": "uikit", + "version": "2.27.5", + "homepage": "http://getuikit.com", + "main": [ + "css/uikit.min.css", + "js/uikit.min.js", + "fonts/fontawesome-webfont.ttf", + "fonts/fontawesome-webfont.woff", + "fonts/fontawesome-webfont.woff2", + "fonts/FontAwesome.otf" + ], + "dependencies": { + "jquery": "~2.1.0" + }, + "ignore": [ + "node_modules", + "bower_components", + "docs", + "vendor", + "composer.json", + "index.html" + ] +} \ No newline at end of file diff --git a/bower_components/uikit/css/components/accordion.almost-flat.css b/bower_components/uikit/css/components/accordion.almost-flat.css new file mode 100644 index 0000000..74a4231 --- /dev/null +++ b/bower_components/uikit/css/components/accordion.almost-flat.css @@ -0,0 +1,39 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Accordion + ========================================================================== */ +/* Sub-object: `uk-accordion-title` + ========================================================================== */ +.uk-accordion-title { + margin-top: 0; + margin-bottom: 15px; + padding: 5px 15px; + background: #f5f5f5; + font-size: 18px; + line-height: 24px; + cursor: pointer; + border: 1px solid #ddd; + border-radius: 4px; +} +/* Sub-object: `uk-accordion-content` + ========================================================================== */ +.uk-accordion-content { + padding: 0 15px 15px 15px; +} +/* + * Micro clearfix to make panels more robust + */ +.uk-accordion-content:before, +.uk-accordion-content:after { + content: ""; + display: table; +} +.uk-accordion-content:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-accordion-content > :last-child { + margin-bottom: 0; +} diff --git a/bower_components/uikit/css/components/accordion.almost-flat.min.css b/bower_components/uikit/css/components/accordion.almost-flat.min.css new file mode 100644 index 0000000..226a828 --- /dev/null +++ b/bower_components/uikit/css/components/accordion.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-accordion-title{margin-top:0;margin-bottom:15px;padding:5px 15px;background:#f5f5f5;font-size:18px;line-height:24px;cursor:pointer;border:1px solid #ddd;border-radius:4px}.uk-accordion-content{padding:0 15px 15px 15px}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content:after{clear:both}.uk-accordion-content>:last-child{margin-bottom:0} \ No newline at end of file diff --git a/bower_components/uikit/css/components/accordion.css b/bower_components/uikit/css/components/accordion.css new file mode 100644 index 0000000..42fa42b --- /dev/null +++ b/bower_components/uikit/css/components/accordion.css @@ -0,0 +1,37 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Accordion + ========================================================================== */ +/* Sub-object: `uk-accordion-title` + ========================================================================== */ +.uk-accordion-title { + margin-top: 0; + margin-bottom: 15px; + padding: 5px 15px; + background: #eee; + font-size: 18px; + line-height: 24px; + cursor: pointer; +} +/* Sub-object: `uk-accordion-content` + ========================================================================== */ +.uk-accordion-content { + padding: 0 15px 15px 15px; +} +/* + * Micro clearfix to make panels more robust + */ +.uk-accordion-content:before, +.uk-accordion-content:after { + content: ""; + display: table; +} +.uk-accordion-content:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-accordion-content > :last-child { + margin-bottom: 0; +} diff --git a/bower_components/uikit/css/components/accordion.gradient.css b/bower_components/uikit/css/components/accordion.gradient.css new file mode 100644 index 0000000..7d4a09a --- /dev/null +++ b/bower_components/uikit/css/components/accordion.gradient.css @@ -0,0 +1,39 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Accordion + ========================================================================== */ +/* Sub-object: `uk-accordion-title` + ========================================================================== */ +.uk-accordion-title { + margin-top: 0; + margin-bottom: 15px; + padding: 5px 15px; + background: #f7f7f7; + font-size: 18px; + line-height: 24px; + cursor: pointer; + border: 1px solid #ddd; + border-radius: 4px; +} +/* Sub-object: `uk-accordion-content` + ========================================================================== */ +.uk-accordion-content { + padding: 0 15px 15px 15px; +} +/* + * Micro clearfix to make panels more robust + */ +.uk-accordion-content:before, +.uk-accordion-content:after { + content: ""; + display: table; +} +.uk-accordion-content:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-accordion-content > :last-child { + margin-bottom: 0; +} diff --git a/bower_components/uikit/css/components/accordion.gradient.min.css b/bower_components/uikit/css/components/accordion.gradient.min.css new file mode 100644 index 0000000..7543f98 --- /dev/null +++ b/bower_components/uikit/css/components/accordion.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-accordion-title{margin-top:0;margin-bottom:15px;padding:5px 15px;background:#f7f7f7;font-size:18px;line-height:24px;cursor:pointer;border:1px solid #ddd;border-radius:4px}.uk-accordion-content{padding:0 15px 15px 15px}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content:after{clear:both}.uk-accordion-content>:last-child{margin-bottom:0} \ No newline at end of file diff --git a/bower_components/uikit/css/components/accordion.min.css b/bower_components/uikit/css/components/accordion.min.css new file mode 100644 index 0000000..21c9a0f --- /dev/null +++ b/bower_components/uikit/css/components/accordion.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-accordion-title{margin-top:0;margin-bottom:15px;padding:5px 15px;background:#eee;font-size:18px;line-height:24px;cursor:pointer}.uk-accordion-content{padding:0 15px 15px 15px}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content:after{clear:both}.uk-accordion-content>:last-child{margin-bottom:0} \ No newline at end of file diff --git a/bower_components/uikit/css/components/autocomplete.almost-flat.css b/bower_components/uikit/css/components/autocomplete.almost-flat.css new file mode 100644 index 0000000..b138925 --- /dev/null +++ b/bower_components/uikit/css/components/autocomplete.almost-flat.css @@ -0,0 +1,57 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Autocomplete + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + * 4. Remove the gap between the container and its child element + */ +.uk-autocomplete { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; + /* 4 */ + vertical-align: middle; +} +/* Legacy dropdown modifier */ +.uk-dropdown-flip { + left: auto; + right: 0; +} +/* Nav modifier `uk-nav-autocomplete` + ========================================================================== */ +/* + * Items + */ +.uk-nav-autocomplete > li > a { + color: #444; +} +/* + * Active + * 1. Remove default focus style + */ +.uk-nav-autocomplete > li.uk-active > a { + background: #00a8e6; + color: #fff; + /* 1 */ + outline: none; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-autocomplete .uk-nav-header { + color: #999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-autocomplete .uk-nav-divider { + border-top: 1px solid #ddd; +} diff --git a/bower_components/uikit/css/components/autocomplete.almost-flat.min.css b/bower_components/uikit/css/components/autocomplete.almost-flat.min.css new file mode 100644 index 0000000..197de98 --- /dev/null +++ b/bower_components/uikit/css/components/autocomplete.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-autocomplete{display:inline-block;position:relative;max-width:100%;vertical-align:middle}.uk-dropdown-flip{left:auto;right:0}.uk-nav-autocomplete>li>a{color:#444}.uk-nav-autocomplete>li.uk-active>a{background:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd} \ No newline at end of file diff --git a/bower_components/uikit/css/components/autocomplete.css b/bower_components/uikit/css/components/autocomplete.css new file mode 100644 index 0000000..489b2b7 --- /dev/null +++ b/bower_components/uikit/css/components/autocomplete.css @@ -0,0 +1,55 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Autocomplete + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + * 4. Remove the gap between the container and its child element + */ +.uk-autocomplete { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; + /* 4 */ + vertical-align: middle; +} +/* Legacy dropdown modifier */ +.uk-dropdown-flip { + left: auto; + right: 0; +} +/* Nav modifier `uk-nav-autocomplete` + ========================================================================== */ +/* + * Items + */ +.uk-nav-autocomplete > li > a { + color: #444; +} +/* + * Active + * 1. Remove default focus style + */ +.uk-nav-autocomplete > li.uk-active > a { + background: #00a8e6; + color: #fff; + /* 1 */ + outline: none; +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-autocomplete .uk-nav-header { + color: #999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-autocomplete .uk-nav-divider { + border-top: 1px solid #ddd; +} diff --git a/bower_components/uikit/css/components/autocomplete.gradient.css b/bower_components/uikit/css/components/autocomplete.gradient.css new file mode 100644 index 0000000..9d70e70 --- /dev/null +++ b/bower_components/uikit/css/components/autocomplete.gradient.css @@ -0,0 +1,57 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Autocomplete + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + * 4. Remove the gap between the container and its child element + */ +.uk-autocomplete { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; + /* 4 */ + vertical-align: middle; +} +/* Legacy dropdown modifier */ +.uk-dropdown-flip { + left: auto; + right: 0; +} +/* Nav modifier `uk-nav-autocomplete` + ========================================================================== */ +/* + * Items + */ +.uk-nav-autocomplete > li > a { + color: #444; +} +/* + * Active + * 1. Remove default focus style + */ +.uk-nav-autocomplete > li.uk-active > a { + background: #009dd8; + color: #fff; + /* 1 */ + outline: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-autocomplete .uk-nav-header { + color: #999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-autocomplete .uk-nav-divider { + border-top: 1px solid #ddd; +} diff --git a/bower_components/uikit/css/components/autocomplete.gradient.min.css b/bower_components/uikit/css/components/autocomplete.gradient.min.css new file mode 100644 index 0000000..d5950f5 --- /dev/null +++ b/bower_components/uikit/css/components/autocomplete.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-autocomplete{display:inline-block;position:relative;max-width:100%;vertical-align:middle}.uk-dropdown-flip{left:auto;right:0}.uk-nav-autocomplete>li>a{color:#444}.uk-nav-autocomplete>li.uk-active>a{background:#009dd8;color:#fff;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd} \ No newline at end of file diff --git a/bower_components/uikit/css/components/autocomplete.min.css b/bower_components/uikit/css/components/autocomplete.min.css new file mode 100644 index 0000000..65b7738 --- /dev/null +++ b/bower_components/uikit/css/components/autocomplete.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-autocomplete{display:inline-block;position:relative;max-width:100%;vertical-align:middle}.uk-dropdown-flip{left:auto;right:0}.uk-nav-autocomplete>li>a{color:#444}.uk-nav-autocomplete>li.uk-active>a{background:#00a8e6;color:#fff;outline:0}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd} \ No newline at end of file diff --git a/bower_components/uikit/css/components/datepicker.almost-flat.css b/bower_components/uikit/css/components/datepicker.almost-flat.css new file mode 100644 index 0000000..066e821 --- /dev/null +++ b/bower_components/uikit/css/components/datepicker.almost-flat.css @@ -0,0 +1,129 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Datepicker + ========================================================================== */ +/* + * 1. Highest z-index + * 2. Reset dropdown width + * 3. Set animation + * 4. Needed for scale animation + */ +.uk-datepicker { + /* 1 */ + z-index: 1050; + /* 2 */ + width: auto; + /* 3 */ + -webkit-animation: uk-fade 0.2s ease-in-out; + animation: uk-fade 0.2s ease-in-out; + /* 4 */ + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} +/* Sub-object: `uk-datepicker-nav` +========================================================================== */ +.uk-datepicker-nav { + margin-bottom: 15px; + text-align: center; + line-height: 20px; +} +/* + * Micro clearfix + */ +.uk-datepicker-nav:before, +.uk-datepicker-nav:after { + content: ""; + display: table; +} +.uk-datepicker-nav:after { + clear: both; +} +/* + * Previous and next navigation + */ +.uk-datepicker-nav a { + color: #444; + text-decoration: none; +} +.uk-datepicker-nav a:hover { + color: #444; +} +.uk-datepicker-previous { + float: left; +} +.uk-datepicker-next { + float: right; +} +.uk-datepicker-previous:after, +.uk-datepicker-next:after { + width: 20px; + font-family: FontAwesome; +} +.uk-datepicker-previous:after { + content: "\f053"; +} +.uk-datepicker-next:after { + content: "\f054"; +} +/* Sub-object: `uk-datepicker-heading` +========================================================================== */ +/* Sub-object: `uk-datepicker-table` +========================================================================== */ +/* Block element behavior */ +.uk-datepicker-table { + width: 100%; +} +.uk-datepicker-table th, +.uk-datepicker-table td { + padding: 2px; +} +.uk-datepicker-table th { + font-size: 12px; +} +/* + * Item + */ +.uk-datepicker-table a { + display: block; + width: 26px; + line-height: 24px; + text-align: center; + color: #444; + text-decoration: none; + border: 1px solid transparent; + border-radius: 4px; +} +/* + * Sub-object: `uk-datepicker-table-muted` + */ +a.uk-datepicker-table-muted { + color: #999; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-datepicker-table a:hover, +.uk-datepicker-table a:focus { + background-color: #fafafa; + color: #444; + /* 2 */ + outline: none; + border-color: rgba(0, 0, 0, 0.16); + text-shadow: 0 1px 0 #fff; +} +/* OnClick */ +.uk-datepicker-table a:active { + background-color: #eee; + color: #444; +} +/* + * Active + */ +.uk-datepicker-table a.uk-active { + background: #00a8e6; + color: #fff; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); +} diff --git a/bower_components/uikit/css/components/datepicker.almost-flat.min.css b/bower_components/uikit/css/components/datepicker.almost-flat.min.css new file mode 100644 index 0000000..55b17c0 --- /dev/null +++ b/bower_components/uikit/css/components/datepicker.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-datepicker{z-index:1050;width:auto;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:after,.uk-datepicker-nav:before{content:"";display:table}.uk-datepicker-nav:after{clear:both}.uk-datepicker-nav a{color:#444;text-decoration:none}.uk-datepicker-nav a:hover{color:#444}.uk-datepicker-previous{float:left}.uk-datepicker-next{float:right}.uk-datepicker-next:after,.uk-datepicker-previous:after{width:20px;font-family:FontAwesome}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-table{width:100%}.uk-datepicker-table td,.uk-datepicker-table th{padding:2px}.uk-datepicker-table th{font-size:12px}.uk-datepicker-table a{display:block;width:26px;line-height:24px;text-align:center;color:#444;text-decoration:none;border:1px solid transparent;border-radius:4px}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:focus,.uk-datepicker-table a:hover{background-color:#fafafa;color:#444;outline:0;border-color:rgba(0,0,0,.16);text-shadow:0 1px 0 #fff}.uk-datepicker-table a:active{background-color:#eee;color:#444}.uk-datepicker-table a.uk-active{background:#00a8e6;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)} \ No newline at end of file diff --git a/bower_components/uikit/css/components/datepicker.css b/bower_components/uikit/css/components/datepicker.css new file mode 100644 index 0000000..e488691 --- /dev/null +++ b/bower_components/uikit/css/components/datepicker.css @@ -0,0 +1,123 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Datepicker + ========================================================================== */ +/* + * 1. Highest z-index + * 2. Reset dropdown width + * 3. Set animation + * 4. Needed for scale animation + */ +.uk-datepicker { + /* 1 */ + z-index: 1050; + /* 2 */ + width: auto; + /* 3 */ + -webkit-animation: uk-fade 0.2s ease-in-out; + animation: uk-fade 0.2s ease-in-out; + /* 4 */ + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} +/* Sub-object: `uk-datepicker-nav` +========================================================================== */ +.uk-datepicker-nav { + margin-bottom: 15px; + text-align: center; + line-height: 20px; +} +/* + * Micro clearfix + */ +.uk-datepicker-nav:before, +.uk-datepicker-nav:after { + content: ""; + display: table; +} +.uk-datepicker-nav:after { + clear: both; +} +/* + * Previous and next navigation + */ +.uk-datepicker-nav a { + color: #444; + text-decoration: none; +} +.uk-datepicker-nav a:hover { + color: #444; +} +.uk-datepicker-previous { + float: left; +} +.uk-datepicker-next { + float: right; +} +.uk-datepicker-previous:after, +.uk-datepicker-next:after { + width: 20px; + font-family: FontAwesome; +} +.uk-datepicker-previous:after { + content: "\f053"; +} +.uk-datepicker-next:after { + content: "\f054"; +} +/* Sub-object: `uk-datepicker-heading` +========================================================================== */ +/* Sub-object: `uk-datepicker-table` +========================================================================== */ +/* Block element behavior */ +.uk-datepicker-table { + width: 100%; +} +.uk-datepicker-table th, +.uk-datepicker-table td { + padding: 2px; +} +.uk-datepicker-table th { + font-size: 12px; +} +/* + * Item + */ +.uk-datepicker-table a { + display: block; + width: 26px; + line-height: 24px; + text-align: center; + color: #444; + text-decoration: none; +} +/* + * Sub-object: `uk-datepicker-table-muted` + */ +a.uk-datepicker-table-muted { + color: #999; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-datepicker-table a:hover, +.uk-datepicker-table a:focus { + background-color: #ddd; + color: #444; + /* 2 */ + outline: none; +} +/* OnClick */ +.uk-datepicker-table a:active { + background-color: #ccc; + color: #444; +} +/* + * Active + */ +.uk-datepicker-table a.uk-active { + background: #00a8e6; + color: #fff; +} diff --git a/bower_components/uikit/css/components/datepicker.gradient.css b/bower_components/uikit/css/components/datepicker.gradient.css new file mode 100644 index 0000000..3a3ce2d --- /dev/null +++ b/bower_components/uikit/css/components/datepicker.gradient.css @@ -0,0 +1,139 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Datepicker + ========================================================================== */ +/* + * 1. Highest z-index + * 2. Reset dropdown width + * 3. Set animation + * 4. Needed for scale animation + */ +.uk-datepicker { + /* 1 */ + z-index: 1050; + /* 2 */ + width: auto; + /* 3 */ + -webkit-animation: uk-fade 0.2s ease-in-out; + animation: uk-fade 0.2s ease-in-out; + /* 4 */ + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} +/* Sub-object: `uk-datepicker-nav` +========================================================================== */ +.uk-datepicker-nav { + margin-bottom: 15px; + text-align: center; + line-height: 20px; +} +/* + * Micro clearfix + */ +.uk-datepicker-nav:before, +.uk-datepicker-nav:after { + content: ""; + display: table; +} +.uk-datepicker-nav:after { + clear: both; +} +/* + * Previous and next navigation + */ +.uk-datepicker-nav a { + color: #444; + text-decoration: none; +} +.uk-datepicker-nav a:hover { + color: #444; +} +.uk-datepicker-previous { + float: left; +} +.uk-datepicker-next { + float: right; +} +.uk-datepicker-previous:after, +.uk-datepicker-next:after { + width: 20px; + font-family: FontAwesome; +} +.uk-datepicker-previous:after { + content: "\f053"; +} +.uk-datepicker-next:after { + content: "\f054"; +} +/* Sub-object: `uk-datepicker-heading` +========================================================================== */ +/* Sub-object: `uk-datepicker-table` +========================================================================== */ +/* Block element behavior */ +.uk-datepicker-table { + width: 100%; +} +.uk-datepicker-table th, +.uk-datepicker-table td { + padding: 2px; +} +.uk-datepicker-table th { + font-size: 12px; +} +/* + * Item + */ +.uk-datepicker-table a { + display: block; + width: 26px; + line-height: 24px; + text-align: center; + color: #444; + text-decoration: none; + border: 1px solid transparent; + border-radius: 4px; + background-origin: border-box; +} +/* + * Sub-object: `uk-datepicker-table-muted` + */ +a.uk-datepicker-table-muted { + color: #999; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-datepicker-table a:hover, +.uk-datepicker-table a:focus { + background-color: #fafafa; + color: #444; + /* 2 */ + outline: none; + border-color: rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.3); + text-shadow: 0 1px 0 #fff; +} +/* OnClick */ +.uk-datepicker-table a:active { + background-color: #f5f5f5; + color: #444; + border-color: rgba(0, 0, 0, 0.2); + border-top-color: rgba(0, 0, 0, 0.3); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* + * Active + */ +.uk-datepicker-table a.uk-active { + background: #009dd8; + color: #fff; + border: 1px solid rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.4); + background-origin: border-box; + background-image: -webkit-linear-gradient(top, #00b4f5, #008dc5); + background-image: linear-gradient(to bottom, #00b4f5, #008dc5); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} diff --git a/bower_components/uikit/css/components/datepicker.gradient.min.css b/bower_components/uikit/css/components/datepicker.gradient.min.css new file mode 100644 index 0000000..c2713c5 --- /dev/null +++ b/bower_components/uikit/css/components/datepicker.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-datepicker{z-index:1050;width:auto;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:after,.uk-datepicker-nav:before{content:"";display:table}.uk-datepicker-nav:after{clear:both}.uk-datepicker-nav a{color:#444;text-decoration:none}.uk-datepicker-nav a:hover{color:#444}.uk-datepicker-previous{float:left}.uk-datepicker-next{float:right}.uk-datepicker-next:after,.uk-datepicker-previous:after{width:20px;font-family:FontAwesome}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-table{width:100%}.uk-datepicker-table td,.uk-datepicker-table th{padding:2px}.uk-datepicker-table th{font-size:12px}.uk-datepicker-table a{display:block;width:26px;line-height:24px;text-align:center;color:#444;text-decoration:none;border:1px solid transparent;border-radius:4px;background-origin:border-box}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:focus,.uk-datepicker-table a:hover{background-color:#fafafa;color:#444;outline:0;border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);text-shadow:0 1px 0 #fff}.uk-datepicker-table a:active{background-color:#f5f5f5;color:#444;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.3);background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-datepicker-table a.uk-active{background:#009dd8;color:#fff;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);background-origin:border-box;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);text-shadow:0 -1px 0 rgba(0,0,0,.2)} \ No newline at end of file diff --git a/bower_components/uikit/css/components/datepicker.min.css b/bower_components/uikit/css/components/datepicker.min.css new file mode 100644 index 0000000..8d0f4dc --- /dev/null +++ b/bower_components/uikit/css/components/datepicker.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-datepicker{z-index:1050;width:auto;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:after,.uk-datepicker-nav:before{content:"";display:table}.uk-datepicker-nav:after{clear:both}.uk-datepicker-nav a{color:#444;text-decoration:none}.uk-datepicker-nav a:hover{color:#444}.uk-datepicker-previous{float:left}.uk-datepicker-next{float:right}.uk-datepicker-next:after,.uk-datepicker-previous:after{width:20px;font-family:FontAwesome}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-table{width:100%}.uk-datepicker-table td,.uk-datepicker-table th{padding:2px}.uk-datepicker-table th{font-size:12px}.uk-datepicker-table a{display:block;width:26px;line-height:24px;text-align:center;color:#444;text-decoration:none}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:focus,.uk-datepicker-table a:hover{background-color:#ddd;color:#444;outline:0}.uk-datepicker-table a:active{background-color:#ccc;color:#444}.uk-datepicker-table a.uk-active{background:#00a8e6;color:#fff} \ No newline at end of file diff --git a/bower_components/uikit/css/components/dotnav.almost-flat.css b/bower_components/uikit/css/components/dotnav.almost-flat.css new file mode 100644 index 0000000..cf9c764 --- /dev/null +++ b/bower_components/uikit/css/components/dotnav.almost-flat.css @@ -0,0 +1,128 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Dotnav + ========================================================================== */ +/* + * 1. Gutter + * 2. Remove default list style + */ +.uk-dotnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -15px; + margin-top: -15px; + /* 2 */ + padding: 0; + list-style: none; +} +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + */ +.uk-dotnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: 15px; + margin-top: 15px; +} +/* + * DEPRECATED IE9 Support + */ +.uk-dotnav:before, +.uk-dotnav:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-dotnav:after { + clear: both; +} +.uk-dotnav > * { + float: left; +} +/* Items + ========================================================================== */ +/* + * Items + * 1. Hide text if present + */ +.uk-dotnav > * > * { + display: block; + box-sizing: content-box; + width: 20px; + height: 20px; + border-radius: 50%; + background: rgba(50, 50, 50, 0.1); + /* 1 */ + text-indent: 100%; + overflow: hidden; + white-space: nowrap; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-dotnav > * > :hover, +.uk-dotnav > * > :focus { + background: rgba(50, 50, 50, 0.4); + /* 2 */ + outline: none; +} +/* OnClick */ +.uk-dotnav > * > :active { + background: rgba(50, 50, 50, 0.6); +} +/* Active */ +.uk-dotnav > .uk-active > * { + background: rgba(50, 50, 50, 0.4); + -webkit-transform: scale(1.3); + transform: scale(1.3); +} +/* Modifier: `uk-dotnav-contrast` + ========================================================================== */ +.uk-dotnav-contrast > * > * { + background: rgba(255, 255, 255, 0.4); +} +/* + * Hover + * 1. Apply hover style also to focus state + */ +.uk-dotnav-contrast > * > :hover, +.uk-dotnav-contrast > * > :focus { + background: rgba(255, 255, 255, 0.7); +} +/* OnClick */ +.uk-dotnav-contrast > * > :active { + background: rgba(255, 255, 255, 0.9); +} +/* Active */ +.uk-dotnav-contrast > .uk-active > * { + background: rgba(255, 255, 255, 0.9); +} +/* Modifier: 'uk-dotnav-vertical' + ========================================================================== */ +/* + * DEPRECATED + */ +.uk-dotnav-vertical { + -ms-flex-direction: column; + -webkit-flex-direction: column; + flex-direction: column; +} +/* + * DEPRECATED IE9 Support + */ +.uk-dotnav-vertical > * { + float: none; +} diff --git a/bower_components/uikit/css/components/dotnav.almost-flat.min.css b/bower_components/uikit/css/components/dotnav.almost-flat.min.css new file mode 100644 index 0000000..2d94be8 --- /dev/null +++ b/bower_components/uikit/css/components/dotnav.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:15px;margin-top:15px}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav:after{clear:both}.uk-dotnav>*{float:left}.uk-dotnav>*>*{display:block;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;overflow:hidden;white-space:nowrap;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4);-webkit-transform:scale(1.3);transform:scale(1.3)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active{background:rgba(255,255,255,.9)}.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-dotnav-vertical>*{float:none} \ No newline at end of file diff --git a/bower_components/uikit/css/components/dotnav.css b/bower_components/uikit/css/components/dotnav.css new file mode 100644 index 0000000..80820d5 --- /dev/null +++ b/bower_components/uikit/css/components/dotnav.css @@ -0,0 +1,124 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Dotnav + ========================================================================== */ +/* + * 1. Gutter + * 2. Remove default list style + */ +.uk-dotnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -15px; + margin-top: -15px; + /* 2 */ + padding: 0; + list-style: none; +} +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + */ +.uk-dotnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: 15px; + margin-top: 15px; +} +/* + * DEPRECATED IE9 Support + */ +.uk-dotnav:before, +.uk-dotnav:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-dotnav:after { + clear: both; +} +.uk-dotnav > * { + float: left; +} +/* Items + ========================================================================== */ +/* + * Items + * 1. Hide text if present + */ +.uk-dotnav > * > * { + display: block; + box-sizing: content-box; + width: 20px; + height: 20px; + border-radius: 50%; + background: rgba(50, 50, 50, 0.1); + /* 1 */ + text-indent: 100%; + overflow: hidden; + white-space: nowrap; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-dotnav > * > :hover, +.uk-dotnav > * > :focus { + background: rgba(50, 50, 50, 0.4); + /* 2 */ + outline: none; +} +/* OnClick */ +.uk-dotnav > * > :active { + background: rgba(50, 50, 50, 0.6); +} +/* Active */ +.uk-dotnav > .uk-active > * { + background: rgba(50, 50, 50, 0.4); +} +/* Modifier: `uk-dotnav-contrast` + ========================================================================== */ +.uk-dotnav-contrast > * > * { + background: rgba(255, 255, 255, 0.4); +} +/* + * Hover + * 1. Apply hover style also to focus state + */ +.uk-dotnav-contrast > * > :hover, +.uk-dotnav-contrast > * > :focus { + background: rgba(255, 255, 255, 0.7); +} +/* OnClick */ +.uk-dotnav-contrast > * > :active { + background: rgba(255, 255, 255, 0.9); +} +/* Active */ +.uk-dotnav-contrast > .uk-active > * { + background: rgba(255, 255, 255, 0.9); +} +/* Modifier: 'uk-dotnav-vertical' + ========================================================================== */ +/* + * DEPRECATED + */ +.uk-dotnav-vertical { + -ms-flex-direction: column; + -webkit-flex-direction: column; + flex-direction: column; +} +/* + * DEPRECATED IE9 Support + */ +.uk-dotnav-vertical > * { + float: none; +} diff --git a/bower_components/uikit/css/components/dotnav.gradient.css b/bower_components/uikit/css/components/dotnav.gradient.css new file mode 100644 index 0000000..cf9c764 --- /dev/null +++ b/bower_components/uikit/css/components/dotnav.gradient.css @@ -0,0 +1,128 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Dotnav + ========================================================================== */ +/* + * 1. Gutter + * 2. Remove default list style + */ +.uk-dotnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -15px; + margin-top: -15px; + /* 2 */ + padding: 0; + list-style: none; +} +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + */ +.uk-dotnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: 15px; + margin-top: 15px; +} +/* + * DEPRECATED IE9 Support + */ +.uk-dotnav:before, +.uk-dotnav:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-dotnav:after { + clear: both; +} +.uk-dotnav > * { + float: left; +} +/* Items + ========================================================================== */ +/* + * Items + * 1. Hide text if present + */ +.uk-dotnav > * > * { + display: block; + box-sizing: content-box; + width: 20px; + height: 20px; + border-radius: 50%; + background: rgba(50, 50, 50, 0.1); + /* 1 */ + text-indent: 100%; + overflow: hidden; + white-space: nowrap; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-dotnav > * > :hover, +.uk-dotnav > * > :focus { + background: rgba(50, 50, 50, 0.4); + /* 2 */ + outline: none; +} +/* OnClick */ +.uk-dotnav > * > :active { + background: rgba(50, 50, 50, 0.6); +} +/* Active */ +.uk-dotnav > .uk-active > * { + background: rgba(50, 50, 50, 0.4); + -webkit-transform: scale(1.3); + transform: scale(1.3); +} +/* Modifier: `uk-dotnav-contrast` + ========================================================================== */ +.uk-dotnav-contrast > * > * { + background: rgba(255, 255, 255, 0.4); +} +/* + * Hover + * 1. Apply hover style also to focus state + */ +.uk-dotnav-contrast > * > :hover, +.uk-dotnav-contrast > * > :focus { + background: rgba(255, 255, 255, 0.7); +} +/* OnClick */ +.uk-dotnav-contrast > * > :active { + background: rgba(255, 255, 255, 0.9); +} +/* Active */ +.uk-dotnav-contrast > .uk-active > * { + background: rgba(255, 255, 255, 0.9); +} +/* Modifier: 'uk-dotnav-vertical' + ========================================================================== */ +/* + * DEPRECATED + */ +.uk-dotnav-vertical { + -ms-flex-direction: column; + -webkit-flex-direction: column; + flex-direction: column; +} +/* + * DEPRECATED IE9 Support + */ +.uk-dotnav-vertical > * { + float: none; +} diff --git a/bower_components/uikit/css/components/dotnav.gradient.min.css b/bower_components/uikit/css/components/dotnav.gradient.min.css new file mode 100644 index 0000000..2d94be8 --- /dev/null +++ b/bower_components/uikit/css/components/dotnav.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:15px;margin-top:15px}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav:after{clear:both}.uk-dotnav>*{float:left}.uk-dotnav>*>*{display:block;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;overflow:hidden;white-space:nowrap;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4);-webkit-transform:scale(1.3);transform:scale(1.3)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active{background:rgba(255,255,255,.9)}.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-dotnav-vertical>*{float:none} \ No newline at end of file diff --git a/bower_components/uikit/css/components/dotnav.min.css b/bower_components/uikit/css/components/dotnav.min.css new file mode 100644 index 0000000..f707ebb --- /dev/null +++ b/bower_components/uikit/css/components/dotnav.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:15px;margin-top:15px}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav:after{clear:both}.uk-dotnav>*{float:left}.uk-dotnav>*>*{display:block;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;overflow:hidden;white-space:nowrap}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active{background:rgba(255,255,255,.9)}.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-dotnav-vertical>*{float:none} \ No newline at end of file diff --git a/bower_components/uikit/css/components/form-advanced.almost-flat.css b/bower_components/uikit/css/components/form-advanced.almost-flat.css new file mode 100644 index 0000000..0d591fa --- /dev/null +++ b/bower_components/uikit/css/components/form-advanced.almost-flat.css @@ -0,0 +1,78 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Form advanced + Note: Only works in Webkit at the moment + ========================================================================== */ +/* + * 1. Style + * 2. Makes box more robust so it clips the child element + * 3. Vertical alignment + * 4. Remove default style + * 5. Fix black background on iOS + */ +.uk-form input[type="radio"], +.uk-form input[type="checkbox"] { + /* 1 */ + display: inline-block; + height: 14px; + width: 14px; + border: 1px solid #aaa; + /* 2 */ + overflow: hidden; + /* 3 */ + margin-top: -4px; + vertical-align: middle; + /* 4 */ + -webkit-appearance: none; + outline: 0; + /* 5 */ + background: transparent; +} +/* Radio */ +.uk-form input[type="radio"] { + border-radius: 50%; +} +/* + * Checked + */ +.uk-form input[type=radio]:before, +.uk-form input[type=checkbox]:before { + display: block; +} +/* Radio */ +.uk-form input[type=radio]:checked:before { + content: ''; + width: 8px; + height: 8px; + margin: 2px auto 0; + border-radius: 50%; + background: #00a8e6; +} +/* Checkbox */ +.uk-form input[type=checkbox]:checked:before, +.uk-form input[type=checkbox]:indeterminate:before { + content: "\f00c"; + font-family: FontAwesome; + font-size: 12px; + -webkit-font-smoothing: antialiased; + text-align: center; + line-height: 12px; + color: #00a8e6; +} +.uk-form input[type=checkbox]:indeterminate:before { + content: "\f068"; +} +/* + * Disabled + */ +.uk-form input[type=radio]:disabled, +.uk-form input[type=checkbox]:disabled { + border-color: #ddd; +} +.uk-form input[type=radio]:disabled:checked:before { + background-color: #aaa; +} +.uk-form input[type=checkbox]:disabled:checked:before, +.uk-form input[type=checkbox]:disabled:indeterminate:before { + color: #aaa; +} diff --git a/bower_components/uikit/css/components/form-advanced.almost-flat.min.css b/bower_components/uikit/css/components/form-advanced.almost-flat.min.css new file mode 100644 index 0000000..ba2df13 --- /dev/null +++ b/bower_components/uikit/css/components/form-advanced.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-form input[type=radio],.uk-form input[type=checkbox]{display:inline-block;height:14px;width:14px;border:1px solid #aaa;overflow:hidden;margin-top:-4px;vertical-align:middle;-webkit-appearance:none;outline:0;background:0 0}.uk-form input[type=radio]{border-radius:50%}.uk-form input[type=checkbox]:before,.uk-form input[type=radio]:before{display:block}.uk-form input[type=radio]:checked:before{content:'';width:8px;height:8px;margin:2px auto 0;border-radius:50%;background:#00a8e6}.uk-form input[type=checkbox]:checked:before,.uk-form input[type=checkbox]:indeterminate:before{content:"\f00c";font-family:FontAwesome;font-size:12px;-webkit-font-smoothing:antialiased;text-align:center;line-height:12px;color:#00a8e6}.uk-form input[type=checkbox]:indeterminate:before{content:"\f068"}.uk-form input[type=checkbox]:disabled,.uk-form input[type=radio]:disabled{border-color:#ddd}.uk-form input[type=radio]:disabled:checked:before{background-color:#aaa}.uk-form input[type=checkbox]:disabled:checked:before,.uk-form input[type=checkbox]:disabled:indeterminate:before{color:#aaa} \ No newline at end of file diff --git a/bower_components/uikit/css/components/form-advanced.css b/bower_components/uikit/css/components/form-advanced.css new file mode 100644 index 0000000..0d591fa --- /dev/null +++ b/bower_components/uikit/css/components/form-advanced.css @@ -0,0 +1,78 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Form advanced + Note: Only works in Webkit at the moment + ========================================================================== */ +/* + * 1. Style + * 2. Makes box more robust so it clips the child element + * 3. Vertical alignment + * 4. Remove default style + * 5. Fix black background on iOS + */ +.uk-form input[type="radio"], +.uk-form input[type="checkbox"] { + /* 1 */ + display: inline-block; + height: 14px; + width: 14px; + border: 1px solid #aaa; + /* 2 */ + overflow: hidden; + /* 3 */ + margin-top: -4px; + vertical-align: middle; + /* 4 */ + -webkit-appearance: none; + outline: 0; + /* 5 */ + background: transparent; +} +/* Radio */ +.uk-form input[type="radio"] { + border-radius: 50%; +} +/* + * Checked + */ +.uk-form input[type=radio]:before, +.uk-form input[type=checkbox]:before { + display: block; +} +/* Radio */ +.uk-form input[type=radio]:checked:before { + content: ''; + width: 8px; + height: 8px; + margin: 2px auto 0; + border-radius: 50%; + background: #00a8e6; +} +/* Checkbox */ +.uk-form input[type=checkbox]:checked:before, +.uk-form input[type=checkbox]:indeterminate:before { + content: "\f00c"; + font-family: FontAwesome; + font-size: 12px; + -webkit-font-smoothing: antialiased; + text-align: center; + line-height: 12px; + color: #00a8e6; +} +.uk-form input[type=checkbox]:indeterminate:before { + content: "\f068"; +} +/* + * Disabled + */ +.uk-form input[type=radio]:disabled, +.uk-form input[type=checkbox]:disabled { + border-color: #ddd; +} +.uk-form input[type=radio]:disabled:checked:before { + background-color: #aaa; +} +.uk-form input[type=checkbox]:disabled:checked:before, +.uk-form input[type=checkbox]:disabled:indeterminate:before { + color: #aaa; +} diff --git a/bower_components/uikit/css/components/form-advanced.gradient.css b/bower_components/uikit/css/components/form-advanced.gradient.css new file mode 100644 index 0000000..0d591fa --- /dev/null +++ b/bower_components/uikit/css/components/form-advanced.gradient.css @@ -0,0 +1,78 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Form advanced + Note: Only works in Webkit at the moment + ========================================================================== */ +/* + * 1. Style + * 2. Makes box more robust so it clips the child element + * 3. Vertical alignment + * 4. Remove default style + * 5. Fix black background on iOS + */ +.uk-form input[type="radio"], +.uk-form input[type="checkbox"] { + /* 1 */ + display: inline-block; + height: 14px; + width: 14px; + border: 1px solid #aaa; + /* 2 */ + overflow: hidden; + /* 3 */ + margin-top: -4px; + vertical-align: middle; + /* 4 */ + -webkit-appearance: none; + outline: 0; + /* 5 */ + background: transparent; +} +/* Radio */ +.uk-form input[type="radio"] { + border-radius: 50%; +} +/* + * Checked + */ +.uk-form input[type=radio]:before, +.uk-form input[type=checkbox]:before { + display: block; +} +/* Radio */ +.uk-form input[type=radio]:checked:before { + content: ''; + width: 8px; + height: 8px; + margin: 2px auto 0; + border-radius: 50%; + background: #00a8e6; +} +/* Checkbox */ +.uk-form input[type=checkbox]:checked:before, +.uk-form input[type=checkbox]:indeterminate:before { + content: "\f00c"; + font-family: FontAwesome; + font-size: 12px; + -webkit-font-smoothing: antialiased; + text-align: center; + line-height: 12px; + color: #00a8e6; +} +.uk-form input[type=checkbox]:indeterminate:before { + content: "\f068"; +} +/* + * Disabled + */ +.uk-form input[type=radio]:disabled, +.uk-form input[type=checkbox]:disabled { + border-color: #ddd; +} +.uk-form input[type=radio]:disabled:checked:before { + background-color: #aaa; +} +.uk-form input[type=checkbox]:disabled:checked:before, +.uk-form input[type=checkbox]:disabled:indeterminate:before { + color: #aaa; +} diff --git a/bower_components/uikit/css/components/form-advanced.gradient.min.css b/bower_components/uikit/css/components/form-advanced.gradient.min.css new file mode 100644 index 0000000..ba2df13 --- /dev/null +++ b/bower_components/uikit/css/components/form-advanced.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-form input[type=radio],.uk-form input[type=checkbox]{display:inline-block;height:14px;width:14px;border:1px solid #aaa;overflow:hidden;margin-top:-4px;vertical-align:middle;-webkit-appearance:none;outline:0;background:0 0}.uk-form input[type=radio]{border-radius:50%}.uk-form input[type=checkbox]:before,.uk-form input[type=radio]:before{display:block}.uk-form input[type=radio]:checked:before{content:'';width:8px;height:8px;margin:2px auto 0;border-radius:50%;background:#00a8e6}.uk-form input[type=checkbox]:checked:before,.uk-form input[type=checkbox]:indeterminate:before{content:"\f00c";font-family:FontAwesome;font-size:12px;-webkit-font-smoothing:antialiased;text-align:center;line-height:12px;color:#00a8e6}.uk-form input[type=checkbox]:indeterminate:before{content:"\f068"}.uk-form input[type=checkbox]:disabled,.uk-form input[type=radio]:disabled{border-color:#ddd}.uk-form input[type=radio]:disabled:checked:before{background-color:#aaa}.uk-form input[type=checkbox]:disabled:checked:before,.uk-form input[type=checkbox]:disabled:indeterminate:before{color:#aaa} \ No newline at end of file diff --git a/bower_components/uikit/css/components/form-advanced.min.css b/bower_components/uikit/css/components/form-advanced.min.css new file mode 100644 index 0000000..ba2df13 --- /dev/null +++ b/bower_components/uikit/css/components/form-advanced.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-form input[type=radio],.uk-form input[type=checkbox]{display:inline-block;height:14px;width:14px;border:1px solid #aaa;overflow:hidden;margin-top:-4px;vertical-align:middle;-webkit-appearance:none;outline:0;background:0 0}.uk-form input[type=radio]{border-radius:50%}.uk-form input[type=checkbox]:before,.uk-form input[type=radio]:before{display:block}.uk-form input[type=radio]:checked:before{content:'';width:8px;height:8px;margin:2px auto 0;border-radius:50%;background:#00a8e6}.uk-form input[type=checkbox]:checked:before,.uk-form input[type=checkbox]:indeterminate:before{content:"\f00c";font-family:FontAwesome;font-size:12px;-webkit-font-smoothing:antialiased;text-align:center;line-height:12px;color:#00a8e6}.uk-form input[type=checkbox]:indeterminate:before{content:"\f068"}.uk-form input[type=checkbox]:disabled,.uk-form input[type=radio]:disabled{border-color:#ddd}.uk-form input[type=radio]:disabled:checked:before{background-color:#aaa}.uk-form input[type=checkbox]:disabled:checked:before,.uk-form input[type=checkbox]:disabled:indeterminate:before{color:#aaa} \ No newline at end of file diff --git a/bower_components/uikit/css/components/form-file.almost-flat.css b/bower_components/uikit/css/components/form-file.almost-flat.css new file mode 100644 index 0000000..df0991d --- /dev/null +++ b/bower_components/uikit/css/components/form-file.almost-flat.css @@ -0,0 +1,34 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Form file + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ +.uk-form-file { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} +/* + * 1. Required for Firefox + * 2. Expand height and required for the cursor + */ +.uk-form-file input[type="file"] { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + font-size: 500px; +} diff --git a/bower_components/uikit/css/components/form-file.almost-flat.min.css b/bower_components/uikit/css/components/form-file.almost-flat.min.css new file mode 100644 index 0000000..bfd2ca3 --- /dev/null +++ b/bower_components/uikit/css/components/form-file.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-form-file{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-file input[type=file]{position:absolute;top:0;z-index:1;width:100%;opacity:0;cursor:pointer;left:0;font-size:500px} \ No newline at end of file diff --git a/bower_components/uikit/css/components/form-file.css b/bower_components/uikit/css/components/form-file.css new file mode 100644 index 0000000..df0991d --- /dev/null +++ b/bower_components/uikit/css/components/form-file.css @@ -0,0 +1,34 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Form file + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ +.uk-form-file { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} +/* + * 1. Required for Firefox + * 2. Expand height and required for the cursor + */ +.uk-form-file input[type="file"] { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + font-size: 500px; +} diff --git a/bower_components/uikit/css/components/form-file.gradient.css b/bower_components/uikit/css/components/form-file.gradient.css new file mode 100644 index 0000000..df0991d --- /dev/null +++ b/bower_components/uikit/css/components/form-file.gradient.css @@ -0,0 +1,34 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Form file + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ +.uk-form-file { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} +/* + * 1. Required for Firefox + * 2. Expand height and required for the cursor + */ +.uk-form-file input[type="file"] { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + font-size: 500px; +} diff --git a/bower_components/uikit/css/components/form-file.gradient.min.css b/bower_components/uikit/css/components/form-file.gradient.min.css new file mode 100644 index 0000000..bfd2ca3 --- /dev/null +++ b/bower_components/uikit/css/components/form-file.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-form-file{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-file input[type=file]{position:absolute;top:0;z-index:1;width:100%;opacity:0;cursor:pointer;left:0;font-size:500px} \ No newline at end of file diff --git a/bower_components/uikit/css/components/form-file.min.css b/bower_components/uikit/css/components/form-file.min.css new file mode 100644 index 0000000..bfd2ca3 --- /dev/null +++ b/bower_components/uikit/css/components/form-file.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-form-file{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-file input[type=file]{position:absolute;top:0;z-index:1;width:100%;opacity:0;cursor:pointer;left:0;font-size:500px} \ No newline at end of file diff --git a/bower_components/uikit/css/components/form-password.almost-flat.css b/bower_components/uikit/css/components/form-password.almost-flat.css new file mode 100644 index 0000000..687d58b --- /dev/null +++ b/bower_components/uikit/css/components/form-password.almost-flat.css @@ -0,0 +1,34 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Form password + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + */ +.uk-form-password { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; +} +.uk-form-password-toggle { + display: block; + position: absolute; + top: 50%; + right: 10px; + margin-top: -6px; + font-size: 13px; + line-height: 13px; + color: #999; +} +.uk-form-password-toggle:hover { + color: #999; + text-decoration: none; +} +.uk-form-password > input { + padding-right: 50px !important; +} diff --git a/bower_components/uikit/css/components/form-password.almost-flat.min.css b/bower_components/uikit/css/components/form-password.almost-flat.min.css new file mode 100644 index 0000000..e83985a --- /dev/null +++ b/bower_components/uikit/css/components/form-password.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-form-password{display:inline-block;position:relative;max-width:100%}.uk-form-password-toggle{display:block;position:absolute;top:50%;right:10px;margin-top:-6px;font-size:13px;line-height:13px;color:#999}.uk-form-password-toggle:hover{color:#999;text-decoration:none}.uk-form-password>input{padding-right:50px!important} \ No newline at end of file diff --git a/bower_components/uikit/css/components/form-password.css b/bower_components/uikit/css/components/form-password.css new file mode 100644 index 0000000..687d58b --- /dev/null +++ b/bower_components/uikit/css/components/form-password.css @@ -0,0 +1,34 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Form password + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + */ +.uk-form-password { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; +} +.uk-form-password-toggle { + display: block; + position: absolute; + top: 50%; + right: 10px; + margin-top: -6px; + font-size: 13px; + line-height: 13px; + color: #999; +} +.uk-form-password-toggle:hover { + color: #999; + text-decoration: none; +} +.uk-form-password > input { + padding-right: 50px !important; +} diff --git a/bower_components/uikit/css/components/form-password.gradient.css b/bower_components/uikit/css/components/form-password.gradient.css new file mode 100644 index 0000000..687d58b --- /dev/null +++ b/bower_components/uikit/css/components/form-password.gradient.css @@ -0,0 +1,34 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Form password + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + */ +.uk-form-password { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; +} +.uk-form-password-toggle { + display: block; + position: absolute; + top: 50%; + right: 10px; + margin-top: -6px; + font-size: 13px; + line-height: 13px; + color: #999; +} +.uk-form-password-toggle:hover { + color: #999; + text-decoration: none; +} +.uk-form-password > input { + padding-right: 50px !important; +} diff --git a/bower_components/uikit/css/components/form-password.gradient.min.css b/bower_components/uikit/css/components/form-password.gradient.min.css new file mode 100644 index 0000000..e83985a --- /dev/null +++ b/bower_components/uikit/css/components/form-password.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-form-password{display:inline-block;position:relative;max-width:100%}.uk-form-password-toggle{display:block;position:absolute;top:50%;right:10px;margin-top:-6px;font-size:13px;line-height:13px;color:#999}.uk-form-password-toggle:hover{color:#999;text-decoration:none}.uk-form-password>input{padding-right:50px!important} \ No newline at end of file diff --git a/bower_components/uikit/css/components/form-password.min.css b/bower_components/uikit/css/components/form-password.min.css new file mode 100644 index 0000000..e83985a --- /dev/null +++ b/bower_components/uikit/css/components/form-password.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-form-password{display:inline-block;position:relative;max-width:100%}.uk-form-password-toggle{display:block;position:absolute;top:50%;right:10px;margin-top:-6px;font-size:13px;line-height:13px;color:#999}.uk-form-password-toggle:hover{color:#999;text-decoration:none}.uk-form-password>input{padding-right:50px!important} \ No newline at end of file diff --git a/bower_components/uikit/css/components/form-select.almost-flat.css b/bower_components/uikit/css/components/form-select.almost-flat.css new file mode 100644 index 0000000..ffc24e6 --- /dev/null +++ b/bower_components/uikit/css/components/form-select.almost-flat.css @@ -0,0 +1,35 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Form select + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ +.uk-form-select { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} +/* + * 1. Required for Firefox + * 1. Required for Webkit to make `height` work + */ +.uk-form-select select { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + -webkit-appearance: none; +} diff --git a/bower_components/uikit/css/components/form-select.almost-flat.min.css b/bower_components/uikit/css/components/form-select.almost-flat.min.css new file mode 100644 index 0000000..724b9bc --- /dev/null +++ b/bower_components/uikit/css/components/form-select.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-form-select{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-select select{position:absolute;top:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer;left:0;-webkit-appearance:none} \ No newline at end of file diff --git a/bower_components/uikit/css/components/form-select.css b/bower_components/uikit/css/components/form-select.css new file mode 100644 index 0000000..ffc24e6 --- /dev/null +++ b/bower_components/uikit/css/components/form-select.css @@ -0,0 +1,35 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Form select + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ +.uk-form-select { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} +/* + * 1. Required for Firefox + * 1. Required for Webkit to make `height` work + */ +.uk-form-select select { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + -webkit-appearance: none; +} diff --git a/bower_components/uikit/css/components/form-select.gradient.css b/bower_components/uikit/css/components/form-select.gradient.css new file mode 100644 index 0000000..ffc24e6 --- /dev/null +++ b/bower_components/uikit/css/components/form-select.gradient.css @@ -0,0 +1,35 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Form select + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ +.uk-form-select { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} +/* + * 1. Required for Firefox + * 1. Required for Webkit to make `height` work + */ +.uk-form-select select { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + -webkit-appearance: none; +} diff --git a/bower_components/uikit/css/components/form-select.gradient.min.css b/bower_components/uikit/css/components/form-select.gradient.min.css new file mode 100644 index 0000000..724b9bc --- /dev/null +++ b/bower_components/uikit/css/components/form-select.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-form-select{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-select select{position:absolute;top:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer;left:0;-webkit-appearance:none} \ No newline at end of file diff --git a/bower_components/uikit/css/components/form-select.min.css b/bower_components/uikit/css/components/form-select.min.css new file mode 100644 index 0000000..724b9bc --- /dev/null +++ b/bower_components/uikit/css/components/form-select.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-form-select{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-select select{position:absolute;top:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer;left:0;-webkit-appearance:none} \ No newline at end of file diff --git a/bower_components/uikit/css/components/htmleditor.almost-flat.css b/bower_components/uikit/css/components/htmleditor.almost-flat.css new file mode 100644 index 0000000..e75f7e9 --- /dev/null +++ b/bower_components/uikit/css/components/htmleditor.almost-flat.css @@ -0,0 +1,222 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: HTML editor + ========================================================================== */ +/* Sub-object `uk-htmleditor-navbar` + ========================================================================== */ +.uk-htmleditor-navbar { + background: #f5f5f5; + border: 1px solid rgba(0, 0, 0, 0.06); + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +/* + * Micro clearfix + */ +.uk-htmleditor-navbar:before, +.uk-htmleditor-navbar:after { + content: ""; + display: table; +} +.uk-htmleditor-navbar:after { + clear: both; +} +/* Sub-object `uk-htmleditor-navbar-nav` + ========================================================================== */ +.uk-htmleditor-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} +.uk-htmleditor-navbar-nav > li { + float: left; +} +/* + * 1. Dimensions + * 2. Style + */ +.uk-htmleditor-navbar-nav > li > a { + display: block; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: 41px; + padding: 0 15px; + line-height: 40px; + /* 2 */ + color: #444; + font-size: 11px; + cursor: pointer; + margin-top: -1px; + margin-left: -1px; + border: 1px solid transparent; + border-bottom-width: 0; + text-shadow: 0 1px 0 #fff; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-htmleditor-navbar-nav > li:hover > a, +.uk-htmleditor-navbar-nav > li > a:focus { + background-color: #fafafa; + color: #444; + outline: none; + /* 2 */ + position: relative; + z-index: 1; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.1); +} +/* OnClick */ +.uk-htmleditor-navbar-nav > li > a:active { + background-color: #eee; + color: #444; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.2); +} +/* Active */ +.uk-htmleditor-navbar-nav > li.uk-active > a { + background-color: #fafafa; + color: #444; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.1); +} +/* Sub-object: `uk-htmleditor-navbar-flip` + ========================================================================== */ +.uk-htmleditor-navbar-flip { + float: right; +} +/* Sub-object for special buttons + ========================================================================== */ +[data-mode='split'] .uk-htmleditor-button-code, +[data-mode='split'] .uk-htmleditor-button-preview { + display: none; +} +/* Sub-object `uk-htmleditor-content` + ========================================================================== */ +.uk-htmleditor-content { + border-left: 1px solid #ddd; + border-right: 1px solid #ddd; + border-bottom: 1px solid #ddd; + background: #fff; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} +/* + * Micro clearfix + */ +.uk-htmleditor-content:before, +.uk-htmleditor-content:after { + content: ""; + display: table; +} +.uk-htmleditor-content:after { + clear: both; +} +/* Modifier `uk-htmleditor-fullscreen` + ========================================================================== */ +.uk-htmleditor-fullscreen { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 990; +} +.uk-htmleditor-fullscreen .uk-htmleditor-content { + position: absolute; + top: 41px; + left: 0; + right: 0; + bottom: 0; +} +.uk-htmleditor-fullscreen .uk-icon-expand:before { + content: "\f066"; +} +/* Sub-objects `uk-htmleditor-code` and `uk-htmleditor-preview` + ========================================================================== */ +.uk-htmleditor-code, +.uk-htmleditor-preview { + box-sizing: border-box; +} +.uk-htmleditor-preview { + padding: 20px; + overflow-y: scroll; + position: relative; +} +/* + * Tab view + */ +[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview, +[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code { + display: none; +} +/* + * Split view + */ +[data-mode='split'] .uk-htmleditor-code, +[data-mode='split'] .uk-htmleditor-preview { + float: left; + width: 50%; +} +[data-mode='split'] .uk-htmleditor-code { + border-right: 1px solid #eee; +} +/* Sub-object `uk-htmleditor-iframe` + ========================================================================== */ +.uk-htmleditor-iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +/* CodeMirror modifications + ========================================================================== */ +.uk-htmleditor .CodeMirror { + padding: 10px; + box-sizing: border-box; +} +/* + * Apply same `border-radius` as `uk-htmleditor-navbar` + */ +.uk-htmleditor-navbar-nav:first-child > li:first-child > a { + border-top-left-radius: 4px; +} +/* + * Sub-modifier `uk-htmleditor-navbar-flip` + */ +/* Collapse border */ +.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav > li > a { + margin-left: 0; + margin-right: -1px; +} +/* Apply same `border-radius` as `uk-htmleditor-navbar` */ +.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child > li:first-child > a { + border-top-left-radius: 0; +} +.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child > li:last-child > a { + border-top-right-radius: 4px; +} +/* + * Sub-modifier `uk-htmleditor-fullscreen` + */ +.uk-htmleditor-fullscreen .uk-htmleditor-navbar { + border-top: none; + border-left: none; + border-right: none; + border-radius: 0; +} +.uk-htmleditor-fullscreen .uk-htmleditor-content { + border: none; + border-radius: 0; +} +.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav > li > a { + border-radius: 0 !important; +} diff --git a/bower_components/uikit/css/components/htmleditor.almost-flat.min.css b/bower_components/uikit/css/components/htmleditor.almost-flat.min.css new file mode 100644 index 0000000..005f920 --- /dev/null +++ b/bower_components/uikit/css/components/htmleditor.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-htmleditor-navbar{background:#f5f5f5;border:1px solid rgba(0,0,0,.06);border-top-left-radius:4px;border-top-right-radius:4px}.uk-htmleditor-navbar:after,.uk-htmleditor-navbar:before{content:"";display:table}.uk-htmleditor-navbar:after{clear:both}.uk-htmleditor-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-htmleditor-navbar-nav>li{float:left}.uk-htmleditor-navbar-nav>li>a{display:block;box-sizing:border-box;text-decoration:none;height:41px;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer;margin-top:-1px;margin-left:-1px;border:1px solid transparent;border-bottom-width:0;text-shadow:0 1px 0 #fff}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:#fafafa;color:#444;outline:0;position:relative;z-index:1;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar-nav>li>a:active{background-color:#eee;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2)}.uk-htmleditor-navbar-nav>li.uk-active>a{background-color:#fafafa;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar-flip{float:right}[data-mode=split] .uk-htmleditor-button-code,[data-mode=split] .uk-htmleditor-button-preview{display:none}.uk-htmleditor-content{border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.uk-htmleditor-content:after,.uk-htmleditor-content:before{content:"";display:table}.uk-htmleditor-content:after{clear:both}.uk-htmleditor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:990}.uk-htmleditor-fullscreen .uk-htmleditor-content{position:absolute;top:41px;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-code,.uk-htmleditor-preview{box-sizing:border-box}.uk-htmleditor-preview{padding:20px;overflow-y:scroll;position:relative}[data-mode=tab][data-active-tab=code] .uk-htmleditor-preview,[data-mode=tab][data-active-tab=preview] .uk-htmleditor-code{display:none}[data-mode=split] .uk-htmleditor-code,[data-mode=split] .uk-htmleditor-preview{float:left;width:50%}[data-mode=split] .uk-htmleditor-code{border-right:1px solid #eee}.uk-htmleditor-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.uk-htmleditor .CodeMirror{padding:10px;box-sizing:border-box}.uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-top:none;border-left:none;border-right:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-content{border:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav>li>a{border-radius:0!important} \ No newline at end of file diff --git a/bower_components/uikit/css/components/htmleditor.css b/bower_components/uikit/css/components/htmleditor.css new file mode 100644 index 0000000..71c845f --- /dev/null +++ b/bower_components/uikit/css/components/htmleditor.css @@ -0,0 +1,164 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: HTML editor + ========================================================================== */ +/* Sub-object `uk-htmleditor-navbar` + ========================================================================== */ +.uk-htmleditor-navbar { + background: #eee; +} +/* + * Micro clearfix + */ +.uk-htmleditor-navbar:before, +.uk-htmleditor-navbar:after { + content: ""; + display: table; +} +.uk-htmleditor-navbar:after { + clear: both; +} +/* Sub-object `uk-htmleditor-navbar-nav` + ========================================================================== */ +.uk-htmleditor-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} +.uk-htmleditor-navbar-nav > li { + float: left; +} +/* + * 1. Dimensions + * 2. Style + */ +.uk-htmleditor-navbar-nav > li > a { + display: block; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: 40px; + padding: 0 15px; + line-height: 40px; + /* 2 */ + color: #444; + font-size: 11px; + cursor: pointer; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-htmleditor-navbar-nav > li:hover > a, +.uk-htmleditor-navbar-nav > li > a:focus { + background-color: #f5f5f5; + color: #444; + outline: none; + /* 2 */ +} +/* OnClick */ +.uk-htmleditor-navbar-nav > li > a:active { + background-color: #ddd; + color: #444; +} +/* Active */ +.uk-htmleditor-navbar-nav > li.uk-active > a { + background-color: #f5f5f5; + color: #444; +} +/* Sub-object: `uk-htmleditor-navbar-flip` + ========================================================================== */ +.uk-htmleditor-navbar-flip { + float: right; +} +/* Sub-object for special buttons + ========================================================================== */ +[data-mode='split'] .uk-htmleditor-button-code, +[data-mode='split'] .uk-htmleditor-button-preview { + display: none; +} +/* Sub-object `uk-htmleditor-content` + ========================================================================== */ +.uk-htmleditor-content { + border-left: 1px solid #ddd; + border-right: 1px solid #ddd; + border-bottom: 1px solid #ddd; + background: #fff; +} +/* + * Micro clearfix + */ +.uk-htmleditor-content:before, +.uk-htmleditor-content:after { + content: ""; + display: table; +} +.uk-htmleditor-content:after { + clear: both; +} +/* Modifier `uk-htmleditor-fullscreen` + ========================================================================== */ +.uk-htmleditor-fullscreen { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 990; +} +.uk-htmleditor-fullscreen .uk-htmleditor-content { + position: absolute; + top: 40px; + left: 0; + right: 0; + bottom: 0; +} +.uk-htmleditor-fullscreen .uk-icon-expand:before { + content: "\f066"; +} +/* Sub-objects `uk-htmleditor-code` and `uk-htmleditor-preview` + ========================================================================== */ +.uk-htmleditor-code, +.uk-htmleditor-preview { + box-sizing: border-box; +} +.uk-htmleditor-preview { + padding: 20px; + overflow-y: scroll; + position: relative; +} +/* + * Tab view + */ +[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview, +[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code { + display: none; +} +/* + * Split view + */ +[data-mode='split'] .uk-htmleditor-code, +[data-mode='split'] .uk-htmleditor-preview { + float: left; + width: 50%; +} +[data-mode='split'] .uk-htmleditor-code { + border-right: 1px solid #eee; +} +/* Sub-object `uk-htmleditor-iframe` + ========================================================================== */ +.uk-htmleditor-iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +/* CodeMirror modifications + ========================================================================== */ +.uk-htmleditor .CodeMirror { + padding: 10px; + box-sizing: border-box; +} diff --git a/bower_components/uikit/css/components/htmleditor.gradient.css b/bower_components/uikit/css/components/htmleditor.gradient.css new file mode 100644 index 0000000..adb26c5 --- /dev/null +++ b/bower_components/uikit/css/components/htmleditor.gradient.css @@ -0,0 +1,229 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: HTML editor + ========================================================================== */ +/* Sub-object `uk-htmleditor-navbar` + ========================================================================== */ +.uk-htmleditor-navbar { + background: #f7f7f7; + border: 1px solid rgba(0, 0, 0, 0.1); + border-bottom-color: rgba(0, 0, 0, 0.2); + border-top-left-radius: 4px; + border-top-right-radius: 4px; + background-origin: border-box; + background-image: -webkit-linear-gradient(top, #fff, #eee); + background-image: linear-gradient(to bottom, #fff, #eee); +} +/* + * Micro clearfix + */ +.uk-htmleditor-navbar:before, +.uk-htmleditor-navbar:after { + content: ""; + display: table; +} +.uk-htmleditor-navbar:after { + clear: both; +} +/* Sub-object `uk-htmleditor-navbar-nav` + ========================================================================== */ +.uk-htmleditor-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} +.uk-htmleditor-navbar-nav > li { + float: left; +} +/* + * 1. Dimensions + * 2. Style + */ +.uk-htmleditor-navbar-nav > li > a { + display: block; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: 41px; + padding: 0 15px; + line-height: 40px; + /* 2 */ + color: #444; + font-size: 11px; + cursor: pointer; + margin-top: -1px; + margin-left: -1px; + border: 1px solid transparent; + border-bottom-width: 0; + text-shadow: 0 1px 0 #fff; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-htmleditor-navbar-nav > li:hover > a, +.uk-htmleditor-navbar-nav > li > a:focus { + background-color: transparent; + color: #444; + outline: none; + /* 2 */ + position: relative; + z-index: 1; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.1); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* OnClick */ +.uk-htmleditor-navbar-nav > li > a:active { + background-color: #f5f5f5; + color: #444; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.2); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* Active */ +.uk-htmleditor-navbar-nav > li.uk-active > a { + background-color: #fafafa; + color: #444; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.2); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* Sub-object: `uk-htmleditor-navbar-flip` + ========================================================================== */ +.uk-htmleditor-navbar-flip { + float: right; +} +/* Sub-object for special buttons + ========================================================================== */ +[data-mode='split'] .uk-htmleditor-button-code, +[data-mode='split'] .uk-htmleditor-button-preview { + display: none; +} +/* Sub-object `uk-htmleditor-content` + ========================================================================== */ +.uk-htmleditor-content { + border-left: 1px solid #ddd; + border-right: 1px solid #ddd; + border-bottom: 1px solid #ddd; + background: #fff; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} +/* + * Micro clearfix + */ +.uk-htmleditor-content:before, +.uk-htmleditor-content:after { + content: ""; + display: table; +} +.uk-htmleditor-content:after { + clear: both; +} +/* Modifier `uk-htmleditor-fullscreen` + ========================================================================== */ +.uk-htmleditor-fullscreen { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 990; +} +.uk-htmleditor-fullscreen .uk-htmleditor-content { + position: absolute; + top: 41px; + left: 0; + right: 0; + bottom: 0; +} +.uk-htmleditor-fullscreen .uk-icon-expand:before { + content: "\f066"; +} +/* Sub-objects `uk-htmleditor-code` and `uk-htmleditor-preview` + ========================================================================== */ +.uk-htmleditor-code, +.uk-htmleditor-preview { + box-sizing: border-box; +} +.uk-htmleditor-preview { + padding: 20px; + overflow-y: scroll; + position: relative; +} +/* + * Tab view + */ +[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview, +[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code { + display: none; +} +/* + * Split view + */ +[data-mode='split'] .uk-htmleditor-code, +[data-mode='split'] .uk-htmleditor-preview { + float: left; + width: 50%; +} +[data-mode='split'] .uk-htmleditor-code { + border-right: 1px solid #eee; +} +/* Sub-object `uk-htmleditor-iframe` + ========================================================================== */ +.uk-htmleditor-iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +/* CodeMirror modifications + ========================================================================== */ +.uk-htmleditor .CodeMirror { + padding: 10px; + box-sizing: border-box; +} +/* + * Apply same `border-radius` as `uk-htmleditor-navbar` + */ +.uk-htmleditor-navbar-nav:first-child > li:first-child > a { + border-top-left-radius: 4px; +} +/* + * Sub-modifier `uk-htmleditor-navbar-flip` + */ +/* Collapse border */ +.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav > li > a { + margin-left: 0; + margin-right: -1px; +} +/* Apply same `border-radius` as `uk-htmleditor-navbar` */ +.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child > li:first-child > a { + border-top-left-radius: 0; +} +.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child > li:last-child > a { + border-top-right-radius: 4px; +} +/* + * Sub-modifier `uk-htmleditor-fullscreen` + */ +.uk-htmleditor-fullscreen .uk-htmleditor-navbar { + border-top: none; + border-left: none; + border-right: none; + border-radius: 0; +} +.uk-htmleditor-fullscreen .uk-htmleditor-content { + border: none; + border-radius: 0; +} +.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav > li > a { + border-radius: 0 !important; +} diff --git a/bower_components/uikit/css/components/htmleditor.gradient.min.css b/bower_components/uikit/css/components/htmleditor.gradient.min.css new file mode 100644 index 0000000..bfda302 --- /dev/null +++ b/bower_components/uikit/css/components/htmleditor.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-htmleditor-navbar{background:#f7f7f7;border:1px solid rgba(0,0,0,.1);border-bottom-color:rgba(0,0,0,.2);border-top-left-radius:4px;border-top-right-radius:4px;background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee)}.uk-htmleditor-navbar:after,.uk-htmleditor-navbar:before{content:"";display:table}.uk-htmleditor-navbar:after{clear:both}.uk-htmleditor-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-htmleditor-navbar-nav>li{float:left}.uk-htmleditor-navbar-nav>li>a{display:block;box-sizing:border-box;text-decoration:none;height:41px;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer;margin-top:-1px;margin-left:-1px;border:1px solid transparent;border-bottom-width:0;text-shadow:0 1px 0 #fff}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:transparent;color:#444;outline:0;position:relative;z-index:1;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.1);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-htmleditor-navbar-nav>li>a:active{background-color:#f5f5f5;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-htmleditor-navbar-nav>li.uk-active>a{background-color:#fafafa;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-htmleditor-navbar-flip{float:right}[data-mode=split] .uk-htmleditor-button-code,[data-mode=split] .uk-htmleditor-button-preview{display:none}.uk-htmleditor-content{border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.uk-htmleditor-content:after,.uk-htmleditor-content:before{content:"";display:table}.uk-htmleditor-content:after{clear:both}.uk-htmleditor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:990}.uk-htmleditor-fullscreen .uk-htmleditor-content{position:absolute;top:41px;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-code,.uk-htmleditor-preview{box-sizing:border-box}.uk-htmleditor-preview{padding:20px;overflow-y:scroll;position:relative}[data-mode=tab][data-active-tab=code] .uk-htmleditor-preview,[data-mode=tab][data-active-tab=preview] .uk-htmleditor-code{display:none}[data-mode=split] .uk-htmleditor-code,[data-mode=split] .uk-htmleditor-preview{float:left;width:50%}[data-mode=split] .uk-htmleditor-code{border-right:1px solid #eee}.uk-htmleditor-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.uk-htmleditor .CodeMirror{padding:10px;box-sizing:border-box}.uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-top:none;border-left:none;border-right:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-content{border:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav>li>a{border-radius:0!important} \ No newline at end of file diff --git a/bower_components/uikit/css/components/htmleditor.min.css b/bower_components/uikit/css/components/htmleditor.min.css new file mode 100644 index 0000000..538b95a --- /dev/null +++ b/bower_components/uikit/css/components/htmleditor.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-htmleditor-navbar{background:#eee}.uk-htmleditor-navbar:after,.uk-htmleditor-navbar:before{content:"";display:table}.uk-htmleditor-navbar:after{clear:both}.uk-htmleditor-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-htmleditor-navbar-nav>li{float:left}.uk-htmleditor-navbar-nav>li>a{display:block;box-sizing:border-box;text-decoration:none;height:40px;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:#f5f5f5;color:#444;outline:0}.uk-htmleditor-navbar-nav>li>a:active{background-color:#ddd;color:#444}.uk-htmleditor-navbar-nav>li.uk-active>a{background-color:#f5f5f5;color:#444}.uk-htmleditor-navbar-flip{float:right}[data-mode=split] .uk-htmleditor-button-code,[data-mode=split] .uk-htmleditor-button-preview{display:none}.uk-htmleditor-content{border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff}.uk-htmleditor-content:after,.uk-htmleditor-content:before{content:"";display:table}.uk-htmleditor-content:after{clear:both}.uk-htmleditor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:990}.uk-htmleditor-fullscreen .uk-htmleditor-content{position:absolute;top:40px;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-code,.uk-htmleditor-preview{box-sizing:border-box}.uk-htmleditor-preview{padding:20px;overflow-y:scroll;position:relative}[data-mode=tab][data-active-tab=code] .uk-htmleditor-preview,[data-mode=tab][data-active-tab=preview] .uk-htmleditor-code{display:none}[data-mode=split] .uk-htmleditor-code,[data-mode=split] .uk-htmleditor-preview{float:left;width:50%}[data-mode=split] .uk-htmleditor-code{border-right:1px solid #eee}.uk-htmleditor-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.uk-htmleditor .CodeMirror{padding:10px;box-sizing:border-box} \ No newline at end of file diff --git a/bower_components/uikit/css/components/nestable.almost-flat.css b/bower_components/uikit/css/components/nestable.almost-flat.css new file mode 100644 index 0000000..ec430a6 --- /dev/null +++ b/bower_components/uikit/css/components/nestable.almost-flat.css @@ -0,0 +1,139 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Nestable + ========================================================================== */ +.uk-nestable { + padding: 0; + list-style: none; +} +/* + * Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ +.uk-nestable a, +.uk-nestable img { + -webkit-touch-callout: none; +} +/* Sub-object `uk-nestable-list` + ========================================================================== */ +.uk-nestable-list { + margin: 0; + padding-left: 40px; + list-style: none; +} +/* Sub-modifier `uk-nestable-item` + ========================================================================== */ +/* + * 1. Deactivate browser touch actions in IE11 + */ +.uk-nestable-item { + /* 1 */ + touch-action: none; +} +.uk-nestable-item + .uk-nestable-item { + margin-top: 10px; +} +.uk-nestable-list:not(.uk-nestable-dragged) > .uk-nestable-item:first-child { + margin-top: 10px; +} +/* Sub-modifier `uk-nestable-dragged` + ========================================================================== */ +/* + * 1. Reset style + */ +.uk-nestable-dragged { + position: absolute; + z-index: 1050; + pointer-events: none; + /* 1 */ + padding-left: 0; +} +/* Sub-modifier `uk-nestable-placeholder` + ========================================================================== */ +.uk-nestable-placeholder { + position: relative; +} +.uk-nestable-placeholder > * { + opacity: 0; +} +.uk-nestable-placeholder:after { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + border: 1px dashed #ddd; + opacity: 1; +} +/* Empty List + ========================================================================== */ +.uk-nestable-empty { + min-height: 30px; +} +/* Sub-object `uk-nestable-handle` + ========================================================================== */ +/* + * Deactivate browser touch actions in IE11 + */ +.uk-nestable-handle { + touch-action: none; +} +/* Hover */ +.uk-nestable-handle:hover { + cursor: move; +} +/* Sub-object `uk-nestable-moving` + ========================================================================== */ +.uk-nestable-moving, +.uk-nestable-moving * { + cursor: move; +} +/* Fixes dragging items over iframes */ +.uk-nestable-moving iframe { + pointer-events: none; +} +/* [data-nestable-action='toggle'] + ========================================================================== */ +/* + * 1. Makes text unselectable. Happens if double clicked by mistake + */ +[data-nestable-action='toggle'] { + cursor: pointer; + /* 1 */ + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* Sub-object `.uk-nestable-toggle` + ========================================================================== */ +.uk-nestable-toggle { + display: inline-block; + visibility: hidden; +} +.uk-nestable-toggle:after { + content: "\f147"; + font-family: FontAwesome; +} +.uk-parent > :not(.uk-nestable-list) .uk-nestable-toggle { + visibility: visible; +} +/* + * Collapsed + */ +.uk-collapsed .uk-nestable-list { + display: none; +} +.uk-collapsed .uk-nestable-toggle:after { + content: "\f196"; +} +/* Sub-object `uk-nestable-panel` + ========================================================================== */ +.uk-nestable-panel { + padding: 5px; + background: #f5f5f5; + border-radius: 4px; + border: 1px solid rgba(0, 0, 0, 0.06); + text-shadow: 0 1px 0 #fff; +} diff --git a/bower_components/uikit/css/components/nestable.almost-flat.min.css b/bower_components/uikit/css/components/nestable.almost-flat.min.css new file mode 100644 index 0000000..a2d0c1e --- /dev/null +++ b/bower_components/uikit/css/components/nestable.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-nestable{padding:0;list-style:none}.uk-nestable a,.uk-nestable img{-webkit-touch-callout:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-item{touch-action:none}.uk-nestable-item+.uk-nestable-item{margin-top:10px}.uk-nestable-list:not(.uk-nestable-dragged)>.uk-nestable-item:first-child{margin-top:10px}.uk-nestable-dragged{position:absolute;z-index:1050;pointer-events:none;padding-left:0}.uk-nestable-placeholder{position:relative}.uk-nestable-placeholder>*{opacity:0}.uk-nestable-placeholder:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border:1px dashed #ddd;opacity:1}.uk-nestable-empty{min-height:30px}.uk-nestable-handle{touch-action:none}.uk-nestable-handle:hover{cursor:move}.uk-nestable-moving,.uk-nestable-moving *{cursor:move}.uk-nestable-moving iframe{pointer-events:none}[data-nestable-action=toggle]{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-nestable-toggle{display:inline-block;visibility:hidden}.uk-nestable-toggle:after{content:"\f147";font-family:FontAwesome}.uk-parent>:not(.uk-nestable-list) .uk-nestable-toggle{visibility:visible}.uk-collapsed .uk-nestable-list{display:none}.uk-collapsed .uk-nestable-toggle:after{content:"\f196"}.uk-nestable-panel{padding:5px;background:#f5f5f5;border-radius:4px;border:1px solid rgba(0,0,0,.06);text-shadow:0 1px 0 #fff} \ No newline at end of file diff --git a/bower_components/uikit/css/components/nestable.css b/bower_components/uikit/css/components/nestable.css new file mode 100644 index 0000000..52ec5c3 --- /dev/null +++ b/bower_components/uikit/css/components/nestable.css @@ -0,0 +1,136 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Nestable + ========================================================================== */ +.uk-nestable { + padding: 0; + list-style: none; +} +/* + * Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ +.uk-nestable a, +.uk-nestable img { + -webkit-touch-callout: none; +} +/* Sub-object `uk-nestable-list` + ========================================================================== */ +.uk-nestable-list { + margin: 0; + padding-left: 40px; + list-style: none; +} +/* Sub-modifier `uk-nestable-item` + ========================================================================== */ +/* + * 1. Deactivate browser touch actions in IE11 + */ +.uk-nestable-item { + /* 1 */ + touch-action: none; +} +.uk-nestable-item + .uk-nestable-item { + margin-top: 10px; +} +.uk-nestable-list:not(.uk-nestable-dragged) > .uk-nestable-item:first-child { + margin-top: 10px; +} +/* Sub-modifier `uk-nestable-dragged` + ========================================================================== */ +/* + * 1. Reset style + */ +.uk-nestable-dragged { + position: absolute; + z-index: 1050; + pointer-events: none; + /* 1 */ + padding-left: 0; +} +/* Sub-modifier `uk-nestable-placeholder` + ========================================================================== */ +.uk-nestable-placeholder { + position: relative; +} +.uk-nestable-placeholder > * { + opacity: 0; +} +.uk-nestable-placeholder:after { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + border: 1px dashed #ddd; + opacity: 1; +} +/* Empty List + ========================================================================== */ +.uk-nestable-empty { + min-height: 30px; +} +/* Sub-object `uk-nestable-handle` + ========================================================================== */ +/* + * Deactivate browser touch actions in IE11 + */ +.uk-nestable-handle { + touch-action: none; +} +/* Hover */ +.uk-nestable-handle:hover { + cursor: move; +} +/* Sub-object `uk-nestable-moving` + ========================================================================== */ +.uk-nestable-moving, +.uk-nestable-moving * { + cursor: move; +} +/* Fixes dragging items over iframes */ +.uk-nestable-moving iframe { + pointer-events: none; +} +/* [data-nestable-action='toggle'] + ========================================================================== */ +/* + * 1. Makes text unselectable. Happens if double clicked by mistake + */ +[data-nestable-action='toggle'] { + cursor: pointer; + /* 1 */ + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* Sub-object `.uk-nestable-toggle` + ========================================================================== */ +.uk-nestable-toggle { + display: inline-block; + visibility: hidden; +} +.uk-nestable-toggle:after { + content: "\f147"; + font-family: FontAwesome; +} +.uk-parent > :not(.uk-nestable-list) .uk-nestable-toggle { + visibility: visible; +} +/* + * Collapsed + */ +.uk-collapsed .uk-nestable-list { + display: none; +} +.uk-collapsed .uk-nestable-toggle:after { + content: "\f196"; +} +/* Sub-object `uk-nestable-panel` + ========================================================================== */ +.uk-nestable-panel { + padding: 5px; + background: #f5f5f5; +} diff --git a/bower_components/uikit/css/components/nestable.gradient.css b/bower_components/uikit/css/components/nestable.gradient.css new file mode 100644 index 0000000..2b7b975 --- /dev/null +++ b/bower_components/uikit/css/components/nestable.gradient.css @@ -0,0 +1,143 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Nestable + ========================================================================== */ +.uk-nestable { + padding: 0; + list-style: none; +} +/* + * Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ +.uk-nestable a, +.uk-nestable img { + -webkit-touch-callout: none; +} +/* Sub-object `uk-nestable-list` + ========================================================================== */ +.uk-nestable-list { + margin: 0; + padding-left: 40px; + list-style: none; +} +/* Sub-modifier `uk-nestable-item` + ========================================================================== */ +/* + * 1. Deactivate browser touch actions in IE11 + */ +.uk-nestable-item { + /* 1 */ + touch-action: none; +} +.uk-nestable-item + .uk-nestable-item { + margin-top: 10px; +} +.uk-nestable-list:not(.uk-nestable-dragged) > .uk-nestable-item:first-child { + margin-top: 10px; +} +/* Sub-modifier `uk-nestable-dragged` + ========================================================================== */ +/* + * 1. Reset style + */ +.uk-nestable-dragged { + position: absolute; + z-index: 1050; + pointer-events: none; + /* 1 */ + padding-left: 0; +} +/* Sub-modifier `uk-nestable-placeholder` + ========================================================================== */ +.uk-nestable-placeholder { + position: relative; +} +.uk-nestable-placeholder > * { + opacity: 0; +} +.uk-nestable-placeholder:after { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + border: 1px dashed #ddd; + opacity: 1; +} +/* Empty List + ========================================================================== */ +.uk-nestable-empty { + min-height: 30px; +} +/* Sub-object `uk-nestable-handle` + ========================================================================== */ +/* + * Deactivate browser touch actions in IE11 + */ +.uk-nestable-handle { + touch-action: none; +} +/* Hover */ +.uk-nestable-handle:hover { + cursor: move; +} +/* Sub-object `uk-nestable-moving` + ========================================================================== */ +.uk-nestable-moving, +.uk-nestable-moving * { + cursor: move; +} +/* Fixes dragging items over iframes */ +.uk-nestable-moving iframe { + pointer-events: none; +} +/* [data-nestable-action='toggle'] + ========================================================================== */ +/* + * 1. Makes text unselectable. Happens if double clicked by mistake + */ +[data-nestable-action='toggle'] { + cursor: pointer; + /* 1 */ + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* Sub-object `.uk-nestable-toggle` + ========================================================================== */ +.uk-nestable-toggle { + display: inline-block; + visibility: hidden; +} +.uk-nestable-toggle:after { + content: "\f147"; + font-family: FontAwesome; +} +.uk-parent > :not(.uk-nestable-list) .uk-nestable-toggle { + visibility: visible; +} +/* + * Collapsed + */ +.uk-collapsed .uk-nestable-list { + display: none; +} +.uk-collapsed .uk-nestable-toggle:after { + content: "\f196"; +} +/* Sub-object `uk-nestable-panel` + ========================================================================== */ +.uk-nestable-panel { + padding: 5px; + background: #f7f7f7; + border-radius: 4px; + border: 1px solid rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.3); + background-origin: border-box; + background-image: -webkit-linear-gradient(top, #fff, #eee); + background-image: linear-gradient(to bottom, #fff, #eee); + text-shadow: 0 1px 0 #fff; +} diff --git a/bower_components/uikit/css/components/nestable.gradient.min.css b/bower_components/uikit/css/components/nestable.gradient.min.css new file mode 100644 index 0000000..50867e6 --- /dev/null +++ b/bower_components/uikit/css/components/nestable.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-nestable{padding:0;list-style:none}.uk-nestable a,.uk-nestable img{-webkit-touch-callout:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-item{touch-action:none}.uk-nestable-item+.uk-nestable-item{margin-top:10px}.uk-nestable-list:not(.uk-nestable-dragged)>.uk-nestable-item:first-child{margin-top:10px}.uk-nestable-dragged{position:absolute;z-index:1050;pointer-events:none;padding-left:0}.uk-nestable-placeholder{position:relative}.uk-nestable-placeholder>*{opacity:0}.uk-nestable-placeholder:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border:1px dashed #ddd;opacity:1}.uk-nestable-empty{min-height:30px}.uk-nestable-handle{touch-action:none}.uk-nestable-handle:hover{cursor:move}.uk-nestable-moving,.uk-nestable-moving *{cursor:move}.uk-nestable-moving iframe{pointer-events:none}[data-nestable-action=toggle]{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-nestable-toggle{display:inline-block;visibility:hidden}.uk-nestable-toggle:after{content:"\f147";font-family:FontAwesome}.uk-parent>:not(.uk-nestable-list) .uk-nestable-toggle{visibility:visible}.uk-collapsed .uk-nestable-list{display:none}.uk-collapsed .uk-nestable-toggle:after{content:"\f196"}.uk-nestable-panel{padding:5px;background:#f7f7f7;border-radius:4px;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee);text-shadow:0 1px 0 #fff} \ No newline at end of file diff --git a/bower_components/uikit/css/components/nestable.min.css b/bower_components/uikit/css/components/nestable.min.css new file mode 100644 index 0000000..f5c1f50 --- /dev/null +++ b/bower_components/uikit/css/components/nestable.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-nestable{padding:0;list-style:none}.uk-nestable a,.uk-nestable img{-webkit-touch-callout:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-item{touch-action:none}.uk-nestable-item+.uk-nestable-item{margin-top:10px}.uk-nestable-list:not(.uk-nestable-dragged)>.uk-nestable-item:first-child{margin-top:10px}.uk-nestable-dragged{position:absolute;z-index:1050;pointer-events:none;padding-left:0}.uk-nestable-placeholder{position:relative}.uk-nestable-placeholder>*{opacity:0}.uk-nestable-placeholder:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border:1px dashed #ddd;opacity:1}.uk-nestable-empty{min-height:30px}.uk-nestable-handle{touch-action:none}.uk-nestable-handle:hover{cursor:move}.uk-nestable-moving,.uk-nestable-moving *{cursor:move}.uk-nestable-moving iframe{pointer-events:none}[data-nestable-action=toggle]{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-nestable-toggle{display:inline-block;visibility:hidden}.uk-nestable-toggle:after{content:"\f147";font-family:FontAwesome}.uk-parent>:not(.uk-nestable-list) .uk-nestable-toggle{visibility:visible}.uk-collapsed .uk-nestable-list{display:none}.uk-collapsed .uk-nestable-toggle:after{content:"\f196"}.uk-nestable-panel{padding:5px;background:#f5f5f5} \ No newline at end of file diff --git a/bower_components/uikit/css/components/notify.almost-flat.css b/bower_components/uikit/css/components/notify.almost-flat.css new file mode 100644 index 0000000..5bd3bab --- /dev/null +++ b/bower_components/uikit/css/components/notify.almost-flat.css @@ -0,0 +1,98 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Notify + ========================================================================== */ +/* + * Message container for positioning + */ +.uk-notify { + position: fixed; + top: 10px; + left: 10px; + z-index: 1040; + box-sizing: border-box; + width: 350px; +} +/* Position modifiers +========================================================================== */ +.uk-notify-top-right, +.uk-notify-bottom-right { + left: auto; + right: 10px; +} +.uk-notify-top-center, +.uk-notify-bottom-center { + left: 50%; + margin-left: -175px; +} +.uk-notify-bottom-left, +.uk-notify-bottom-right, +.uk-notify-bottom-center { + top: auto; + bottom: 10px; +} +/* Responsiveness +========================================================================== */ +/* Phones portrait and smaller */ +@media (max-width: 479px) { + /* + * Fit in small screen + */ + .uk-notify { + left: 10px; + right: 10px; + width: auto; + margin: 0; + } +} +/* Sub-object: `uk-notify-message` +========================================================================== */ +.uk-notify-message { + position: relative; + margin-bottom: 10px; + padding: 15px; + background: #444; + color: #fff; + font-size: 16px; + line-height: 22px; + cursor: pointer; + border: 1px solid #444; + border-radius: 4px; +} +/* Close in notify + ========================================================================== */ +.uk-notify-message > .uk-close { + visibility: hidden; + float: right; +} +.uk-notify-message:hover > .uk-close { + visibility: visible; +} +/* Modifier: `uk-notify-message-primary` + ========================================================================== */ +.uk-notify-message-primary { + background: #ebf7fd; + color: #2d7091; + border-color: rgba(45, 112, 145, 0.3); +} +/* Modifier: `uk-notify-message-success` + ========================================================================== */ +.uk-notify-message-success { + background: #f2fae3; + color: #659f13; + border-color: rgba(101, 159, 19, 0.3); +} +/* Modifier: `uk-notify-message-warning` + ========================================================================== */ +.uk-notify-message-warning { + background: #fffceb; + color: #e28327; + border-color: rgba(226, 131, 39, 0.3); +} +/* Modifier: `uk-notify-message-danger` + ========================================================================== */ +.uk-notify-message-danger { + background: #fff1f0; + color: #d85030; + border-color: rgba(216, 80, 48, 0.3); +} diff --git a/bower_components/uikit/css/components/notify.almost-flat.min.css b/bower_components/uikit/css/components/notify.almost-flat.min.css new file mode 100644 index 0000000..6f97a6e --- /dev/null +++ b/bower_components/uikit/css/components/notify.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-notify{position:fixed;top:10px;left:10px;z-index:1040;box-sizing:border-box;width:350px}.uk-notify-bottom-right,.uk-notify-top-right{left:auto;right:10px}.uk-notify-bottom-center,.uk-notify-top-center{left:50%;margin-left:-175px}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{top:auto;bottom:10px}@media (max-width:479px){.uk-notify{left:10px;right:10px;width:auto;margin:0}}.uk-notify-message{position:relative;margin-bottom:10px;padding:15px;background:#444;color:#fff;font-size:16px;line-height:22px;cursor:pointer;border:1px solid #444;border-radius:4px}.uk-notify-message>.uk-close{visibility:hidden;float:right}.uk-notify-message:hover>.uk-close{visibility:visible}.uk-notify-message-primary{background:#ebf7fd;color:#2d7091;border-color:rgba(45,112,145,.3)}.uk-notify-message-success{background:#f2fae3;color:#659f13;border-color:rgba(101,159,19,.3)}.uk-notify-message-warning{background:#fffceb;color:#e28327;border-color:rgba(226,131,39,.3)}.uk-notify-message-danger{background:#fff1f0;color:#d85030;border-color:rgba(216,80,48,.3)} \ No newline at end of file diff --git a/bower_components/uikit/css/components/notify.css b/bower_components/uikit/css/components/notify.css new file mode 100644 index 0000000..955880d --- /dev/null +++ b/bower_components/uikit/css/components/notify.css @@ -0,0 +1,92 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Notify + ========================================================================== */ +/* + * Message container for positioning + */ +.uk-notify { + position: fixed; + top: 10px; + left: 10px; + z-index: 1040; + box-sizing: border-box; + width: 350px; +} +/* Position modifiers +========================================================================== */ +.uk-notify-top-right, +.uk-notify-bottom-right { + left: auto; + right: 10px; +} +.uk-notify-top-center, +.uk-notify-bottom-center { + left: 50%; + margin-left: -175px; +} +.uk-notify-bottom-left, +.uk-notify-bottom-right, +.uk-notify-bottom-center { + top: auto; + bottom: 10px; +} +/* Responsiveness +========================================================================== */ +/* Phones portrait and smaller */ +@media (max-width: 479px) { + /* + * Fit in small screen + */ + .uk-notify { + left: 10px; + right: 10px; + width: auto; + margin: 0; + } +} +/* Sub-object: `uk-notify-message` +========================================================================== */ +.uk-notify-message { + position: relative; + margin-bottom: 10px; + padding: 15px; + background: #444; + color: #fff; + font-size: 16px; + line-height: 22px; + cursor: pointer; +} +/* Close in notify + ========================================================================== */ +.uk-notify-message > .uk-close { + visibility: hidden; + float: right; +} +.uk-notify-message:hover > .uk-close { + visibility: visible; +} +/* Modifier: `uk-notify-message-primary` + ========================================================================== */ +.uk-notify-message-primary { + background: #ebf7fd; + color: #2d7091; +} +/* Modifier: `uk-notify-message-success` + ========================================================================== */ +.uk-notify-message-success { + background: #f2fae3; + color: #659f13; +} +/* Modifier: `uk-notify-message-warning` + ========================================================================== */ +.uk-notify-message-warning { + background: #fffceb; + color: #e28327; +} +/* Modifier: `uk-notify-message-danger` + ========================================================================== */ +.uk-notify-message-danger { + background: #fff1f0; + color: #d85030; +} diff --git a/bower_components/uikit/css/components/notify.gradient.css b/bower_components/uikit/css/components/notify.gradient.css new file mode 100644 index 0000000..5bd3bab --- /dev/null +++ b/bower_components/uikit/css/components/notify.gradient.css @@ -0,0 +1,98 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Notify + ========================================================================== */ +/* + * Message container for positioning + */ +.uk-notify { + position: fixed; + top: 10px; + left: 10px; + z-index: 1040; + box-sizing: border-box; + width: 350px; +} +/* Position modifiers +========================================================================== */ +.uk-notify-top-right, +.uk-notify-bottom-right { + left: auto; + right: 10px; +} +.uk-notify-top-center, +.uk-notify-bottom-center { + left: 50%; + margin-left: -175px; +} +.uk-notify-bottom-left, +.uk-notify-bottom-right, +.uk-notify-bottom-center { + top: auto; + bottom: 10px; +} +/* Responsiveness +========================================================================== */ +/* Phones portrait and smaller */ +@media (max-width: 479px) { + /* + * Fit in small screen + */ + .uk-notify { + left: 10px; + right: 10px; + width: auto; + margin: 0; + } +} +/* Sub-object: `uk-notify-message` +========================================================================== */ +.uk-notify-message { + position: relative; + margin-bottom: 10px; + padding: 15px; + background: #444; + color: #fff; + font-size: 16px; + line-height: 22px; + cursor: pointer; + border: 1px solid #444; + border-radius: 4px; +} +/* Close in notify + ========================================================================== */ +.uk-notify-message > .uk-close { + visibility: hidden; + float: right; +} +.uk-notify-message:hover > .uk-close { + visibility: visible; +} +/* Modifier: `uk-notify-message-primary` + ========================================================================== */ +.uk-notify-message-primary { + background: #ebf7fd; + color: #2d7091; + border-color: rgba(45, 112, 145, 0.3); +} +/* Modifier: `uk-notify-message-success` + ========================================================================== */ +.uk-notify-message-success { + background: #f2fae3; + color: #659f13; + border-color: rgba(101, 159, 19, 0.3); +} +/* Modifier: `uk-notify-message-warning` + ========================================================================== */ +.uk-notify-message-warning { + background: #fffceb; + color: #e28327; + border-color: rgba(226, 131, 39, 0.3); +} +/* Modifier: `uk-notify-message-danger` + ========================================================================== */ +.uk-notify-message-danger { + background: #fff1f0; + color: #d85030; + border-color: rgba(216, 80, 48, 0.3); +} diff --git a/bower_components/uikit/css/components/notify.gradient.min.css b/bower_components/uikit/css/components/notify.gradient.min.css new file mode 100644 index 0000000..6f97a6e --- /dev/null +++ b/bower_components/uikit/css/components/notify.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-notify{position:fixed;top:10px;left:10px;z-index:1040;box-sizing:border-box;width:350px}.uk-notify-bottom-right,.uk-notify-top-right{left:auto;right:10px}.uk-notify-bottom-center,.uk-notify-top-center{left:50%;margin-left:-175px}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{top:auto;bottom:10px}@media (max-width:479px){.uk-notify{left:10px;right:10px;width:auto;margin:0}}.uk-notify-message{position:relative;margin-bottom:10px;padding:15px;background:#444;color:#fff;font-size:16px;line-height:22px;cursor:pointer;border:1px solid #444;border-radius:4px}.uk-notify-message>.uk-close{visibility:hidden;float:right}.uk-notify-message:hover>.uk-close{visibility:visible}.uk-notify-message-primary{background:#ebf7fd;color:#2d7091;border-color:rgba(45,112,145,.3)}.uk-notify-message-success{background:#f2fae3;color:#659f13;border-color:rgba(101,159,19,.3)}.uk-notify-message-warning{background:#fffceb;color:#e28327;border-color:rgba(226,131,39,.3)}.uk-notify-message-danger{background:#fff1f0;color:#d85030;border-color:rgba(216,80,48,.3)} \ No newline at end of file diff --git a/bower_components/uikit/css/components/notify.min.css b/bower_components/uikit/css/components/notify.min.css new file mode 100644 index 0000000..d38630e --- /dev/null +++ b/bower_components/uikit/css/components/notify.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-notify{position:fixed;top:10px;left:10px;z-index:1040;box-sizing:border-box;width:350px}.uk-notify-bottom-right,.uk-notify-top-right{left:auto;right:10px}.uk-notify-bottom-center,.uk-notify-top-center{left:50%;margin-left:-175px}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{top:auto;bottom:10px}@media (max-width:479px){.uk-notify{left:10px;right:10px;width:auto;margin:0}}.uk-notify-message{position:relative;margin-bottom:10px;padding:15px;background:#444;color:#fff;font-size:16px;line-height:22px;cursor:pointer}.uk-notify-message>.uk-close{visibility:hidden;float:right}.uk-notify-message:hover>.uk-close{visibility:visible}.uk-notify-message-primary{background:#ebf7fd;color:#2d7091}.uk-notify-message-success{background:#f2fae3;color:#659f13}.uk-notify-message-warning{background:#fffceb;color:#e28327}.uk-notify-message-danger{background:#fff1f0;color:#d85030} \ No newline at end of file diff --git a/bower_components/uikit/css/components/placeholder.almost-flat.css b/bower_components/uikit/css/components/placeholder.almost-flat.css new file mode 100644 index 0000000..0e2a432 --- /dev/null +++ b/bower_components/uikit/css/components/placeholder.almost-flat.css @@ -0,0 +1,29 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Placeholder + ========================================================================== */ +.uk-placeholder { + margin-bottom: 15px; + padding: 15px; + border: 1px dashed #ddd; + background: #fafafa; + color: #444; +} +/* + * Add margin if adjacent element + */ +* + .uk-placeholder { + margin-top: 15px; +} +/* + * Remove margin from the last-child + */ +.uk-placeholder > :last-child { + margin-bottom: 0; +} +/* Modifier: `uk-placeholder-large` + ========================================================================== */ +.uk-placeholder-large { + padding-top: 80px; + padding-bottom: 80px; +} diff --git a/bower_components/uikit/css/components/placeholder.almost-flat.min.css b/bower_components/uikit/css/components/placeholder.almost-flat.min.css new file mode 100644 index 0000000..7ca7966 --- /dev/null +++ b/bower_components/uikit/css/components/placeholder.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-placeholder{margin-bottom:15px;padding:15px;border:1px dashed #ddd;background:#fafafa;color:#444}*+.uk-placeholder{margin-top:15px}.uk-placeholder>:last-child{margin-bottom:0}.uk-placeholder-large{padding-top:80px;padding-bottom:80px} \ No newline at end of file diff --git a/bower_components/uikit/css/components/placeholder.css b/bower_components/uikit/css/components/placeholder.css new file mode 100644 index 0000000..0e2a432 --- /dev/null +++ b/bower_components/uikit/css/components/placeholder.css @@ -0,0 +1,29 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Placeholder + ========================================================================== */ +.uk-placeholder { + margin-bottom: 15px; + padding: 15px; + border: 1px dashed #ddd; + background: #fafafa; + color: #444; +} +/* + * Add margin if adjacent element + */ +* + .uk-placeholder { + margin-top: 15px; +} +/* + * Remove margin from the last-child + */ +.uk-placeholder > :last-child { + margin-bottom: 0; +} +/* Modifier: `uk-placeholder-large` + ========================================================================== */ +.uk-placeholder-large { + padding-top: 80px; + padding-bottom: 80px; +} diff --git a/bower_components/uikit/css/components/placeholder.gradient.css b/bower_components/uikit/css/components/placeholder.gradient.css new file mode 100644 index 0000000..0e2a432 --- /dev/null +++ b/bower_components/uikit/css/components/placeholder.gradient.css @@ -0,0 +1,29 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Placeholder + ========================================================================== */ +.uk-placeholder { + margin-bottom: 15px; + padding: 15px; + border: 1px dashed #ddd; + background: #fafafa; + color: #444; +} +/* + * Add margin if adjacent element + */ +* + .uk-placeholder { + margin-top: 15px; +} +/* + * Remove margin from the last-child + */ +.uk-placeholder > :last-child { + margin-bottom: 0; +} +/* Modifier: `uk-placeholder-large` + ========================================================================== */ +.uk-placeholder-large { + padding-top: 80px; + padding-bottom: 80px; +} diff --git a/bower_components/uikit/css/components/placeholder.gradient.min.css b/bower_components/uikit/css/components/placeholder.gradient.min.css new file mode 100644 index 0000000..7ca7966 --- /dev/null +++ b/bower_components/uikit/css/components/placeholder.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-placeholder{margin-bottom:15px;padding:15px;border:1px dashed #ddd;background:#fafafa;color:#444}*+.uk-placeholder{margin-top:15px}.uk-placeholder>:last-child{margin-bottom:0}.uk-placeholder-large{padding-top:80px;padding-bottom:80px} \ No newline at end of file diff --git a/bower_components/uikit/css/components/placeholder.min.css b/bower_components/uikit/css/components/placeholder.min.css new file mode 100644 index 0000000..7ca7966 --- /dev/null +++ b/bower_components/uikit/css/components/placeholder.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-placeholder{margin-bottom:15px;padding:15px;border:1px dashed #ddd;background:#fafafa;color:#444}*+.uk-placeholder{margin-top:15px}.uk-placeholder>:last-child{margin-bottom:0}.uk-placeholder-large{padding-top:80px;padding-bottom:80px} \ No newline at end of file diff --git a/bower_components/uikit/css/components/progress.almost-flat.css b/bower_components/uikit/css/components/progress.almost-flat.css new file mode 100644 index 0000000..3ceb99a --- /dev/null +++ b/bower_components/uikit/css/components/progress.almost-flat.css @@ -0,0 +1,104 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Progress + ========================================================================== */ +/* + * 1. Clearing + * 2. Vertical alignment if text is used + */ +.uk-progress { + box-sizing: border-box; + height: 20px; + margin-bottom: 15px; + background: #f5f5f5; + /* 1 */ + overflow: hidden; + /* 2 */ + line-height: 20px; + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06); + border-radius: 4px; +} +/* + * Add margin if adjacent element + */ +* + .uk-progress { + margin-top: 15px; +} +/* Sub-object: `uk-progress-bar` + ========================================================================== */ +/* + * 1. Transition + * 2. Needed for text + */ +.uk-progress-bar { + width: 0; + height: 100%; + background: #00a8e6; + float: left; + /* 1 */ + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; + /* 2 */ + font-size: 12px; + color: #fff; + text-align: center; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); +} +/* Size modifiers + ========================================================================== */ +/* Mini */ +.uk-progress-mini { + height: 6px; +} +/* Small */ +.uk-progress-small { + height: 12px; +} +/* Color modifiers + ========================================================================== */ +.uk-progress-success .uk-progress-bar { + background-color: #8cc14c; +} +.uk-progress-warning .uk-progress-bar { + background-color: #faa732; +} +.uk-progress-danger .uk-progress-bar { + background-color: #da314b; +} +/* Modifier: `uk-progress-striped` + ========================================================================== */ +.uk-progress-striped .uk-progress-bar { + background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 30px 30px; +} +/* + * Animation + */ +.uk-progress-striped.uk-active .uk-progress-bar { + -webkit-animation: uk-progress-bar-stripes 2s linear infinite; + animation: uk-progress-bar-stripes 2s linear infinite; +} +@-webkit-keyframes uk-progress-bar-stripes { + 0% { + background-position: 0 0; + } + 100% { + background-position: 30px 0; + } +} +@keyframes uk-progress-bar-stripes { + 0% { + background-position: 0 0; + } + 100% { + background-position: 30px 0; + } +} +/* Size modifiers + ========================================================================== */ +.uk-progress-mini, +.uk-progress-small { + border-radius: 500px; +} diff --git a/bower_components/uikit/css/components/progress.almost-flat.min.css b/bower_components/uikit/css/components/progress.almost-flat.min.css new file mode 100644 index 0000000..453fe1f --- /dev/null +++ b/bower_components/uikit/css/components/progress.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-progress{box-sizing:border-box;height:20px;margin-bottom:15px;background:#f5f5f5;overflow:hidden;line-height:20px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);border-radius:4px}*+.uk-progress{margin-top:15px}.uk-progress-bar{width:0;height:100%;background:#00a8e6;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-success .uk-progress-bar{background-color:#8cc14c}.uk-progress-warning .uk-progress-bar{background-color:#faa732}.uk-progress-danger .uk-progress-bar{background-color:#da314b}.uk-progress-striped .uk-progress-bar{background-image:-webkit-linear-gradient(-45deg,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(-45deg,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-size:30px 30px}.uk-progress-striped.uk-active .uk-progress-bar{-webkit-animation:uk-progress-bar-stripes 2s linear infinite;animation:uk-progress-bar-stripes 2s linear infinite}@-webkit-keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}@keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}.uk-progress-mini,.uk-progress-small{border-radius:500px} \ No newline at end of file diff --git a/bower_components/uikit/css/components/progress.css b/bower_components/uikit/css/components/progress.css new file mode 100644 index 0000000..9883ef4 --- /dev/null +++ b/bower_components/uikit/css/components/progress.css @@ -0,0 +1,94 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Progress + ========================================================================== */ +/* + * 1. Clearing + * 2. Vertical alignment if text is used + */ +.uk-progress { + box-sizing: border-box; + height: 20px; + margin-bottom: 15px; + background: #eee; + /* 1 */ + overflow: hidden; + /* 2 */ + line-height: 20px; +} +/* + * Add margin if adjacent element + */ +* + .uk-progress { + margin-top: 15px; +} +/* Sub-object: `uk-progress-bar` + ========================================================================== */ +/* + * 1. Transition + * 2. Needed for text + */ +.uk-progress-bar { + width: 0; + height: 100%; + background: #00a8e6; + float: left; + /* 1 */ + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; + /* 2 */ + font-size: 12px; + color: #fff; + text-align: center; +} +/* Size modifiers + ========================================================================== */ +/* Mini */ +.uk-progress-mini { + height: 6px; +} +/* Small */ +.uk-progress-small { + height: 12px; +} +/* Color modifiers + ========================================================================== */ +.uk-progress-success .uk-progress-bar { + background-color: #8cc14c; +} +.uk-progress-warning .uk-progress-bar { + background-color: #faa732; +} +.uk-progress-danger .uk-progress-bar { + background-color: #da314b; +} +/* Modifier: `uk-progress-striped` + ========================================================================== */ +.uk-progress-striped .uk-progress-bar { + background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 30px 30px; +} +/* + * Animation + */ +.uk-progress-striped.uk-active .uk-progress-bar { + -webkit-animation: uk-progress-bar-stripes 2s linear infinite; + animation: uk-progress-bar-stripes 2s linear infinite; +} +@-webkit-keyframes uk-progress-bar-stripes { + 0% { + background-position: 0 0; + } + 100% { + background-position: 30px 0; + } +} +@keyframes uk-progress-bar-stripes { + 0% { + background-position: 0 0; + } + 100% { + background-position: 30px 0; + } +} diff --git a/bower_components/uikit/css/components/progress.gradient.css b/bower_components/uikit/css/components/progress.gradient.css new file mode 100644 index 0000000..693da49 --- /dev/null +++ b/bower_components/uikit/css/components/progress.gradient.css @@ -0,0 +1,112 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Progress + ========================================================================== */ +/* + * 1. Clearing + * 2. Vertical alignment if text is used + */ +.uk-progress { + box-sizing: border-box; + height: 20px; + margin-bottom: 15px; + background: #f7f7f7; + /* 1 */ + overflow: hidden; + /* 2 */ + line-height: 20px; + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.07), inset 0 2px 2px rgba(0, 0, 0, 0.07); + border-radius: 4px; +} +/* + * Add margin if adjacent element + */ +* + .uk-progress { + margin-top: 15px; +} +/* Sub-object: `uk-progress-bar` + ========================================================================== */ +/* + * 1. Transition + * 2. Needed for text + */ +.uk-progress-bar { + width: 0; + height: 100%; + background: #009dd8; + float: left; + /* 1 */ + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; + /* 2 */ + font-size: 12px; + color: #fff; + text-align: center; + background-image: -webkit-linear-gradient(top, #00b4f5, #008dc5); + background-image: linear-gradient(to bottom, #00b4f5, #008dc5); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* Size modifiers + ========================================================================== */ +/* Mini */ +.uk-progress-mini { + height: 6px; +} +/* Small */ +.uk-progress-small { + height: 12px; +} +/* Color modifiers + ========================================================================== */ +.uk-progress-success .uk-progress-bar { + background-color: #82bb42; + background-image: -webkit-linear-gradient(top, #9fd256, #6fac34); + background-image: linear-gradient(to bottom, #9fd256, #6fac34); +} +.uk-progress-warning .uk-progress-bar { + background-color: #f9a124; + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); +} +.uk-progress-danger .uk-progress-bar { + background-color: #d32c46; + background-image: -webkit-linear-gradient(top, #ee465a, #c11a39); + background-image: linear-gradient(to bottom, #ee465a, #c11a39); +} +/* Modifier: `uk-progress-striped` + ========================================================================== */ +.uk-progress-striped .uk-progress-bar { + background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 30px 30px; +} +/* + * Animation + */ +.uk-progress-striped.uk-active .uk-progress-bar { + -webkit-animation: uk-progress-bar-stripes 2s linear infinite; + animation: uk-progress-bar-stripes 2s linear infinite; +} +@-webkit-keyframes uk-progress-bar-stripes { + 0% { + background-position: 0 0; + } + 100% { + background-position: 30px 0; + } +} +@keyframes uk-progress-bar-stripes { + 0% { + background-position: 0 0; + } + 100% { + background-position: 30px 0; + } +} +/* Size modifiers + ========================================================================== */ +.uk-progress-mini, +.uk-progress-small { + border-radius: 500px; +} diff --git a/bower_components/uikit/css/components/progress.gradient.min.css b/bower_components/uikit/css/components/progress.gradient.min.css new file mode 100644 index 0000000..56ee565 --- /dev/null +++ b/bower_components/uikit/css/components/progress.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-progress{box-sizing:border-box;height:20px;margin-bottom:15px;background:#f7f7f7;overflow:hidden;line-height:20px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.07),inset 0 2px 2px rgba(0,0,0,.07);border-radius:4px}*+.uk-progress{margin-top:15px}.uk-progress-bar{width:0;height:100%;background:#009dd8;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);box-shadow:inset 0 -1px 0 rgba(0,0,0,.2),inset 0 0 0 1px rgba(0,0,0,.1);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-success .uk-progress-bar{background-color:#82bb42;background-image:-webkit-linear-gradient(top,#9fd256,#6fac34);background-image:linear-gradient(to bottom,#9fd256,#6fac34)}.uk-progress-warning .uk-progress-bar{background-color:#f9a124;background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406)}.uk-progress-danger .uk-progress-bar{background-color:#d32c46;background-image:-webkit-linear-gradient(top,#ee465a,#c11a39);background-image:linear-gradient(to bottom,#ee465a,#c11a39)}.uk-progress-striped .uk-progress-bar{background-image:-webkit-linear-gradient(-45deg,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(-45deg,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-size:30px 30px}.uk-progress-striped.uk-active .uk-progress-bar{-webkit-animation:uk-progress-bar-stripes 2s linear infinite;animation:uk-progress-bar-stripes 2s linear infinite}@-webkit-keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}@keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}.uk-progress-mini,.uk-progress-small{border-radius:500px} \ No newline at end of file diff --git a/bower_components/uikit/css/components/progress.min.css b/bower_components/uikit/css/components/progress.min.css new file mode 100644 index 0000000..c171cfa --- /dev/null +++ b/bower_components/uikit/css/components/progress.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-progress{box-sizing:border-box;height:20px;margin-bottom:15px;background:#eee;overflow:hidden;line-height:20px}*+.uk-progress{margin-top:15px}.uk-progress-bar{width:0;height:100%;background:#00a8e6;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-success .uk-progress-bar{background-color:#8cc14c}.uk-progress-warning .uk-progress-bar{background-color:#faa732}.uk-progress-danger .uk-progress-bar{background-color:#da314b}.uk-progress-striped .uk-progress-bar{background-image:-webkit-linear-gradient(-45deg,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(-45deg,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-size:30px 30px}.uk-progress-striped.uk-active .uk-progress-bar{-webkit-animation:uk-progress-bar-stripes 2s linear infinite;animation:uk-progress-bar-stripes 2s linear infinite}@-webkit-keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}@keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}} \ No newline at end of file diff --git a/bower_components/uikit/css/components/search.almost-flat.css b/bower_components/uikit/css/components/search.almost-flat.css new file mode 100644 index 0000000..a28b1f2 --- /dev/null +++ b/bower_components/uikit/css/components/search.almost-flat.css @@ -0,0 +1,191 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Search + ========================================================================== */ +/* + * 1. Create position context for dropdowns + * 2. Needed for `form` element + */ +.uk-search { + display: inline-block; + /* 1 */ + position: relative; + /* 2 */ + margin: 0; +} +/* + * Icon + */ +.uk-search:before { + content: "\f002"; + position: absolute; + top: 0; + left: 0; + width: 30px; + line-height: 30px; + text-align: center; + font-family: FontAwesome; + font-size: 14px; + color: rgba(0, 0, 0, 0.2); +} +/* Sub-object `uk-search-field` + ========================================================================== */ +/* + * Removes inner padding and border in Firefox 4+. + */ +.uk-search-field::-moz-focus-inner { + border: 0; + padding: 0; +} +/* + * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X. + */ +.uk-search-field::-webkit-search-cancel-button, +.uk-search-field::-webkit-search-decoration { + -webkit-appearance: none; +} +/* + * Removes cancel button in IE10 + */ +.uk-search-field::-ms-clear { + display: none; +} +/* + * Removes placeholder transparency in Firefox. + */ +.uk-search-field::-moz-placeholder { + opacity: 1; +} +/* + * 1. Define consistent box sizing. + * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera. + * 3. Remove `border-radius` in iOS. + * 4. Correct `font` properties and `color` not being inherited. + * 5. Remove default style in iOS. + * 6. Style + */ +.uk-search-field { + /* 1 */ + box-sizing: border-box; + /* 2 */ + margin: 0; + /* 3 */ + border-radius: 0; + /* 4 */ + font: inherit; + color: #444; + /* 5 */ + -webkit-appearance: none; + /* 6 */ + width: 120px; + height: 30px; + padding: 0 0 0 30px; + border: 1px solid rgba(0, 0, 0, 0); + background: rgba(0, 0, 0, 0); + -webkit-transition: all 0.2s linear; + transition: all 0.2s linear; + vertical-align: middle; +} +/* Placeholder */ +.uk-search-field:-ms-input-placeholder { + color: #999 !important; +} +.uk-search-field::-moz-placeholder { + color: #999; +} +.uk-search-field::-webkit-input-placeholder { + color: #999; +} +/* Focus */ +.uk-search-field:focus { + outline: 0; +} +/* Focus + Active */ +.uk-search-field:focus, +.uk-search.uk-active .uk-search-field { + width: 180px; +} +/* Dropdown modifier: `uk-dropdown-search` + ========================================================================== */ +.uk-dropdown-search { + width: 300px; + margin-top: 0; + background: #fff; + color: #444; +} +.uk-open > .uk-dropdown-search { + -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out; + animation: uk-slide-top-fixed 0.2s ease-in-out; +} +/* + * Dependency `uk-navbar-flip` + */ +.uk-navbar-flip .uk-dropdown-search { + margin-top: 12px; + margin-right: -16px; +} +/* Nav modifier `uk-nav-search` + ========================================================================== */ +/* + * Items + */ +.uk-nav-search > li > a { + color: #444; +} +/* + * Active + * 1. Remove default focus style + */ +.uk-nav-search > li.uk-active > a { + background: #00a8e6; + color: #fff; + /* 1 */ + outline: none; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-search .uk-nav-header { + color: #999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-search .uk-nav-divider { + border-top: 1px solid #ddd; +} +/* + * Nested items + */ +.uk-nav-search ul a { + color: #07D; +} +.uk-nav-search ul a:hover { + color: #059; +} +/* Search in offcanvas + ========================================================================== */ +.uk-offcanvas .uk-search { + display: block; + margin: 20px 15px; +} +.uk-offcanvas .uk-search:before { + color: #777; +} +.uk-offcanvas .uk-search-field { + width: 100%; + border-color: rgba(0, 0, 0, 0); + background: #1a1a1a; + color: #ccc; +} +.uk-offcanvas .uk-search-field:-ms-input-placeholder { + color: #777 !important; +} +.uk-offcanvas .uk-search-field::-moz-placeholder { + color: #777; +} +.uk-offcanvas .uk-search-field::-webkit-input-placeholder { + color: #777; +} diff --git a/bower_components/uikit/css/components/search.almost-flat.min.css b/bower_components/uikit/css/components/search.almost-flat.min.css new file mode 100644 index 0000000..e7e461f --- /dev/null +++ b/bower_components/uikit/css/components/search.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-search{display:inline-block;position:relative;margin:0}.uk-search:before{content:"\f002";position:absolute;top:0;left:0;width:30px;line-height:30px;text-align:center;font-family:FontAwesome;font-size:14px;color:rgba(0,0,0,.2)}.uk-search-field::-moz-focus-inner{border:0;padding:0}.uk-search-field::-webkit-search-cancel-button,.uk-search-field::-webkit-search-decoration{-webkit-appearance:none}.uk-search-field::-ms-clear{display:none}.uk-search-field::-moz-placeholder{opacity:1}.uk-search-field{box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:#444;-webkit-appearance:none;width:120px;height:30px;padding:0 0 0 30px;border:1px solid transparent;background:rgba(0,0,0,0);-webkit-transition:all .2s linear;transition:all .2s linear;vertical-align:middle}.uk-search-field:-ms-input-placeholder{color:#999!important}.uk-search-field::-moz-placeholder{color:#999}.uk-search-field::-webkit-input-placeholder{color:#999}.uk-search-field:focus{outline:0}.uk-search-field:focus,.uk-search.uk-active .uk-search-field{width:180px}.uk-dropdown-search{width:300px;margin-top:0;background:#fff;color:#444}.uk-open>.uk-dropdown-search{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-navbar-flip .uk-dropdown-search{margin-top:12px;margin-right:-16px}.uk-nav-search>li>a{color:#444}.uk-nav-search>li.uk-active>a{background:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-nav-search .uk-nav-header{color:#999}.uk-nav-search .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-search ul a{color:#07D}.uk-nav-search ul a:hover{color:#059}.uk-offcanvas .uk-search{display:block;margin:20px 15px}.uk-offcanvas .uk-search:before{color:#777}.uk-offcanvas .uk-search-field{width:100%;border-color:transparent;background:#1a1a1a;color:#ccc}.uk-offcanvas .uk-search-field:-ms-input-placeholder{color:#777!important}.uk-offcanvas .uk-search-field::-moz-placeholder{color:#777}.uk-offcanvas .uk-search-field::-webkit-input-placeholder{color:#777} \ No newline at end of file diff --git a/bower_components/uikit/css/components/search.css b/bower_components/uikit/css/components/search.css new file mode 100644 index 0000000..7b43356 --- /dev/null +++ b/bower_components/uikit/css/components/search.css @@ -0,0 +1,189 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Search + ========================================================================== */ +/* + * 1. Create position context for dropdowns + * 2. Needed for `form` element + */ +.uk-search { + display: inline-block; + /* 1 */ + position: relative; + /* 2 */ + margin: 0; +} +/* + * Icon + */ +.uk-search:before { + content: "\f002"; + position: absolute; + top: 0; + left: 0; + width: 30px; + line-height: 30px; + text-align: center; + font-family: FontAwesome; + font-size: 14px; + color: rgba(0, 0, 0, 0.2); +} +/* Sub-object `uk-search-field` + ========================================================================== */ +/* + * Removes inner padding and border in Firefox 4+. + */ +.uk-search-field::-moz-focus-inner { + border: 0; + padding: 0; +} +/* + * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X. + */ +.uk-search-field::-webkit-search-cancel-button, +.uk-search-field::-webkit-search-decoration { + -webkit-appearance: none; +} +/* + * Removes cancel button in IE10 + */ +.uk-search-field::-ms-clear { + display: none; +} +/* + * Removes placeholder transparency in Firefox. + */ +.uk-search-field::-moz-placeholder { + opacity: 1; +} +/* + * 1. Define consistent box sizing. + * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera. + * 3. Remove `border-radius` in iOS. + * 4. Correct `font` properties and `color` not being inherited. + * 5. Remove default style in iOS. + * 6. Style + */ +.uk-search-field { + /* 1 */ + box-sizing: border-box; + /* 2 */ + margin: 0; + /* 3 */ + border-radius: 0; + /* 4 */ + font: inherit; + color: #444; + /* 5 */ + -webkit-appearance: none; + /* 6 */ + width: 120px; + height: 30px; + padding: 0 0 0 30px; + border: 1px solid rgba(0, 0, 0, 0); + background: rgba(0, 0, 0, 0); + -webkit-transition: all 0.2s linear; + transition: all 0.2s linear; + vertical-align: middle; +} +/* Placeholder */ +.uk-search-field:-ms-input-placeholder { + color: #999 !important; +} +.uk-search-field::-moz-placeholder { + color: #999; +} +.uk-search-field::-webkit-input-placeholder { + color: #999; +} +/* Focus */ +.uk-search-field:focus { + outline: 0; +} +/* Focus + Active */ +.uk-search-field:focus, +.uk-search.uk-active .uk-search-field { + width: 180px; +} +/* Dropdown modifier: `uk-dropdown-search` + ========================================================================== */ +.uk-dropdown-search { + width: 300px; + margin-top: 0; + background: #f5f5f5; + color: #444; +} +.uk-open > .uk-dropdown-search { + -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out; + animation: uk-slide-top-fixed 0.2s ease-in-out; +} +/* + * Dependency `uk-navbar-flip` + */ +.uk-navbar-flip .uk-dropdown-search { + margin-top: 5px; + margin-right: -15px; +} +/* Nav modifier `uk-nav-search` + ========================================================================== */ +/* + * Items + */ +.uk-nav-search > li > a { + color: #444; +} +/* + * Active + * 1. Remove default focus style + */ +.uk-nav-search > li.uk-active > a { + background: #00a8e6; + color: #fff; + /* 1 */ + outline: none; +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-search .uk-nav-header { + color: #999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-search .uk-nav-divider { + border-top: 1px solid #ddd; +} +/* + * Nested items + */ +.uk-nav-search ul a { + color: #07D; +} +.uk-nav-search ul a:hover { + color: #059; +} +/* Search in offcanvas + ========================================================================== */ +.uk-offcanvas .uk-search { + display: block; + margin: 20px 15px; +} +.uk-offcanvas .uk-search:before { + color: #777; +} +.uk-offcanvas .uk-search-field { + width: 100%; + border-color: rgba(0, 0, 0, 0); + background: #1a1a1a; + color: #ccc; +} +.uk-offcanvas .uk-search-field:-ms-input-placeholder { + color: #777 !important; +} +.uk-offcanvas .uk-search-field::-moz-placeholder { + color: #777; +} +.uk-offcanvas .uk-search-field::-webkit-input-placeholder { + color: #777; +} diff --git a/bower_components/uikit/css/components/search.gradient.css b/bower_components/uikit/css/components/search.gradient.css new file mode 100644 index 0000000..0135288 --- /dev/null +++ b/bower_components/uikit/css/components/search.gradient.css @@ -0,0 +1,191 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Search + ========================================================================== */ +/* + * 1. Create position context for dropdowns + * 2. Needed for `form` element + */ +.uk-search { + display: inline-block; + /* 1 */ + position: relative; + /* 2 */ + margin: 0; +} +/* + * Icon + */ +.uk-search:before { + content: "\f002"; + position: absolute; + top: 0; + left: 0; + width: 30px; + line-height: 30px; + text-align: center; + font-family: FontAwesome; + font-size: 14px; + color: rgba(0, 0, 0, 0.2); +} +/* Sub-object `uk-search-field` + ========================================================================== */ +/* + * Removes inner padding and border in Firefox 4+. + */ +.uk-search-field::-moz-focus-inner { + border: 0; + padding: 0; +} +/* + * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X. + */ +.uk-search-field::-webkit-search-cancel-button, +.uk-search-field::-webkit-search-decoration { + -webkit-appearance: none; +} +/* + * Removes cancel button in IE10 + */ +.uk-search-field::-ms-clear { + display: none; +} +/* + * Removes placeholder transparency in Firefox. + */ +.uk-search-field::-moz-placeholder { + opacity: 1; +} +/* + * 1. Define consistent box sizing. + * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera. + * 3. Remove `border-radius` in iOS. + * 4. Correct `font` properties and `color` not being inherited. + * 5. Remove default style in iOS. + * 6. Style + */ +.uk-search-field { + /* 1 */ + box-sizing: border-box; + /* 2 */ + margin: 0; + /* 3 */ + border-radius: 0; + /* 4 */ + font: inherit; + color: #444; + /* 5 */ + -webkit-appearance: none; + /* 6 */ + width: 120px; + height: 30px; + padding: 0 0 0 30px; + border: 1px solid rgba(0, 0, 0, 0); + background: rgba(0, 0, 0, 0); + -webkit-transition: all 0.2s linear; + transition: all 0.2s linear; + vertical-align: middle; +} +/* Placeholder */ +.uk-search-field:-ms-input-placeholder { + color: #999 !important; +} +.uk-search-field::-moz-placeholder { + color: #999; +} +.uk-search-field::-webkit-input-placeholder { + color: #999; +} +/* Focus */ +.uk-search-field:focus { + outline: 0; +} +/* Focus + Active */ +.uk-search-field:focus, +.uk-search.uk-active .uk-search-field { + width: 180px; +} +/* Dropdown modifier: `uk-dropdown-search` + ========================================================================== */ +.uk-dropdown-search { + width: 300px; + margin-top: 0; + background: #fff; + color: #444; +} +.uk-open > .uk-dropdown-search { + -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out; + animation: uk-slide-top-fixed 0.2s ease-in-out; +} +/* + * Dependency `uk-navbar-flip` + */ +.uk-navbar-flip .uk-dropdown-search { + margin-top: 12px; + margin-right: -16px; +} +/* Nav modifier `uk-nav-search` + ========================================================================== */ +/* + * Items + */ +.uk-nav-search > li > a { + color: #444; +} +/* + * Active + * 1. Remove default focus style + */ +.uk-nav-search > li.uk-active > a { + background: #009dd8; + color: #fff; + /* 1 */ + outline: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-search .uk-nav-header { + color: #999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-search .uk-nav-divider { + border-top: 1px solid #ddd; +} +/* + * Nested items + */ +.uk-nav-search ul a { + color: #07D; +} +.uk-nav-search ul a:hover { + color: #059; +} +/* Search in offcanvas + ========================================================================== */ +.uk-offcanvas .uk-search { + display: block; + margin: 20px 15px; +} +.uk-offcanvas .uk-search:before { + color: #777; +} +.uk-offcanvas .uk-search-field { + width: 100%; + border-color: rgba(0, 0, 0, 0); + background: #1a1a1a; + color: #ccc; +} +.uk-offcanvas .uk-search-field:-ms-input-placeholder { + color: #777 !important; +} +.uk-offcanvas .uk-search-field::-moz-placeholder { + color: #777; +} +.uk-offcanvas .uk-search-field::-webkit-input-placeholder { + color: #777; +} diff --git a/bower_components/uikit/css/components/search.gradient.min.css b/bower_components/uikit/css/components/search.gradient.min.css new file mode 100644 index 0000000..82f468b --- /dev/null +++ b/bower_components/uikit/css/components/search.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-search{display:inline-block;position:relative;margin:0}.uk-search:before{content:"\f002";position:absolute;top:0;left:0;width:30px;line-height:30px;text-align:center;font-family:FontAwesome;font-size:14px;color:rgba(0,0,0,.2)}.uk-search-field::-moz-focus-inner{border:0;padding:0}.uk-search-field::-webkit-search-cancel-button,.uk-search-field::-webkit-search-decoration{-webkit-appearance:none}.uk-search-field::-ms-clear{display:none}.uk-search-field::-moz-placeholder{opacity:1}.uk-search-field{box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:#444;-webkit-appearance:none;width:120px;height:30px;padding:0 0 0 30px;border:1px solid transparent;background:rgba(0,0,0,0);-webkit-transition:all .2s linear;transition:all .2s linear;vertical-align:middle}.uk-search-field:-ms-input-placeholder{color:#999!important}.uk-search-field::-moz-placeholder{color:#999}.uk-search-field::-webkit-input-placeholder{color:#999}.uk-search-field:focus{outline:0}.uk-search-field:focus,.uk-search.uk-active .uk-search-field{width:180px}.uk-dropdown-search{width:300px;margin-top:0;background:#fff;color:#444}.uk-open>.uk-dropdown-search{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-navbar-flip .uk-dropdown-search{margin-top:12px;margin-right:-16px}.uk-nav-search>li>a{color:#444}.uk-nav-search>li.uk-active>a{background:#009dd8;color:#fff;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-search .uk-nav-header{color:#999}.uk-nav-search .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-search ul a{color:#07D}.uk-nav-search ul a:hover{color:#059}.uk-offcanvas .uk-search{display:block;margin:20px 15px}.uk-offcanvas .uk-search:before{color:#777}.uk-offcanvas .uk-search-field{width:100%;border-color:transparent;background:#1a1a1a;color:#ccc}.uk-offcanvas .uk-search-field:-ms-input-placeholder{color:#777!important}.uk-offcanvas .uk-search-field::-moz-placeholder{color:#777}.uk-offcanvas .uk-search-field::-webkit-input-placeholder{color:#777} \ No newline at end of file diff --git a/bower_components/uikit/css/components/search.min.css b/bower_components/uikit/css/components/search.min.css new file mode 100644 index 0000000..994c27b --- /dev/null +++ b/bower_components/uikit/css/components/search.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-search{display:inline-block;position:relative;margin:0}.uk-search:before{content:"\f002";position:absolute;top:0;left:0;width:30px;line-height:30px;text-align:center;font-family:FontAwesome;font-size:14px;color:rgba(0,0,0,.2)}.uk-search-field::-moz-focus-inner{border:0;padding:0}.uk-search-field::-webkit-search-cancel-button,.uk-search-field::-webkit-search-decoration{-webkit-appearance:none}.uk-search-field::-ms-clear{display:none}.uk-search-field::-moz-placeholder{opacity:1}.uk-search-field{box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:#444;-webkit-appearance:none;width:120px;height:30px;padding:0 0 0 30px;border:1px solid transparent;background:rgba(0,0,0,0);-webkit-transition:all .2s linear;transition:all .2s linear;vertical-align:middle}.uk-search-field:-ms-input-placeholder{color:#999!important}.uk-search-field::-moz-placeholder{color:#999}.uk-search-field::-webkit-input-placeholder{color:#999}.uk-search-field:focus{outline:0}.uk-search-field:focus,.uk-search.uk-active .uk-search-field{width:180px}.uk-dropdown-search{width:300px;margin-top:0;background:#f5f5f5;color:#444}.uk-open>.uk-dropdown-search{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-navbar-flip .uk-dropdown-search{margin-top:5px;margin-right:-15px}.uk-nav-search>li>a{color:#444}.uk-nav-search>li.uk-active>a{background:#00a8e6;color:#fff;outline:0}.uk-nav-search .uk-nav-header{color:#999}.uk-nav-search .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-search ul a{color:#07D}.uk-nav-search ul a:hover{color:#059}.uk-offcanvas .uk-search{display:block;margin:20px 15px}.uk-offcanvas .uk-search:before{color:#777}.uk-offcanvas .uk-search-field{width:100%;border-color:transparent;background:#1a1a1a;color:#ccc}.uk-offcanvas .uk-search-field:-ms-input-placeholder{color:#777!important}.uk-offcanvas .uk-search-field::-moz-placeholder{color:#777}.uk-offcanvas .uk-search-field::-webkit-input-placeholder{color:#777} \ No newline at end of file diff --git a/bower_components/uikit/css/components/slidenav.almost-flat.css b/bower_components/uikit/css/components/slidenav.almost-flat.css new file mode 100644 index 0000000..c8f85ef --- /dev/null +++ b/bower_components/uikit/css/components/slidenav.almost-flat.css @@ -0,0 +1,98 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Slidenav + ========================================================================== */ +/* + * 1. Required for `a` elements + * 2. Dimension + * 3. Style + */ +.uk-slidenav { + /* 1 */ + display: inline-block; + /* 2 */ + box-sizing: border-box; + width: 60px; + height: 60px; + /* 3 */ + line-height: 60px; + color: rgba(50, 50, 50, 0.4); + font-size: 60px; + text-align: center; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + * 4. Style + */ +.uk-slidenav:hover, +.uk-slidenav:focus { + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + /* 4 */ + color: rgba(50, 50, 50, 0.7); + cursor: pointer; +} +/* Active */ +.uk-slidenav:active { + color: rgba(50, 50, 50, 0.9); +} +/* + * Icons + */ +.uk-slidenav-previous:before { + content: "\f104"; + font-family: FontAwesome; +} +.uk-slidenav-next:before { + content: "\f105"; + font-family: FontAwesome; +} +/* Sub-object: `uk-slidenav-position` + ========================================================================== */ +/* + * Create position context + */ +.uk-slidenav-position { + position: relative; +} +/* + * Center vertically + */ +.uk-slidenav-position .uk-slidenav { + display: none; + position: absolute; + top: 50%; + z-index: 1; + margin-top: -30px; +} +.uk-slidenav-position:hover .uk-slidenav { + display: block; +} +.uk-slidenav-position .uk-slidenav-previous { + left: 20px; +} +.uk-slidenav-position .uk-slidenav-next { + right: 20px; +} +/* Modifier: `uk-slidenav-contrast` + ========================================================================== */ +.uk-slidenav-contrast { + color: rgba(255, 255, 255, 0.5); +} +/* + * Hover + * 1. Apply hover style also to focus state + */ +.uk-slidenav-contrast:hover, +.uk-slidenav-contrast:focus { + color: rgba(255, 255, 255, 0.7); +} +/* Active */ +.uk-slidenav-contrast:active { + color: rgba(255, 255, 255, 0.9); +} diff --git a/bower_components/uikit/css/components/slidenav.almost-flat.min.css b/bower_components/uikit/css/components/slidenav.almost-flat.min.css new file mode 100644 index 0000000..c94a2f8 --- /dev/null +++ b/bower_components/uikit/css/components/slidenav.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-slidenav{display:inline-block;box-sizing:border-box;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-slidenav:focus,.uk-slidenav:hover{outline:0;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:focus,.uk-slidenav-contrast:hover{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)} \ No newline at end of file diff --git a/bower_components/uikit/css/components/slidenav.css b/bower_components/uikit/css/components/slidenav.css new file mode 100644 index 0000000..c8f85ef --- /dev/null +++ b/bower_components/uikit/css/components/slidenav.css @@ -0,0 +1,98 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Slidenav + ========================================================================== */ +/* + * 1. Required for `a` elements + * 2. Dimension + * 3. Style + */ +.uk-slidenav { + /* 1 */ + display: inline-block; + /* 2 */ + box-sizing: border-box; + width: 60px; + height: 60px; + /* 3 */ + line-height: 60px; + color: rgba(50, 50, 50, 0.4); + font-size: 60px; + text-align: center; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + * 4. Style + */ +.uk-slidenav:hover, +.uk-slidenav:focus { + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + /* 4 */ + color: rgba(50, 50, 50, 0.7); + cursor: pointer; +} +/* Active */ +.uk-slidenav:active { + color: rgba(50, 50, 50, 0.9); +} +/* + * Icons + */ +.uk-slidenav-previous:before { + content: "\f104"; + font-family: FontAwesome; +} +.uk-slidenav-next:before { + content: "\f105"; + font-family: FontAwesome; +} +/* Sub-object: `uk-slidenav-position` + ========================================================================== */ +/* + * Create position context + */ +.uk-slidenav-position { + position: relative; +} +/* + * Center vertically + */ +.uk-slidenav-position .uk-slidenav { + display: none; + position: absolute; + top: 50%; + z-index: 1; + margin-top: -30px; +} +.uk-slidenav-position:hover .uk-slidenav { + display: block; +} +.uk-slidenav-position .uk-slidenav-previous { + left: 20px; +} +.uk-slidenav-position .uk-slidenav-next { + right: 20px; +} +/* Modifier: `uk-slidenav-contrast` + ========================================================================== */ +.uk-slidenav-contrast { + color: rgba(255, 255, 255, 0.5); +} +/* + * Hover + * 1. Apply hover style also to focus state + */ +.uk-slidenav-contrast:hover, +.uk-slidenav-contrast:focus { + color: rgba(255, 255, 255, 0.7); +} +/* Active */ +.uk-slidenav-contrast:active { + color: rgba(255, 255, 255, 0.9); +} diff --git a/bower_components/uikit/css/components/slidenav.gradient.css b/bower_components/uikit/css/components/slidenav.gradient.css new file mode 100644 index 0000000..c8f85ef --- /dev/null +++ b/bower_components/uikit/css/components/slidenav.gradient.css @@ -0,0 +1,98 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Slidenav + ========================================================================== */ +/* + * 1. Required for `a` elements + * 2. Dimension + * 3. Style + */ +.uk-slidenav { + /* 1 */ + display: inline-block; + /* 2 */ + box-sizing: border-box; + width: 60px; + height: 60px; + /* 3 */ + line-height: 60px; + color: rgba(50, 50, 50, 0.4); + font-size: 60px; + text-align: center; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + * 4. Style + */ +.uk-slidenav:hover, +.uk-slidenav:focus { + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + /* 4 */ + color: rgba(50, 50, 50, 0.7); + cursor: pointer; +} +/* Active */ +.uk-slidenav:active { + color: rgba(50, 50, 50, 0.9); +} +/* + * Icons + */ +.uk-slidenav-previous:before { + content: "\f104"; + font-family: FontAwesome; +} +.uk-slidenav-next:before { + content: "\f105"; + font-family: FontAwesome; +} +/* Sub-object: `uk-slidenav-position` + ========================================================================== */ +/* + * Create position context + */ +.uk-slidenav-position { + position: relative; +} +/* + * Center vertically + */ +.uk-slidenav-position .uk-slidenav { + display: none; + position: absolute; + top: 50%; + z-index: 1; + margin-top: -30px; +} +.uk-slidenav-position:hover .uk-slidenav { + display: block; +} +.uk-slidenav-position .uk-slidenav-previous { + left: 20px; +} +.uk-slidenav-position .uk-slidenav-next { + right: 20px; +} +/* Modifier: `uk-slidenav-contrast` + ========================================================================== */ +.uk-slidenav-contrast { + color: rgba(255, 255, 255, 0.5); +} +/* + * Hover + * 1. Apply hover style also to focus state + */ +.uk-slidenav-contrast:hover, +.uk-slidenav-contrast:focus { + color: rgba(255, 255, 255, 0.7); +} +/* Active */ +.uk-slidenav-contrast:active { + color: rgba(255, 255, 255, 0.9); +} diff --git a/bower_components/uikit/css/components/slidenav.gradient.min.css b/bower_components/uikit/css/components/slidenav.gradient.min.css new file mode 100644 index 0000000..c94a2f8 --- /dev/null +++ b/bower_components/uikit/css/components/slidenav.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-slidenav{display:inline-block;box-sizing:border-box;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-slidenav:focus,.uk-slidenav:hover{outline:0;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:focus,.uk-slidenav-contrast:hover{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)} \ No newline at end of file diff --git a/bower_components/uikit/css/components/slidenav.min.css b/bower_components/uikit/css/components/slidenav.min.css new file mode 100644 index 0000000..c94a2f8 --- /dev/null +++ b/bower_components/uikit/css/components/slidenav.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-slidenav{display:inline-block;box-sizing:border-box;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-slidenav:focus,.uk-slidenav:hover{outline:0;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:focus,.uk-slidenav-contrast:hover{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)} \ No newline at end of file diff --git a/bower_components/uikit/css/components/slider.almost-flat.css b/bower_components/uikit/css/components/slider.almost-flat.css new file mode 100644 index 0000000..d56b79b --- /dev/null +++ b/bower_components/uikit/css/components/slider.almost-flat.css @@ -0,0 +1,94 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Slider + ========================================================================== */ +/* + * RTL Compatibility + */ +[data-uk-slider] { + direction: ltr; +} +html[dir="rtl"] .uk-slider > * { + direction: rtl; +} +/* + * 1. Create position context + * 2. Create stacking context to prevent z-index issues with other components + * 3. Deactivate browser history navigation in IE11 + */ +.uk-slider { + /* 1 */ + position: relative; + /* 2 */ + z-index: 0; + /* 3 */ + touch-action: pan-y; +} +/* + * 1. Reset list style without interfering with grid + */ +.uk-slider:not(.uk-grid) { + /* 1 */ + margin: 0; + padding: 0; + list-style: none; +} +/* + * Sub-object item + * 1. Position items above each other + */ +.uk-slider > * { + /* 1 */ + position: absolute; + top: 0; + left: 0; +} +/* + * Clip child elements + */ +.uk-slider-container { + overflow: hidden; +} +/* + * Dragged + */ +.uk-slider:not(.uk-drag) { + -webkit-transition: -webkit-transform 200ms linear; + transition: transform 200ms linear; +} +/* + * 1. Makes text unselectable + */ +.uk-slider.uk-drag { + cursor: col-resize; + /* 1 */ + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* + * 1. Prevents images and links from being dragged (default browser behavior) + * 2. Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ +.uk-slider a, +.uk-slider img { + /* 1 */ + -webkit-user-drag: none; + user-drag: none; + /* 2 */ + -webkit-touch-callout: none; +} +/* + * 1. Prevents images and links from being dragged in Firefox + */ +.uk-slider img { + pointer-events: none; +} +/* Modifier: `uk-slider-fullscreen` + ========================================================================== */ +.uk-slider-fullscreen, +.uk-slider-fullscreen > li { + height: 100vh; +} diff --git a/bower_components/uikit/css/components/slider.almost-flat.min.css b/bower_components/uikit/css/components/slider.almost-flat.min.css new file mode 100644 index 0000000..a252a94 --- /dev/null +++ b/bower_components/uikit/css/components/slider.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +[data-uk-slider]{direction:ltr}html[dir=rtl] .uk-slider>*{direction:rtl}.uk-slider{position:relative;z-index:0;touch-action:pan-y}.uk-slider:not(.uk-grid){margin:0;padding:0;list-style:none}.uk-slider>*{position:absolute;top:0;left:0}.uk-slider-container{overflow:hidden}.uk-slider:not(.uk-drag){-webkit-transition:-webkit-transform .2s linear;transition:transform .2s linear}.uk-slider.uk-drag{cursor:col-resize;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-slider a,.uk-slider img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}.uk-slider img{pointer-events:none}.uk-slider-fullscreen,.uk-slider-fullscreen>li{height:100vh} \ No newline at end of file diff --git a/bower_components/uikit/css/components/slider.css b/bower_components/uikit/css/components/slider.css new file mode 100644 index 0000000..d56b79b --- /dev/null +++ b/bower_components/uikit/css/components/slider.css @@ -0,0 +1,94 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Slider + ========================================================================== */ +/* + * RTL Compatibility + */ +[data-uk-slider] { + direction: ltr; +} +html[dir="rtl"] .uk-slider > * { + direction: rtl; +} +/* + * 1. Create position context + * 2. Create stacking context to prevent z-index issues with other components + * 3. Deactivate browser history navigation in IE11 + */ +.uk-slider { + /* 1 */ + position: relative; + /* 2 */ + z-index: 0; + /* 3 */ + touch-action: pan-y; +} +/* + * 1. Reset list style without interfering with grid + */ +.uk-slider:not(.uk-grid) { + /* 1 */ + margin: 0; + padding: 0; + list-style: none; +} +/* + * Sub-object item + * 1. Position items above each other + */ +.uk-slider > * { + /* 1 */ + position: absolute; + top: 0; + left: 0; +} +/* + * Clip child elements + */ +.uk-slider-container { + overflow: hidden; +} +/* + * Dragged + */ +.uk-slider:not(.uk-drag) { + -webkit-transition: -webkit-transform 200ms linear; + transition: transform 200ms linear; +} +/* + * 1. Makes text unselectable + */ +.uk-slider.uk-drag { + cursor: col-resize; + /* 1 */ + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* + * 1. Prevents images and links from being dragged (default browser behavior) + * 2. Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ +.uk-slider a, +.uk-slider img { + /* 1 */ + -webkit-user-drag: none; + user-drag: none; + /* 2 */ + -webkit-touch-callout: none; +} +/* + * 1. Prevents images and links from being dragged in Firefox + */ +.uk-slider img { + pointer-events: none; +} +/* Modifier: `uk-slider-fullscreen` + ========================================================================== */ +.uk-slider-fullscreen, +.uk-slider-fullscreen > li { + height: 100vh; +} diff --git a/bower_components/uikit/css/components/slider.gradient.css b/bower_components/uikit/css/components/slider.gradient.css new file mode 100644 index 0000000..d56b79b --- /dev/null +++ b/bower_components/uikit/css/components/slider.gradient.css @@ -0,0 +1,94 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Slider + ========================================================================== */ +/* + * RTL Compatibility + */ +[data-uk-slider] { + direction: ltr; +} +html[dir="rtl"] .uk-slider > * { + direction: rtl; +} +/* + * 1. Create position context + * 2. Create stacking context to prevent z-index issues with other components + * 3. Deactivate browser history navigation in IE11 + */ +.uk-slider { + /* 1 */ + position: relative; + /* 2 */ + z-index: 0; + /* 3 */ + touch-action: pan-y; +} +/* + * 1. Reset list style without interfering with grid + */ +.uk-slider:not(.uk-grid) { + /* 1 */ + margin: 0; + padding: 0; + list-style: none; +} +/* + * Sub-object item + * 1. Position items above each other + */ +.uk-slider > * { + /* 1 */ + position: absolute; + top: 0; + left: 0; +} +/* + * Clip child elements + */ +.uk-slider-container { + overflow: hidden; +} +/* + * Dragged + */ +.uk-slider:not(.uk-drag) { + -webkit-transition: -webkit-transform 200ms linear; + transition: transform 200ms linear; +} +/* + * 1. Makes text unselectable + */ +.uk-slider.uk-drag { + cursor: col-resize; + /* 1 */ + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* + * 1. Prevents images and links from being dragged (default browser behavior) + * 2. Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ +.uk-slider a, +.uk-slider img { + /* 1 */ + -webkit-user-drag: none; + user-drag: none; + /* 2 */ + -webkit-touch-callout: none; +} +/* + * 1. Prevents images and links from being dragged in Firefox + */ +.uk-slider img { + pointer-events: none; +} +/* Modifier: `uk-slider-fullscreen` + ========================================================================== */ +.uk-slider-fullscreen, +.uk-slider-fullscreen > li { + height: 100vh; +} diff --git a/bower_components/uikit/css/components/slider.gradient.min.css b/bower_components/uikit/css/components/slider.gradient.min.css new file mode 100644 index 0000000..a252a94 --- /dev/null +++ b/bower_components/uikit/css/components/slider.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +[data-uk-slider]{direction:ltr}html[dir=rtl] .uk-slider>*{direction:rtl}.uk-slider{position:relative;z-index:0;touch-action:pan-y}.uk-slider:not(.uk-grid){margin:0;padding:0;list-style:none}.uk-slider>*{position:absolute;top:0;left:0}.uk-slider-container{overflow:hidden}.uk-slider:not(.uk-drag){-webkit-transition:-webkit-transform .2s linear;transition:transform .2s linear}.uk-slider.uk-drag{cursor:col-resize;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-slider a,.uk-slider img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}.uk-slider img{pointer-events:none}.uk-slider-fullscreen,.uk-slider-fullscreen>li{height:100vh} \ No newline at end of file diff --git a/bower_components/uikit/css/components/slider.min.css b/bower_components/uikit/css/components/slider.min.css new file mode 100644 index 0000000..a252a94 --- /dev/null +++ b/bower_components/uikit/css/components/slider.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +[data-uk-slider]{direction:ltr}html[dir=rtl] .uk-slider>*{direction:rtl}.uk-slider{position:relative;z-index:0;touch-action:pan-y}.uk-slider:not(.uk-grid){margin:0;padding:0;list-style:none}.uk-slider>*{position:absolute;top:0;left:0}.uk-slider-container{overflow:hidden}.uk-slider:not(.uk-drag){-webkit-transition:-webkit-transform .2s linear;transition:transform .2s linear}.uk-slider.uk-drag{cursor:col-resize;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-slider a,.uk-slider img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}.uk-slider img{pointer-events:none}.uk-slider-fullscreen,.uk-slider-fullscreen>li{height:100vh} \ No newline at end of file diff --git a/bower_components/uikit/css/components/slideshow.almost-flat.css b/bower_components/uikit/css/components/slideshow.almost-flat.css new file mode 100644 index 0000000..945c35f --- /dev/null +++ b/bower_components/uikit/css/components/slideshow.almost-flat.css @@ -0,0 +1,144 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Slideshow + ========================================================================== */ +/* + * 1. Create position context + * 2. Create stacking context to prevent z-index issues with other components + * 3. Set width because child elements are positioned absolute. Height is set via JS + * 4. Reset list style + * 5. Clip child elements + * 6. Deactivate browser history navigation in IE11 + */ +.uk-slideshow { + /* 1 */ + position: relative; + /* 2 */ + z-index: 0; + /* 3 */ + width: 100%; + /* 4 */ + margin: 0; + padding: 0; + list-style: none; + /* 5 */ + overflow: hidden; + /* 6 */ + touch-action: pan-y; +} +/* + * Sub-object item + * 1. Position items above each other + * 2. Expand to parent container width + * 3. Hide by default + */ +.uk-slideshow > li { + /* 1 */ + position: absolute; + top: 0; + left: 0; + /* 2 */ + width: 100%; + /* 3 */ + opacity: 0; +} +/* + * Active + * 1. Stack at first + * 2. Show slide + */ +.uk-slideshow > .uk-active { + /* 1 */ + z-index: 10; + /* 2 */ + opacity: 1; +} +/* + * Hide default images which is only relevant to keep existing proportions + */ +.uk-slideshow > li > img { + visibility: hidden; +} +/* + * Pointer for controls + */ +[data-uk-slideshow-slide] { + cursor: pointer; +} +/* Modifier: `uk-slideshow-fullscreen` + ========================================================================== */ +.uk-slideshow-fullscreen, +.uk-slideshow-fullscreen > li { + height: 100vh; +} +/* Animations + ========================================================================== */ +/* + * Fade + */ +.uk-slideshow-fade-in { + -webkit-animation: uk-fade 0.5s linear; + animation: uk-fade 0.5s linear; +} +.uk-slideshow-fade-out { + -webkit-animation: uk-fade 0.5s linear reverse; + animation: uk-fade 0.5s linear reverse; +} +/* + * Scroll + */ +.uk-slideshow-scroll-forward-in { + -webkit-animation: uk-slide-right 0.5s ease-in-out; + animation: uk-slide-right 0.5s ease-in-out; +} +.uk-slideshow-scroll-forward-out { + -webkit-animation: uk-slide-left 0.5s ease-in-out reverse; + animation: uk-slide-left 0.5s ease-in-out reverse; +} +.uk-slideshow-scroll-backward-in { + -webkit-animation: uk-slide-left 0.5s ease-in-out; + animation: uk-slide-left 0.5s ease-in-out; +} +.uk-slideshow-scroll-backward-out { + -webkit-animation: uk-slide-right 0.5s ease-in-out reverse; + animation: uk-slide-right 0.5s ease-in-out reverse; +} +/* + * Scale + */ +.uk-slideshow-scale-out { + -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse; + animation: uk-fade-scale-15 0.5s ease-in-out reverse; +} +/* + * Swipe + */ +.uk-slideshow-swipe-forward-in { + -webkit-animation: uk-slide-left-33 0.5s ease-in-out; + animation: uk-slide-left-33 0.5s ease-in-out; +} +.uk-slideshow-swipe-forward-out { + -webkit-animation: uk-slide-left 0.5s ease-in-out reverse; + animation: uk-slide-left 0.5s ease-in-out reverse; +} +.uk-slideshow-swipe-backward-in { + -webkit-animation: uk-slide-right-33 0.5s ease-in-out; + animation: uk-slide-right-33 0.5s ease-in-out; +} +.uk-slideshow-swipe-backward-out { + -webkit-animation: uk-slide-right 0.5s ease-in-out reverse; + animation: uk-slide-right 0.5s ease-in-out reverse; +} +.uk-slideshow-swipe-forward-in:before, +.uk-slideshow-swipe-backward-in:before { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 1; + background: rgba(0, 0, 0, 0.6); + -webkit-animation: uk-fade 0.5s ease-in-out reverse; + animation: uk-fade 0.5s ease-in-out reverse; +} diff --git a/bower_components/uikit/css/components/slideshow.almost-flat.min.css b/bower_components/uikit/css/components/slideshow.almost-flat.min.css new file mode 100644 index 0000000..bc7bfbe --- /dev/null +++ b/bower_components/uikit/css/components/slideshow.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-slideshow{position:relative;z-index:0;width:100%;margin:0;padding:0;list-style:none;overflow:hidden;touch-action:pan-y}.uk-slideshow>li{position:absolute;top:0;left:0;width:100%;opacity:0}.uk-slideshow>.uk-active{z-index:10;opacity:1}.uk-slideshow>li>img{visibility:hidden}[data-uk-slideshow-slide]{cursor:pointer}.uk-slideshow-fullscreen,.uk-slideshow-fullscreen>li{height:100vh}.uk-slideshow-fade-in{-webkit-animation:uk-fade .5s linear;animation:uk-fade .5s linear}.uk-slideshow-fade-out{-webkit-animation:uk-fade .5s linear reverse;animation:uk-fade .5s linear reverse}.uk-slideshow-scroll-forward-in{-webkit-animation:uk-slide-right .5s ease-in-out;animation:uk-slide-right .5s ease-in-out}.uk-slideshow-scroll-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-scroll-backward-in{-webkit-animation:uk-slide-left .5s ease-in-out;animation:uk-slide-left .5s ease-in-out}.uk-slideshow-scroll-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-scale-out{-webkit-animation:uk-fade-scale-15 .5s ease-in-out reverse;animation:uk-fade-scale-15 .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in{-webkit-animation:uk-slide-left-33 .5s ease-in-out;animation:uk-slide-left-33 .5s ease-in-out}.uk-slideshow-swipe-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in{-webkit-animation:uk-slide-right-33 .5s ease-in-out;animation:uk-slide-right-33 .5s ease-in-out}.uk-slideshow-swipe-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in:before,.uk-slideshow-swipe-forward-in:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(0,0,0,.6);-webkit-animation:uk-fade .5s ease-in-out reverse;animation:uk-fade .5s ease-in-out reverse} \ No newline at end of file diff --git a/bower_components/uikit/css/components/slideshow.css b/bower_components/uikit/css/components/slideshow.css new file mode 100644 index 0000000..945c35f --- /dev/null +++ b/bower_components/uikit/css/components/slideshow.css @@ -0,0 +1,144 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Slideshow + ========================================================================== */ +/* + * 1. Create position context + * 2. Create stacking context to prevent z-index issues with other components + * 3. Set width because child elements are positioned absolute. Height is set via JS + * 4. Reset list style + * 5. Clip child elements + * 6. Deactivate browser history navigation in IE11 + */ +.uk-slideshow { + /* 1 */ + position: relative; + /* 2 */ + z-index: 0; + /* 3 */ + width: 100%; + /* 4 */ + margin: 0; + padding: 0; + list-style: none; + /* 5 */ + overflow: hidden; + /* 6 */ + touch-action: pan-y; +} +/* + * Sub-object item + * 1. Position items above each other + * 2. Expand to parent container width + * 3. Hide by default + */ +.uk-slideshow > li { + /* 1 */ + position: absolute; + top: 0; + left: 0; + /* 2 */ + width: 100%; + /* 3 */ + opacity: 0; +} +/* + * Active + * 1. Stack at first + * 2. Show slide + */ +.uk-slideshow > .uk-active { + /* 1 */ + z-index: 10; + /* 2 */ + opacity: 1; +} +/* + * Hide default images which is only relevant to keep existing proportions + */ +.uk-slideshow > li > img { + visibility: hidden; +} +/* + * Pointer for controls + */ +[data-uk-slideshow-slide] { + cursor: pointer; +} +/* Modifier: `uk-slideshow-fullscreen` + ========================================================================== */ +.uk-slideshow-fullscreen, +.uk-slideshow-fullscreen > li { + height: 100vh; +} +/* Animations + ========================================================================== */ +/* + * Fade + */ +.uk-slideshow-fade-in { + -webkit-animation: uk-fade 0.5s linear; + animation: uk-fade 0.5s linear; +} +.uk-slideshow-fade-out { + -webkit-animation: uk-fade 0.5s linear reverse; + animation: uk-fade 0.5s linear reverse; +} +/* + * Scroll + */ +.uk-slideshow-scroll-forward-in { + -webkit-animation: uk-slide-right 0.5s ease-in-out; + animation: uk-slide-right 0.5s ease-in-out; +} +.uk-slideshow-scroll-forward-out { + -webkit-animation: uk-slide-left 0.5s ease-in-out reverse; + animation: uk-slide-left 0.5s ease-in-out reverse; +} +.uk-slideshow-scroll-backward-in { + -webkit-animation: uk-slide-left 0.5s ease-in-out; + animation: uk-slide-left 0.5s ease-in-out; +} +.uk-slideshow-scroll-backward-out { + -webkit-animation: uk-slide-right 0.5s ease-in-out reverse; + animation: uk-slide-right 0.5s ease-in-out reverse; +} +/* + * Scale + */ +.uk-slideshow-scale-out { + -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse; + animation: uk-fade-scale-15 0.5s ease-in-out reverse; +} +/* + * Swipe + */ +.uk-slideshow-swipe-forward-in { + -webkit-animation: uk-slide-left-33 0.5s ease-in-out; + animation: uk-slide-left-33 0.5s ease-in-out; +} +.uk-slideshow-swipe-forward-out { + -webkit-animation: uk-slide-left 0.5s ease-in-out reverse; + animation: uk-slide-left 0.5s ease-in-out reverse; +} +.uk-slideshow-swipe-backward-in { + -webkit-animation: uk-slide-right-33 0.5s ease-in-out; + animation: uk-slide-right-33 0.5s ease-in-out; +} +.uk-slideshow-swipe-backward-out { + -webkit-animation: uk-slide-right 0.5s ease-in-out reverse; + animation: uk-slide-right 0.5s ease-in-out reverse; +} +.uk-slideshow-swipe-forward-in:before, +.uk-slideshow-swipe-backward-in:before { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 1; + background: rgba(0, 0, 0, 0.6); + -webkit-animation: uk-fade 0.5s ease-in-out reverse; + animation: uk-fade 0.5s ease-in-out reverse; +} diff --git a/bower_components/uikit/css/components/slideshow.gradient.css b/bower_components/uikit/css/components/slideshow.gradient.css new file mode 100644 index 0000000..945c35f --- /dev/null +++ b/bower_components/uikit/css/components/slideshow.gradient.css @@ -0,0 +1,144 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Slideshow + ========================================================================== */ +/* + * 1. Create position context + * 2. Create stacking context to prevent z-index issues with other components + * 3. Set width because child elements are positioned absolute. Height is set via JS + * 4. Reset list style + * 5. Clip child elements + * 6. Deactivate browser history navigation in IE11 + */ +.uk-slideshow { + /* 1 */ + position: relative; + /* 2 */ + z-index: 0; + /* 3 */ + width: 100%; + /* 4 */ + margin: 0; + padding: 0; + list-style: none; + /* 5 */ + overflow: hidden; + /* 6 */ + touch-action: pan-y; +} +/* + * Sub-object item + * 1. Position items above each other + * 2. Expand to parent container width + * 3. Hide by default + */ +.uk-slideshow > li { + /* 1 */ + position: absolute; + top: 0; + left: 0; + /* 2 */ + width: 100%; + /* 3 */ + opacity: 0; +} +/* + * Active + * 1. Stack at first + * 2. Show slide + */ +.uk-slideshow > .uk-active { + /* 1 */ + z-index: 10; + /* 2 */ + opacity: 1; +} +/* + * Hide default images which is only relevant to keep existing proportions + */ +.uk-slideshow > li > img { + visibility: hidden; +} +/* + * Pointer for controls + */ +[data-uk-slideshow-slide] { + cursor: pointer; +} +/* Modifier: `uk-slideshow-fullscreen` + ========================================================================== */ +.uk-slideshow-fullscreen, +.uk-slideshow-fullscreen > li { + height: 100vh; +} +/* Animations + ========================================================================== */ +/* + * Fade + */ +.uk-slideshow-fade-in { + -webkit-animation: uk-fade 0.5s linear; + animation: uk-fade 0.5s linear; +} +.uk-slideshow-fade-out { + -webkit-animation: uk-fade 0.5s linear reverse; + animation: uk-fade 0.5s linear reverse; +} +/* + * Scroll + */ +.uk-slideshow-scroll-forward-in { + -webkit-animation: uk-slide-right 0.5s ease-in-out; + animation: uk-slide-right 0.5s ease-in-out; +} +.uk-slideshow-scroll-forward-out { + -webkit-animation: uk-slide-left 0.5s ease-in-out reverse; + animation: uk-slide-left 0.5s ease-in-out reverse; +} +.uk-slideshow-scroll-backward-in { + -webkit-animation: uk-slide-left 0.5s ease-in-out; + animation: uk-slide-left 0.5s ease-in-out; +} +.uk-slideshow-scroll-backward-out { + -webkit-animation: uk-slide-right 0.5s ease-in-out reverse; + animation: uk-slide-right 0.5s ease-in-out reverse; +} +/* + * Scale + */ +.uk-slideshow-scale-out { + -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse; + animation: uk-fade-scale-15 0.5s ease-in-out reverse; +} +/* + * Swipe + */ +.uk-slideshow-swipe-forward-in { + -webkit-animation: uk-slide-left-33 0.5s ease-in-out; + animation: uk-slide-left-33 0.5s ease-in-out; +} +.uk-slideshow-swipe-forward-out { + -webkit-animation: uk-slide-left 0.5s ease-in-out reverse; + animation: uk-slide-left 0.5s ease-in-out reverse; +} +.uk-slideshow-swipe-backward-in { + -webkit-animation: uk-slide-right-33 0.5s ease-in-out; + animation: uk-slide-right-33 0.5s ease-in-out; +} +.uk-slideshow-swipe-backward-out { + -webkit-animation: uk-slide-right 0.5s ease-in-out reverse; + animation: uk-slide-right 0.5s ease-in-out reverse; +} +.uk-slideshow-swipe-forward-in:before, +.uk-slideshow-swipe-backward-in:before { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 1; + background: rgba(0, 0, 0, 0.6); + -webkit-animation: uk-fade 0.5s ease-in-out reverse; + animation: uk-fade 0.5s ease-in-out reverse; +} diff --git a/bower_components/uikit/css/components/slideshow.gradient.min.css b/bower_components/uikit/css/components/slideshow.gradient.min.css new file mode 100644 index 0000000..bc7bfbe --- /dev/null +++ b/bower_components/uikit/css/components/slideshow.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-slideshow{position:relative;z-index:0;width:100%;margin:0;padding:0;list-style:none;overflow:hidden;touch-action:pan-y}.uk-slideshow>li{position:absolute;top:0;left:0;width:100%;opacity:0}.uk-slideshow>.uk-active{z-index:10;opacity:1}.uk-slideshow>li>img{visibility:hidden}[data-uk-slideshow-slide]{cursor:pointer}.uk-slideshow-fullscreen,.uk-slideshow-fullscreen>li{height:100vh}.uk-slideshow-fade-in{-webkit-animation:uk-fade .5s linear;animation:uk-fade .5s linear}.uk-slideshow-fade-out{-webkit-animation:uk-fade .5s linear reverse;animation:uk-fade .5s linear reverse}.uk-slideshow-scroll-forward-in{-webkit-animation:uk-slide-right .5s ease-in-out;animation:uk-slide-right .5s ease-in-out}.uk-slideshow-scroll-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-scroll-backward-in{-webkit-animation:uk-slide-left .5s ease-in-out;animation:uk-slide-left .5s ease-in-out}.uk-slideshow-scroll-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-scale-out{-webkit-animation:uk-fade-scale-15 .5s ease-in-out reverse;animation:uk-fade-scale-15 .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in{-webkit-animation:uk-slide-left-33 .5s ease-in-out;animation:uk-slide-left-33 .5s ease-in-out}.uk-slideshow-swipe-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in{-webkit-animation:uk-slide-right-33 .5s ease-in-out;animation:uk-slide-right-33 .5s ease-in-out}.uk-slideshow-swipe-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in:before,.uk-slideshow-swipe-forward-in:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(0,0,0,.6);-webkit-animation:uk-fade .5s ease-in-out reverse;animation:uk-fade .5s ease-in-out reverse} \ No newline at end of file diff --git a/bower_components/uikit/css/components/slideshow.min.css b/bower_components/uikit/css/components/slideshow.min.css new file mode 100644 index 0000000..bc7bfbe --- /dev/null +++ b/bower_components/uikit/css/components/slideshow.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-slideshow{position:relative;z-index:0;width:100%;margin:0;padding:0;list-style:none;overflow:hidden;touch-action:pan-y}.uk-slideshow>li{position:absolute;top:0;left:0;width:100%;opacity:0}.uk-slideshow>.uk-active{z-index:10;opacity:1}.uk-slideshow>li>img{visibility:hidden}[data-uk-slideshow-slide]{cursor:pointer}.uk-slideshow-fullscreen,.uk-slideshow-fullscreen>li{height:100vh}.uk-slideshow-fade-in{-webkit-animation:uk-fade .5s linear;animation:uk-fade .5s linear}.uk-slideshow-fade-out{-webkit-animation:uk-fade .5s linear reverse;animation:uk-fade .5s linear reverse}.uk-slideshow-scroll-forward-in{-webkit-animation:uk-slide-right .5s ease-in-out;animation:uk-slide-right .5s ease-in-out}.uk-slideshow-scroll-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-scroll-backward-in{-webkit-animation:uk-slide-left .5s ease-in-out;animation:uk-slide-left .5s ease-in-out}.uk-slideshow-scroll-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-scale-out{-webkit-animation:uk-fade-scale-15 .5s ease-in-out reverse;animation:uk-fade-scale-15 .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in{-webkit-animation:uk-slide-left-33 .5s ease-in-out;animation:uk-slide-left-33 .5s ease-in-out}.uk-slideshow-swipe-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in{-webkit-animation:uk-slide-right-33 .5s ease-in-out;animation:uk-slide-right-33 .5s ease-in-out}.uk-slideshow-swipe-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in:before,.uk-slideshow-swipe-forward-in:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(0,0,0,.6);-webkit-animation:uk-fade .5s ease-in-out reverse;animation:uk-fade .5s ease-in-out reverse} \ No newline at end of file diff --git a/bower_components/uikit/css/components/sortable.almost-flat.css b/bower_components/uikit/css/components/sortable.almost-flat.css new file mode 100644 index 0000000..2ae3cfe --- /dev/null +++ b/bower_components/uikit/css/components/sortable.almost-flat.css @@ -0,0 +1,66 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Sortable + ========================================================================== */ +.uk-sortable { + position: relative; +} +/* + * Deactivate browser touch actions in IE11 + */ +.uk-sortable > * { + touch-action: none; +} +/* + * Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ +.uk-sortable a, +.uk-sortable img { + -webkit-touch-callout: none; +} +/* + * Remove margin from the last-child + */ +.uk-sortable > :last-child { + margin-bottom: 0; +} +/* Sub-modifier `uk-sortable-dragged` + ========================================================================== */ +.uk-sortable-dragged { + position: absolute; + z-index: 1050; + pointer-events: none; +} +/* Sub-modifier `uk-sortable-placeholder` + ========================================================================== */ +.uk-sortable-placeholder { + opacity: 0; +} +/* Empty List + ========================================================================== */ +.uk-sortable-empty { + min-height: 30px; +} +/* Sub-object `uk-sortable-handle` + ========================================================================== */ +/* + * Deactivate browser touch actions in IE11 + */ +.uk-sortable-handle { + touch-action: none; +} +/* Hover */ +.uk-sortable-handle:hover { + cursor: move; +} +/* Sub-object `uk-sortable-moving` + ========================================================================== */ +.uk-sortable-moving, +.uk-sortable-moving * { + cursor: move; +} +/* Fixes dragging items over iframes */ +.uk-sortable-moving iframe { + pointer-events: none; +} diff --git a/bower_components/uikit/css/components/sortable.almost-flat.min.css b/bower_components/uikit/css/components/sortable.almost-flat.min.css new file mode 100644 index 0000000..fae82eb --- /dev/null +++ b/bower_components/uikit/css/components/sortable.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-sortable{position:relative}.uk-sortable>*{touch-action:none}.uk-sortable a,.uk-sortable img{-webkit-touch-callout:none}.uk-sortable>:last-child{margin-bottom:0}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-empty{min-height:30px}.uk-sortable-handle{touch-action:none}.uk-sortable-handle:hover{cursor:move}.uk-sortable-moving,.uk-sortable-moving *{cursor:move}.uk-sortable-moving iframe{pointer-events:none} \ No newline at end of file diff --git a/bower_components/uikit/css/components/sortable.css b/bower_components/uikit/css/components/sortable.css new file mode 100644 index 0000000..2ae3cfe --- /dev/null +++ b/bower_components/uikit/css/components/sortable.css @@ -0,0 +1,66 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Sortable + ========================================================================== */ +.uk-sortable { + position: relative; +} +/* + * Deactivate browser touch actions in IE11 + */ +.uk-sortable > * { + touch-action: none; +} +/* + * Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ +.uk-sortable a, +.uk-sortable img { + -webkit-touch-callout: none; +} +/* + * Remove margin from the last-child + */ +.uk-sortable > :last-child { + margin-bottom: 0; +} +/* Sub-modifier `uk-sortable-dragged` + ========================================================================== */ +.uk-sortable-dragged { + position: absolute; + z-index: 1050; + pointer-events: none; +} +/* Sub-modifier `uk-sortable-placeholder` + ========================================================================== */ +.uk-sortable-placeholder { + opacity: 0; +} +/* Empty List + ========================================================================== */ +.uk-sortable-empty { + min-height: 30px; +} +/* Sub-object `uk-sortable-handle` + ========================================================================== */ +/* + * Deactivate browser touch actions in IE11 + */ +.uk-sortable-handle { + touch-action: none; +} +/* Hover */ +.uk-sortable-handle:hover { + cursor: move; +} +/* Sub-object `uk-sortable-moving` + ========================================================================== */ +.uk-sortable-moving, +.uk-sortable-moving * { + cursor: move; +} +/* Fixes dragging items over iframes */ +.uk-sortable-moving iframe { + pointer-events: none; +} diff --git a/bower_components/uikit/css/components/sortable.gradient.css b/bower_components/uikit/css/components/sortable.gradient.css new file mode 100644 index 0000000..2ae3cfe --- /dev/null +++ b/bower_components/uikit/css/components/sortable.gradient.css @@ -0,0 +1,66 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Sortable + ========================================================================== */ +.uk-sortable { + position: relative; +} +/* + * Deactivate browser touch actions in IE11 + */ +.uk-sortable > * { + touch-action: none; +} +/* + * Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ +.uk-sortable a, +.uk-sortable img { + -webkit-touch-callout: none; +} +/* + * Remove margin from the last-child + */ +.uk-sortable > :last-child { + margin-bottom: 0; +} +/* Sub-modifier `uk-sortable-dragged` + ========================================================================== */ +.uk-sortable-dragged { + position: absolute; + z-index: 1050; + pointer-events: none; +} +/* Sub-modifier `uk-sortable-placeholder` + ========================================================================== */ +.uk-sortable-placeholder { + opacity: 0; +} +/* Empty List + ========================================================================== */ +.uk-sortable-empty { + min-height: 30px; +} +/* Sub-object `uk-sortable-handle` + ========================================================================== */ +/* + * Deactivate browser touch actions in IE11 + */ +.uk-sortable-handle { + touch-action: none; +} +/* Hover */ +.uk-sortable-handle:hover { + cursor: move; +} +/* Sub-object `uk-sortable-moving` + ========================================================================== */ +.uk-sortable-moving, +.uk-sortable-moving * { + cursor: move; +} +/* Fixes dragging items over iframes */ +.uk-sortable-moving iframe { + pointer-events: none; +} diff --git a/bower_components/uikit/css/components/sortable.gradient.min.css b/bower_components/uikit/css/components/sortable.gradient.min.css new file mode 100644 index 0000000..fae82eb --- /dev/null +++ b/bower_components/uikit/css/components/sortable.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-sortable{position:relative}.uk-sortable>*{touch-action:none}.uk-sortable a,.uk-sortable img{-webkit-touch-callout:none}.uk-sortable>:last-child{margin-bottom:0}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-empty{min-height:30px}.uk-sortable-handle{touch-action:none}.uk-sortable-handle:hover{cursor:move}.uk-sortable-moving,.uk-sortable-moving *{cursor:move}.uk-sortable-moving iframe{pointer-events:none} \ No newline at end of file diff --git a/bower_components/uikit/css/components/sortable.min.css b/bower_components/uikit/css/components/sortable.min.css new file mode 100644 index 0000000..fae82eb --- /dev/null +++ b/bower_components/uikit/css/components/sortable.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-sortable{position:relative}.uk-sortable>*{touch-action:none}.uk-sortable a,.uk-sortable img{-webkit-touch-callout:none}.uk-sortable>:last-child{margin-bottom:0}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-empty{min-height:30px}.uk-sortable-handle{touch-action:none}.uk-sortable-handle:hover{cursor:move}.uk-sortable-moving,.uk-sortable-moving *{cursor:move}.uk-sortable-moving iframe{pointer-events:none} \ No newline at end of file diff --git a/bower_components/uikit/css/components/sticky.almost-flat.css b/bower_components/uikit/css/components/sticky.almost-flat.css new file mode 100644 index 0000000..beec755 --- /dev/null +++ b/bower_components/uikit/css/components/sticky.almost-flat.css @@ -0,0 +1,26 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Sticky + ========================================================================== */ +/* + * 1. More robust if padding and border are used + * 2. Enable hardware acceleration for iOS browsers, resolves scrolling issue + */ +[data-uk-sticky].uk-active { + z-index: 980; + /* 1 */ + box-sizing: border-box; + /* 2 */ + -webkit-backface-visibility: hidden; +} +/* + * Faster animations + */ +[data-uk-sticky][class*='uk-animation-'] { + -webkit-animation-duration: 0.2s; + animation-duration: 0.2s; +} +[data-uk-sticky].uk-animation-reverse { + -webkit-animation-duration: 0.2s; + animation-duration: 0.2s; +} diff --git a/bower_components/uikit/css/components/sticky.almost-flat.min.css b/bower_components/uikit/css/components/sticky.almost-flat.min.css new file mode 100644 index 0000000..caf6462 --- /dev/null +++ b/bower_components/uikit/css/components/sticky.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +[data-uk-sticky].uk-active{z-index:980;box-sizing:border-box;-webkit-backface-visibility:hidden}[data-uk-sticky][class*=uk-animation-]{-webkit-animation-duration:.2s;animation-duration:.2s}[data-uk-sticky].uk-animation-reverse{-webkit-animation-duration:.2s;animation-duration:.2s} \ No newline at end of file diff --git a/bower_components/uikit/css/components/sticky.css b/bower_components/uikit/css/components/sticky.css new file mode 100644 index 0000000..beec755 --- /dev/null +++ b/bower_components/uikit/css/components/sticky.css @@ -0,0 +1,26 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Sticky + ========================================================================== */ +/* + * 1. More robust if padding and border are used + * 2. Enable hardware acceleration for iOS browsers, resolves scrolling issue + */ +[data-uk-sticky].uk-active { + z-index: 980; + /* 1 */ + box-sizing: border-box; + /* 2 */ + -webkit-backface-visibility: hidden; +} +/* + * Faster animations + */ +[data-uk-sticky][class*='uk-animation-'] { + -webkit-animation-duration: 0.2s; + animation-duration: 0.2s; +} +[data-uk-sticky].uk-animation-reverse { + -webkit-animation-duration: 0.2s; + animation-duration: 0.2s; +} diff --git a/bower_components/uikit/css/components/sticky.gradient.css b/bower_components/uikit/css/components/sticky.gradient.css new file mode 100644 index 0000000..beec755 --- /dev/null +++ b/bower_components/uikit/css/components/sticky.gradient.css @@ -0,0 +1,26 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Sticky + ========================================================================== */ +/* + * 1. More robust if padding and border are used + * 2. Enable hardware acceleration for iOS browsers, resolves scrolling issue + */ +[data-uk-sticky].uk-active { + z-index: 980; + /* 1 */ + box-sizing: border-box; + /* 2 */ + -webkit-backface-visibility: hidden; +} +/* + * Faster animations + */ +[data-uk-sticky][class*='uk-animation-'] { + -webkit-animation-duration: 0.2s; + animation-duration: 0.2s; +} +[data-uk-sticky].uk-animation-reverse { + -webkit-animation-duration: 0.2s; + animation-duration: 0.2s; +} diff --git a/bower_components/uikit/css/components/sticky.gradient.min.css b/bower_components/uikit/css/components/sticky.gradient.min.css new file mode 100644 index 0000000..caf6462 --- /dev/null +++ b/bower_components/uikit/css/components/sticky.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +[data-uk-sticky].uk-active{z-index:980;box-sizing:border-box;-webkit-backface-visibility:hidden}[data-uk-sticky][class*=uk-animation-]{-webkit-animation-duration:.2s;animation-duration:.2s}[data-uk-sticky].uk-animation-reverse{-webkit-animation-duration:.2s;animation-duration:.2s} \ No newline at end of file diff --git a/bower_components/uikit/css/components/sticky.min.css b/bower_components/uikit/css/components/sticky.min.css new file mode 100644 index 0000000..caf6462 --- /dev/null +++ b/bower_components/uikit/css/components/sticky.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +[data-uk-sticky].uk-active{z-index:980;box-sizing:border-box;-webkit-backface-visibility:hidden}[data-uk-sticky][class*=uk-animation-]{-webkit-animation-duration:.2s;animation-duration:.2s}[data-uk-sticky].uk-animation-reverse{-webkit-animation-duration:.2s;animation-duration:.2s} \ No newline at end of file diff --git a/bower_components/uikit/css/components/tooltip.almost-flat.css b/bower_components/uikit/css/components/tooltip.almost-flat.css new file mode 100644 index 0000000..a79fdfc --- /dev/null +++ b/bower_components/uikit/css/components/tooltip.almost-flat.css @@ -0,0 +1,118 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Tooltip + ========================================================================== */ +/* + * 1. Hide by default + * 2. Set fixed position + * 3. Set dimensions + * 4. Set style + */ +.uk-tooltip { + /* 1 */ + display: none; + /* 2 */ + position: absolute; + z-index: 1030; + /* 3 */ + box-sizing: border-box; + max-width: 200px; + padding: 5px 8px; + /* 4 */ + background: #333; + color: rgba(255, 255, 255, 0.7); + font-size: 12px; + line-height: 18px; + border-radius: 3px; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); +} +/* Triangle + ========================================================================== */ +/* + * 1. Dashed is less antialised than solid + */ +.uk-tooltip:after { + content: ""; + display: block; + position: absolute; + width: 0; + height: 0; + /* 1 */ + border: 5px dashed #333; +} +/* Direction modifiers + ========================================================================== */ +/* + * Top + */ +.uk-tooltip-top:after, +.uk-tooltip-top-left:after, +.uk-tooltip-top-right:after { + bottom: -5px; + border-top-style: solid; + border-bottom: none; + border-left-color: transparent; + border-right-color: transparent; + border-top-color: #333; +} +/* + * Bottom + */ +.uk-tooltip-bottom:after, +.uk-tooltip-bottom-left:after, +.uk-tooltip-bottom-right:after { + top: -5px; + border-bottom-style: solid; + border-top: none; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-color: #333; +} +/* + * Top/Bottom center + */ +.uk-tooltip-top:after, +.uk-tooltip-bottom:after { + left: 50%; + margin-left: -5px; +} +/* + * Top/Bottom left + */ +.uk-tooltip-top-left:after, +.uk-tooltip-bottom-left:after { + left: 10px; +} +/* + * Top/Bottom right + */ +.uk-tooltip-top-right:after, +.uk-tooltip-bottom-right:after { + right: 10px; +} +/* + * Left + */ +.uk-tooltip-left:after { + right: -5px; + top: 50%; + margin-top: -5px; + border-left-style: solid; + border-right: none; + border-top-color: transparent; + border-bottom-color: transparent; + border-left-color: #333; +} +/* + * Right + */ +.uk-tooltip-right:after { + left: -5px; + top: 50%; + margin-top: -5px; + border-right-style: solid; + border-left: none; + border-top-color: transparent; + border-bottom-color: transparent; + border-right-color: #333; +} diff --git a/bower_components/uikit/css/components/tooltip.almost-flat.min.css b/bower_components/uikit/css/components/tooltip.almost-flat.min.css new file mode 100644 index 0000000..d4297ce --- /dev/null +++ b/bower_components/uikit/css/components/tooltip.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-tooltip{display:none;position:absolute;z-index:1030;box-sizing:border-box;max-width:200px;padding:5px 8px;background:#333;color:rgba(255,255,255,.7);font-size:12px;line-height:18px;border-radius:3px;text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-tooltip:after{content:"";display:block;position:absolute;width:0;height:0;border:5px dashed #333}.uk-tooltip-top-left:after,.uk-tooltip-top-right:after,.uk-tooltip-top:after{bottom:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-color:#333}.uk-tooltip-bottom-left:after,.uk-tooltip-bottom-right:after,.uk-tooltip-bottom:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-bottom:after,.uk-tooltip-top:after{left:50%;margin-left:-5px}.uk-tooltip-bottom-left:after,.uk-tooltip-top-left:after{left:10px}.uk-tooltip-bottom-right:after,.uk-tooltip-top-right:after{right:10px}.uk-tooltip-left:after{right:-5px;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent;border-left-color:#333}.uk-tooltip-right:after{left:-5px;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent;border-right-color:#333} \ No newline at end of file diff --git a/bower_components/uikit/css/components/tooltip.css b/bower_components/uikit/css/components/tooltip.css new file mode 100644 index 0000000..3e09dd4 --- /dev/null +++ b/bower_components/uikit/css/components/tooltip.css @@ -0,0 +1,116 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Tooltip + ========================================================================== */ +/* + * 1. Hide by default + * 2. Set fixed position + * 3. Set dimensions + * 4. Set style + */ +.uk-tooltip { + /* 1 */ + display: none; + /* 2 */ + position: absolute; + z-index: 1030; + /* 3 */ + box-sizing: border-box; + max-width: 200px; + padding: 5px 8px; + /* 4 */ + background: #333; + color: rgba(255, 255, 255, 0.7); + font-size: 12px; + line-height: 18px; +} +/* Triangle + ========================================================================== */ +/* + * 1. Dashed is less antialised than solid + */ +.uk-tooltip:after { + content: ""; + display: block; + position: absolute; + width: 0; + height: 0; + /* 1 */ + border: 5px dashed #333; +} +/* Direction modifiers + ========================================================================== */ +/* + * Top + */ +.uk-tooltip-top:after, +.uk-tooltip-top-left:after, +.uk-tooltip-top-right:after { + bottom: -5px; + border-top-style: solid; + border-bottom: none; + border-left-color: transparent; + border-right-color: transparent; + border-top-color: #333; +} +/* + * Bottom + */ +.uk-tooltip-bottom:after, +.uk-tooltip-bottom-left:after, +.uk-tooltip-bottom-right:after { + top: -5px; + border-bottom-style: solid; + border-top: none; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-color: #333; +} +/* + * Top/Bottom center + */ +.uk-tooltip-top:after, +.uk-tooltip-bottom:after { + left: 50%; + margin-left: -5px; +} +/* + * Top/Bottom left + */ +.uk-tooltip-top-left:after, +.uk-tooltip-bottom-left:after { + left: 10px; +} +/* + * Top/Bottom right + */ +.uk-tooltip-top-right:after, +.uk-tooltip-bottom-right:after { + right: 10px; +} +/* + * Left + */ +.uk-tooltip-left:after { + right: -5px; + top: 50%; + margin-top: -5px; + border-left-style: solid; + border-right: none; + border-top-color: transparent; + border-bottom-color: transparent; + border-left-color: #333; +} +/* + * Right + */ +.uk-tooltip-right:after { + left: -5px; + top: 50%; + margin-top: -5px; + border-right-style: solid; + border-left: none; + border-top-color: transparent; + border-bottom-color: transparent; + border-right-color: #333; +} diff --git a/bower_components/uikit/css/components/tooltip.gradient.css b/bower_components/uikit/css/components/tooltip.gradient.css new file mode 100644 index 0000000..a79fdfc --- /dev/null +++ b/bower_components/uikit/css/components/tooltip.gradient.css @@ -0,0 +1,118 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Tooltip + ========================================================================== */ +/* + * 1. Hide by default + * 2. Set fixed position + * 3. Set dimensions + * 4. Set style + */ +.uk-tooltip { + /* 1 */ + display: none; + /* 2 */ + position: absolute; + z-index: 1030; + /* 3 */ + box-sizing: border-box; + max-width: 200px; + padding: 5px 8px; + /* 4 */ + background: #333; + color: rgba(255, 255, 255, 0.7); + font-size: 12px; + line-height: 18px; + border-radius: 3px; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); +} +/* Triangle + ========================================================================== */ +/* + * 1. Dashed is less antialised than solid + */ +.uk-tooltip:after { + content: ""; + display: block; + position: absolute; + width: 0; + height: 0; + /* 1 */ + border: 5px dashed #333; +} +/* Direction modifiers + ========================================================================== */ +/* + * Top + */ +.uk-tooltip-top:after, +.uk-tooltip-top-left:after, +.uk-tooltip-top-right:after { + bottom: -5px; + border-top-style: solid; + border-bottom: none; + border-left-color: transparent; + border-right-color: transparent; + border-top-color: #333; +} +/* + * Bottom + */ +.uk-tooltip-bottom:after, +.uk-tooltip-bottom-left:after, +.uk-tooltip-bottom-right:after { + top: -5px; + border-bottom-style: solid; + border-top: none; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-color: #333; +} +/* + * Top/Bottom center + */ +.uk-tooltip-top:after, +.uk-tooltip-bottom:after { + left: 50%; + margin-left: -5px; +} +/* + * Top/Bottom left + */ +.uk-tooltip-top-left:after, +.uk-tooltip-bottom-left:after { + left: 10px; +} +/* + * Top/Bottom right + */ +.uk-tooltip-top-right:after, +.uk-tooltip-bottom-right:after { + right: 10px; +} +/* + * Left + */ +.uk-tooltip-left:after { + right: -5px; + top: 50%; + margin-top: -5px; + border-left-style: solid; + border-right: none; + border-top-color: transparent; + border-bottom-color: transparent; + border-left-color: #333; +} +/* + * Right + */ +.uk-tooltip-right:after { + left: -5px; + top: 50%; + margin-top: -5px; + border-right-style: solid; + border-left: none; + border-top-color: transparent; + border-bottom-color: transparent; + border-right-color: #333; +} diff --git a/bower_components/uikit/css/components/tooltip.gradient.min.css b/bower_components/uikit/css/components/tooltip.gradient.min.css new file mode 100644 index 0000000..d4297ce --- /dev/null +++ b/bower_components/uikit/css/components/tooltip.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-tooltip{display:none;position:absolute;z-index:1030;box-sizing:border-box;max-width:200px;padding:5px 8px;background:#333;color:rgba(255,255,255,.7);font-size:12px;line-height:18px;border-radius:3px;text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-tooltip:after{content:"";display:block;position:absolute;width:0;height:0;border:5px dashed #333}.uk-tooltip-top-left:after,.uk-tooltip-top-right:after,.uk-tooltip-top:after{bottom:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-color:#333}.uk-tooltip-bottom-left:after,.uk-tooltip-bottom-right:after,.uk-tooltip-bottom:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-bottom:after,.uk-tooltip-top:after{left:50%;margin-left:-5px}.uk-tooltip-bottom-left:after,.uk-tooltip-top-left:after{left:10px}.uk-tooltip-bottom-right:after,.uk-tooltip-top-right:after{right:10px}.uk-tooltip-left:after{right:-5px;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent;border-left-color:#333}.uk-tooltip-right:after{left:-5px;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent;border-right-color:#333} \ No newline at end of file diff --git a/bower_components/uikit/css/components/tooltip.min.css b/bower_components/uikit/css/components/tooltip.min.css new file mode 100644 index 0000000..6be1c51 --- /dev/null +++ b/bower_components/uikit/css/components/tooltip.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-tooltip{display:none;position:absolute;z-index:1030;box-sizing:border-box;max-width:200px;padding:5px 8px;background:#333;color:rgba(255,255,255,.7);font-size:12px;line-height:18px}.uk-tooltip:after{content:"";display:block;position:absolute;width:0;height:0;border:5px dashed #333}.uk-tooltip-top-left:after,.uk-tooltip-top-right:after,.uk-tooltip-top:after{bottom:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-color:#333}.uk-tooltip-bottom-left:after,.uk-tooltip-bottom-right:after,.uk-tooltip-bottom:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-bottom:after,.uk-tooltip-top:after{left:50%;margin-left:-5px}.uk-tooltip-bottom-left:after,.uk-tooltip-top-left:after{left:10px}.uk-tooltip-bottom-right:after,.uk-tooltip-top-right:after{right:10px}.uk-tooltip-left:after{right:-5px;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent;border-left-color:#333}.uk-tooltip-right:after{left:-5px;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent;border-right-color:#333} \ No newline at end of file diff --git a/bower_components/uikit/css/components/upload.almost-flat.css b/bower_components/uikit/css/components/upload.almost-flat.css new file mode 100644 index 0000000..a7931da --- /dev/null +++ b/bower_components/uikit/css/components/upload.almost-flat.css @@ -0,0 +1,10 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Upload + ========================================================================== */ +/* + * Create a box-shadow when dragging a file over the upload area + */ +.uk-dragover { + box-shadow: 0 0 20px rgba(100, 100, 100, 0.3); +} diff --git a/bower_components/uikit/css/components/upload.almost-flat.min.css b/bower_components/uikit/css/components/upload.almost-flat.min.css new file mode 100644 index 0000000..da4105a --- /dev/null +++ b/bower_components/uikit/css/components/upload.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)} \ No newline at end of file diff --git a/bower_components/uikit/css/components/upload.css b/bower_components/uikit/css/components/upload.css new file mode 100644 index 0000000..a7931da --- /dev/null +++ b/bower_components/uikit/css/components/upload.css @@ -0,0 +1,10 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Upload + ========================================================================== */ +/* + * Create a box-shadow when dragging a file over the upload area + */ +.uk-dragover { + box-shadow: 0 0 20px rgba(100, 100, 100, 0.3); +} diff --git a/bower_components/uikit/css/components/upload.gradient.css b/bower_components/uikit/css/components/upload.gradient.css new file mode 100644 index 0000000..a7931da --- /dev/null +++ b/bower_components/uikit/css/components/upload.gradient.css @@ -0,0 +1,10 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Upload + ========================================================================== */ +/* + * Create a box-shadow when dragging a file over the upload area + */ +.uk-dragover { + box-shadow: 0 0 20px rgba(100, 100, 100, 0.3); +} diff --git a/bower_components/uikit/css/components/upload.gradient.min.css b/bower_components/uikit/css/components/upload.gradient.min.css new file mode 100644 index 0000000..da4105a --- /dev/null +++ b/bower_components/uikit/css/components/upload.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)} \ No newline at end of file diff --git a/bower_components/uikit/css/components/upload.min.css b/bower_components/uikit/css/components/upload.min.css new file mode 100644 index 0000000..da4105a --- /dev/null +++ b/bower_components/uikit/css/components/upload.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)} \ No newline at end of file diff --git a/bower_components/uikit/css/uikit.almost-flat.css b/bower_components/uikit/css/uikit.almost-flat.css new file mode 100644 index 0000000..a7d7703 --- /dev/null +++ b/bower_components/uikit/css/uikit.almost-flat.css @@ -0,0 +1,9265 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Base + ========================================================================== */ +/* + * 1. Normalize default `font-family` and set `font-size` to support `rem` units + * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom + * 3. Style + */ +html { + /* 1 */ + font: normal 14px / 20px "Helvetica Neue", Helvetica, Arial, sans-serif; + /* 2 */ + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + /* 3 */ + background: #fff; + color: #444; +} +/* + * Removes default margin. + */ +body { + margin: 0; +} +/* Links + ========================================================================== */ +/* + * Remove the gray background color from active links in IE 10. + */ +a { + background: transparent; +} +/* + * Improve readability of focused elements when they are also in an active/hover state. + */ +a:active, +a:hover { + outline: 0; +} +/* + * Style + */ +a, +.uk-link { + color: #07D; + text-decoration: none; + cursor: pointer; +} +a:hover, +.uk-link:hover { + color: #059; + text-decoration: underline; +} +/* Text-level semantics + ========================================================================== */ +/* + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; +} +/* + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ +b, +strong { + font-weight: bold; +} +/* + * 1. Address odd `em`-unit font size rendering in all browsers. + * 2. Consolas has a better baseline in running text compared to `Courier` + */ +:not(pre) > code, +:not(pre) > kbd, +:not(pre) > samp { + /* 1 */ + font-size: 12px; + /* 2 */ + font-family: Consolas, monospace, serif; + /* 3 */ + color: #D05; + white-space: nowrap; + padding: 0 4px; + border: 1px solid #ddd; + border-radius: 3px; + background: #fafafa; +} +/* + * Emphasize + */ +em { + color: #D05; +} +/* + * Insert + */ +ins { + background: #ffa; + color: #444; + text-decoration: none; +} +/* + * Mark + * Note: Addresses styling not present in IE 8/9. + */ +mark { + background: #ffa; + color: #444; +} +/* + * Quote + */ +q { + font-style: italic; +} +/* + * Addresses inconsistent and variable font size in all browsers. + */ +small { + font-size: 80%; +} +/* + * Prevents `sub` and `sup` affecting `line-height` in all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Embedded content + ========================================================================== */ +/* + * Remove the gap between embedded content and the bottom of their containers. + */ +audio, +canvas, +iframe, +img, +svg, +video { + vertical-align: middle; +} +/* + * Responsiveness + * 1. Sets a maximum width relative to the parent and auto scales the height + * 2. Corrects `max-width` behavior if padding and border are used + */ +audio, +canvas, +img, +svg, +video { + /* 1 */ + max-width: 100%; + height: auto; + /* 2 */ + box-sizing: border-box; +} +/* + * Preserve original dimensions + */ +.uk-img-preserve, +.uk-img-preserve audio, +.uk-img-preserve canvas, +.uk-img-preserve img, +.uk-img-preserve svg, +.uk-img-preserve video { + max-width: none; +} +/* + * Remove border when inside `a` element in IE 8/9/10. + */ +img { + border: 0; +} +/* + * Correct overflow not hidden in IE 9/10/11. + */ +svg:not(:root) { + overflow: hidden; +} +/* Block elements + ========================================================================== */ +/* + * Reset margin + */ +blockquote, +figure { + margin: 0; +} +/* + * Margins + */ +p, +ul, +ol, +dl, +blockquote, +pre, +address, +fieldset, +figure { + margin: 0 0 15px 0; +} +* + p, +* + ul, +* + ol, +* + dl, +* + blockquote, +* + pre, +* + address, +* + fieldset, +* + figure { + margin-top: 15px; +} +/* Headings + ========================================================================== */ +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0 0 15px 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: normal; + color: #444; + text-transform: none; +} +/* + * Margins + */ +* + h1, +* + h2, +* + h3, +* + h4, +* + h5, +* + h6 { + margin-top: 25px; +} +/* + * Sizes + */ +h1, +.uk-h1 { + font-size: 36px; + line-height: 42px; +} +h2, +.uk-h2 { + font-size: 24px; + line-height: 30px; +} +h3, +.uk-h3 { + font-size: 18px; + line-height: 24px; +} +h4, +.uk-h4 { + font-size: 16px; + line-height: 22px; +} +h5, +.uk-h5 { + font-size: 14px; + line-height: 20px; +} +h6, +.uk-h6 { + font-size: 12px; + line-height: 18px; +} +/* Lists + ========================================================================== */ +ul, +ol { + padding-left: 30px; +} +/* + * Reset margin for nested lists + */ +ul > li > ul, +ul > li > ol, +ol > li > ol, +ol > li > ul { + margin: 0; +} +/* Description lists + ========================================================================== */ +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +/* Horizontal rules + ========================================================================== */ +/* + * 1. Address differences between Firefox and other browsers. + * 2. Style + */ +hr { + /* 1 */ + box-sizing: content-box; + height: 0; + /* 2 */ + margin: 15px 0; + border: 0; + border-top: 1px solid #ddd; +} +/* Address + ========================================================================== */ +address { + font-style: normal; +} +/* Blockquotes + ========================================================================== */ +blockquote { + padding-left: 15px; + border-left: 5px solid #ddd; + font-size: 16px; + line-height: 22px; + font-style: italic; +} +/* Preformatted text + ========================================================================== */ +/* + * 1. Contain overflow in all browsers. + */ +pre { + padding: 10px; + background: #fafafa; + font: 12px / 18px Consolas, monospace, serif; + color: #444; + -moz-tab-size: 4; + tab-size: 4; + /* 1 */ + overflow: auto; + border: 1px solid #ddd; + border-radius: 3px; +} +/* Selection pseudo-element + ========================================================================== */ +::-moz-selection { + background: #39f; + color: #fff; + text-shadow: none; +} +::selection { + background: #39f; + color: #fff; + text-shadow: none; +} +/* HTML5 elements + ========================================================================== */ +/* + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +nav, +section, +summary { + display: block; +} +/* + * Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +progress { + vertical-align: baseline; +} +/* + * Prevent displaying `audio` without controls in Chrome, Safari and Opera + */ +audio:not([controls]) { + display: none; +} +/* + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; +} +/* Iframe + ========================================================================== */ +iframe { + border: 0; +} +/* Fix viewport for IE10 snap mode + ========================================================================== */ +@media screen and (max-width: 400px) { + @-ms-viewport { + width: device-width; + } +} +/* ======================================================================== + Component: Grid + ========================================================================== */ +/* + * 1. Makes grid more robust so that it can be used with other block elements like lists + */ +.uk-grid { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin: 0; + padding: 0; + list-style: none; +} +/* + * DEPRECATED + * Micro clearfix + * Can't use `table` because it creates a 1px gap when it becomes a flex item, only in Webkit + */ +.uk-grid:before, +.uk-grid:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-grid:after { + clear: both; +} +/* + * Grid cell + * 1. Space is allocated solely based on content dimensions + * 2. Makes grid more robust so that it can be used with other block elements + * 3. DEPRECATED Using `float` to support IE9 + */ +.uk-grid > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + margin: 0; + /* 3 */ + float: left; +} +/* + * Remove margin from the last-child + */ +.uk-grid > * > :last-child { + margin-bottom: 0; +} +/* Grid gutter + ========================================================================== */ +/* + * Default gutter + */ +/* Horizontal */ +.uk-grid { + margin-left: -25px; +} +.uk-grid > * { + padding-left: 25px; +} +/* Vertical */ +.uk-grid + .uk-grid, +.uk-grid-margin, +.uk-grid > * > .uk-panel + .uk-panel { + margin-top: 25px; +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + /* Horizontal */ + .uk-grid { + margin-left: -35px; + } + .uk-grid > * { + padding-left: 35px; + } + /* Vertical */ + .uk-grid + .uk-grid, + .uk-grid-margin, + .uk-grid > * > .uk-panel + .uk-panel { + margin-top: 35px; + } +} +/* + * Collapse gutter + */ +/* Horizontal */ +.uk-grid-collapse { + margin-left: 0; +} +.uk-grid-collapse > * { + padding-left: 0; +} +/* Vertical */ +.uk-grid-collapse + .uk-grid-collapse, +.uk-grid-collapse > .uk-grid-margin, +.uk-grid-collapse > * > .uk-panel + .uk-panel { + margin-top: 0; +} +/* + * Small gutter + */ +/* Horizontal */ +.uk-grid-small { + margin-left: -10px; +} +.uk-grid-small > * { + padding-left: 10px; +} +/* Vertical */ +.uk-grid-small + .uk-grid-small, +.uk-grid-small > .uk-grid-margin, +.uk-grid-small > * > .uk-panel + .uk-panel { + margin-top: 10px; +} +/* + * Medium gutter + */ +/* Horizontal */ +.uk-grid-medium { + margin-left: -25px; +} +.uk-grid-medium > * { + padding-left: 25px; +} +/* Vertical */ +.uk-grid-medium + .uk-grid-medium, +.uk-grid-medium > .uk-grid-margin, +.uk-grid-medium > * > .uk-panel + .uk-panel { + margin-top: 25px; +} +/* + * Large gutter + */ +/* Large screen and bigger */ +@media (min-width: 960px) { + /* Horizontal */ + .uk-grid-large { + margin-left: -35px; + } + .uk-grid-large > * { + padding-left: 35px; + } + /* Vertical */ + .uk-grid-large + .uk-grid-large, + .uk-grid-large-margin, + .uk-grid-large > * > .uk-panel + .uk-panel { + margin-top: 35px; + } +} +/* Extra Large screens */ +@media (min-width: 1220px) { + /* Horizontal */ + .uk-grid-large { + margin-left: -50px; + } + .uk-grid-large > * { + padding-left: 50px; + } + /* Vertical */ + .uk-grid-large + .uk-grid-large, + .uk-grid-large-margin, + .uk-grid-large > * > .uk-panel + .uk-panel { + margin-top: 50px; + } +} +/* Modifier: `uk-grid-divider` + ========================================================================== */ +/* + * Horizontal divider + * Only works with the default gutter. Does not work with gutter collapse, small or large. + * Does not work with `uk-push-*`, `uk-pull-*` and not if the columns float into the next row. + */ +.uk-grid-divider:not(:empty) { + margin-left: -25px; + margin-right: -25px; +} +.uk-grid-divider > * { + padding-left: 25px; + padding-right: 25px; +} +.uk-grid-divider > [class*='uk-width-1-']:not(.uk-width-1-1):nth-child(n+2), +.uk-grid-divider > [class*='uk-width-2-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-3-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-4-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-5-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-6-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-7-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-8-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-9-']:nth-child(n+2) { + border-left: 1px solid #ddd; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-grid-divider > [class*='uk-width-medium-']:not(.uk-width-medium-1-1):nth-child(n+2) { + border-left: 1px solid #ddd; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-grid-divider > [class*='uk-width-large-']:not(.uk-width-large-1-1):nth-child(n+2) { + border-left: 1px solid #ddd; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + /* + * Large gutter + */ + .uk-grid-divider:not(:empty) { + margin-left: -35px; + margin-right: -35px; + } + .uk-grid-divider > * { + padding-left: 35px; + padding-right: 35px; + } + .uk-grid-divider:empty { + margin-top: 35px; + margin-bottom: 35px; + } +} +/* + * Vertical divider + */ +.uk-grid-divider:empty { + margin-top: 25px; + margin-bottom: 25px; + border-top: 1px solid #ddd; +} +/* Match panels in grids + ========================================================================== */ +/* + * 1. Behave like a block element + */ +.uk-grid-match > * { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + /* 1 */ + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; +} +.uk-grid-match > * > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + box-sizing: border-box; + width: 100%; +} +/* Even grid cell widths + ========================================================================== */ +[class*='uk-grid-width'] > * { + box-sizing: border-box; + width: 100%; +} +.uk-grid-width-1-2 > * { + width: 50%; +} +.uk-grid-width-1-3 > * { + width: 33.333%; +} +.uk-grid-width-1-4 > * { + width: 25%; +} +.uk-grid-width-1-5 > * { + width: 20%; +} +.uk-grid-width-1-6 > * { + width: 16.666%; +} +.uk-grid-width-1-10 > * { + width: 10%; +} +.uk-grid-width-auto > * { + width: auto; +} +/* Phone landscape and bigger */ +@media (min-width: 480px) { + .uk-grid-width-small-1-1 > * { + width: 100%; + } + .uk-grid-width-small-1-2 > * { + width: 50%; + } + .uk-grid-width-small-1-3 > * { + width: 33.333%; + } + .uk-grid-width-small-1-4 > * { + width: 25%; + } + .uk-grid-width-small-1-5 > * { + width: 20%; + } + .uk-grid-width-small-1-6 > * { + width: 16.666%; + } + .uk-grid-width-small-1-10 > * { + width: 10%; + } +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-grid-width-medium-1-1 > * { + width: 100%; + } + .uk-grid-width-medium-1-2 > * { + width: 50%; + } + .uk-grid-width-medium-1-3 > * { + width: 33.333%; + } + .uk-grid-width-medium-1-4 > * { + width: 25%; + } + .uk-grid-width-medium-1-5 > * { + width: 20%; + } + .uk-grid-width-medium-1-6 > * { + width: 16.666%; + } + .uk-grid-width-medium-1-10 > * { + width: 10%; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-grid-width-large-1-1 > * { + width: 100%; + } + .uk-grid-width-large-1-2 > * { + width: 50%; + } + .uk-grid-width-large-1-3 > * { + width: 33.333%; + } + .uk-grid-width-large-1-4 > * { + width: 25%; + } + .uk-grid-width-large-1-5 > * { + width: 20%; + } + .uk-grid-width-large-1-6 > * { + width: 16.666%; + } + .uk-grid-width-large-1-10 > * { + width: 10%; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-grid-width-xlarge-1-1 > * { + width: 100%; + } + .uk-grid-width-xlarge-1-2 > * { + width: 50%; + } + .uk-grid-width-xlarge-1-3 > * { + width: 33.333%; + } + .uk-grid-width-xlarge-1-4 > * { + width: 25%; + } + .uk-grid-width-xlarge-1-5 > * { + width: 20%; + } + .uk-grid-width-xlarge-1-6 > * { + width: 16.666%; + } + .uk-grid-width-xlarge-1-10 > * { + width: 10%; + } +} +/* Sub-objects: `uk-width-*` + ========================================================================== */ +[class*='uk-width'] { + box-sizing: border-box; + width: 100%; +} +/* + * Widths + */ +/* Whole */ +.uk-width-1-1 { + width: 100%; +} +/* Halves */ +.uk-width-1-2, +.uk-width-2-4, +.uk-width-3-6, +.uk-width-5-10 { + width: 50%; +} +/* Thirds */ +.uk-width-1-3, +.uk-width-2-6 { + width: 33.333%; +} +.uk-width-2-3, +.uk-width-4-6 { + width: 66.666%; +} +/* Quarters */ +.uk-width-1-4 { + width: 25%; +} +.uk-width-3-4 { + width: 75%; +} +/* Fifths */ +.uk-width-1-5, +.uk-width-2-10 { + width: 20%; +} +.uk-width-2-5, +.uk-width-4-10 { + width: 40%; +} +.uk-width-3-5, +.uk-width-6-10 { + width: 60%; +} +.uk-width-4-5, +.uk-width-8-10 { + width: 80%; +} +/* Sixths */ +.uk-width-1-6 { + width: 16.666%; +} +.uk-width-5-6 { + width: 83.333%; +} +/* Tenths */ +.uk-width-1-10 { + width: 10%; +} +.uk-width-3-10 { + width: 30%; +} +.uk-width-7-10 { + width: 70%; +} +.uk-width-9-10 { + width: 90%; +} +/* Phone landscape and bigger */ +@media (min-width: 480px) { + /* Whole */ + .uk-width-small-1-1 { + width: 100%; + } + /* Halves */ + .uk-width-small-1-2, + .uk-width-small-2-4, + .uk-width-small-3-6, + .uk-width-small-5-10 { + width: 50%; + } + /* Thirds */ + .uk-width-small-1-3, + .uk-width-small-2-6 { + width: 33.333%; + } + .uk-width-small-2-3, + .uk-width-small-4-6 { + width: 66.666%; + } + /* Quarters */ + .uk-width-small-1-4 { + width: 25%; + } + .uk-width-small-3-4 { + width: 75%; + } + /* Fifths */ + .uk-width-small-1-5, + .uk-width-small-2-10 { + width: 20%; + } + .uk-width-small-2-5, + .uk-width-small-4-10 { + width: 40%; + } + .uk-width-small-3-5, + .uk-width-small-6-10 { + width: 60%; + } + .uk-width-small-4-5, + .uk-width-small-8-10 { + width: 80%; + } + /* Sixths */ + .uk-width-small-1-6 { + width: 16.666%; + } + .uk-width-small-5-6 { + width: 83.333%; + } + /* Tenths */ + .uk-width-small-1-10 { + width: 10%; + } + .uk-width-small-3-10 { + width: 30%; + } + .uk-width-small-7-10 { + width: 70%; + } + .uk-width-small-9-10 { + width: 90%; + } +} +/* Tablet and bigger */ +@media (min-width: 768px) { + /* Whole */ + .uk-width-medium-1-1 { + width: 100%; + } + /* Halves */ + .uk-width-medium-1-2, + .uk-width-medium-2-4, + .uk-width-medium-3-6, + .uk-width-medium-5-10 { + width: 50%; + } + /* Thirds */ + .uk-width-medium-1-3, + .uk-width-medium-2-6 { + width: 33.333%; + } + .uk-width-medium-2-3, + .uk-width-medium-4-6 { + width: 66.666%; + } + /* Quarters */ + .uk-width-medium-1-4 { + width: 25%; + } + .uk-width-medium-3-4 { + width: 75%; + } + /* Fifths */ + .uk-width-medium-1-5, + .uk-width-medium-2-10 { + width: 20%; + } + .uk-width-medium-2-5, + .uk-width-medium-4-10 { + width: 40%; + } + .uk-width-medium-3-5, + .uk-width-medium-6-10 { + width: 60%; + } + .uk-width-medium-4-5, + .uk-width-medium-8-10 { + width: 80%; + } + /* Sixths */ + .uk-width-medium-1-6 { + width: 16.666%; + } + .uk-width-medium-5-6 { + width: 83.333%; + } + /* Tenths */ + .uk-width-medium-1-10 { + width: 10%; + } + .uk-width-medium-3-10 { + width: 30%; + } + .uk-width-medium-7-10 { + width: 70%; + } + .uk-width-medium-9-10 { + width: 90%; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + /* Whole */ + .uk-width-large-1-1 { + width: 100%; + } + /* Halves */ + .uk-width-large-1-2, + .uk-width-large-2-4, + .uk-width-large-3-6, + .uk-width-large-5-10 { + width: 50%; + } + /* Thirds */ + .uk-width-large-1-3, + .uk-width-large-2-6 { + width: 33.333%; + } + .uk-width-large-2-3, + .uk-width-large-4-6 { + width: 66.666%; + } + /* Quarters */ + .uk-width-large-1-4 { + width: 25%; + } + .uk-width-large-3-4 { + width: 75%; + } + /* Fifths */ + .uk-width-large-1-5, + .uk-width-large-2-10 { + width: 20%; + } + .uk-width-large-2-5, + .uk-width-large-4-10 { + width: 40%; + } + .uk-width-large-3-5, + .uk-width-large-6-10 { + width: 60%; + } + .uk-width-large-4-5, + .uk-width-large-8-10 { + width: 80%; + } + /* Sixths */ + .uk-width-large-1-6 { + width: 16.666%; + } + .uk-width-large-5-6 { + width: 83.333%; + } + /* Tenths */ + .uk-width-large-1-10 { + width: 10%; + } + .uk-width-large-3-10 { + width: 30%; + } + .uk-width-large-7-10 { + width: 70%; + } + .uk-width-large-9-10 { + width: 90%; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + /* Whole */ + .uk-width-xlarge-1-1 { + width: 100%; + } + /* Halves */ + .uk-width-xlarge-1-2, + .uk-width-xlarge-2-4, + .uk-width-xlarge-3-6, + .uk-width-xlarge-5-10 { + width: 50%; + } + /* Thirds */ + .uk-width-xlarge-1-3, + .uk-width-xlarge-2-6 { + width: 33.333%; + } + .uk-width-xlarge-2-3, + .uk-width-xlarge-4-6 { + width: 66.666%; + } + /* Quarters */ + .uk-width-xlarge-1-4 { + width: 25%; + } + .uk-width-xlarge-3-4 { + width: 75%; + } + /* Fifths */ + .uk-width-xlarge-1-5, + .uk-width-xlarge-2-10 { + width: 20%; + } + .uk-width-xlarge-2-5, + .uk-width-xlarge-4-10 { + width: 40%; + } + .uk-width-xlarge-3-5, + .uk-width-xlarge-6-10 { + width: 60%; + } + .uk-width-xlarge-4-5, + .uk-width-xlarge-8-10 { + width: 80%; + } + /* Sixths */ + .uk-width-xlarge-1-6 { + width: 16.666%; + } + .uk-width-xlarge-5-6 { + width: 83.333%; + } + /* Tenths */ + .uk-width-xlarge-1-10 { + width: 10%; + } + .uk-width-xlarge-3-10 { + width: 30%; + } + .uk-width-xlarge-7-10 { + width: 70%; + } + .uk-width-xlarge-9-10 { + width: 90%; + } +} +/* Sub-object: `uk-push-*` and `uk-pull-*` + ========================================================================== */ +/* + * Source ordering + * Works only with `uk-width-medium-*` + */ +/* Tablet and bigger */ +@media (min-width: 768px) { + [class*='uk-push-'], + [class*='uk-pull-'] { + position: relative; + } + /* + * Push + */ + /* Halves */ + .uk-push-1-2, + .uk-push-2-4, + .uk-push-3-6, + .uk-push-5-10 { + left: 50%; + } + /* Thirds */ + .uk-push-1-3, + .uk-push-2-6 { + left: 33.333%; + } + .uk-push-2-3, + .uk-push-4-6 { + left: 66.666%; + } + /* Quarters */ + .uk-push-1-4 { + left: 25%; + } + .uk-push-3-4 { + left: 75%; + } + /* Fifths */ + .uk-push-1-5, + .uk-push-2-10 { + left: 20%; + } + .uk-push-2-5, + .uk-push-4-10 { + left: 40%; + } + .uk-push-3-5, + .uk-push-6-10 { + left: 60%; + } + .uk-push-4-5, + .uk-push-8-10 { + left: 80%; + } + /* Sixths */ + .uk-push-1-6 { + left: 16.666%; + } + .uk-push-5-6 { + left: 83.333%; + } + /* Tenths */ + .uk-push-1-10 { + left: 10%; + } + .uk-push-3-10 { + left: 30%; + } + .uk-push-7-10 { + left: 70%; + } + .uk-push-9-10 { + left: 90%; + } + /* + * Pull + */ + /* Halves */ + .uk-pull-1-2, + .uk-pull-2-4, + .uk-pull-3-6, + .uk-pull-5-10 { + left: -50%; + } + /* Thirds */ + .uk-pull-1-3, + .uk-pull-2-6 { + left: -33.333%; + } + .uk-pull-2-3, + .uk-pull-4-6 { + left: -66.666%; + } + /* Quarters */ + .uk-pull-1-4 { + left: -25%; + } + .uk-pull-3-4 { + left: -75%; + } + /* Fifths */ + .uk-pull-1-5, + .uk-pull-2-10 { + left: -20%; + } + .uk-pull-2-5, + .uk-pull-4-10 { + left: -40%; + } + .uk-pull-3-5, + .uk-pull-6-10 { + left: -60%; + } + .uk-pull-4-5, + .uk-pull-8-10 { + left: -80%; + } + /* Sixths */ + .uk-pull-1-6 { + left: -16.666%; + } + .uk-pull-5-6 { + left: -83.333%; + } + /* Tenths */ + .uk-pull-1-10 { + left: -10%; + } + .uk-pull-3-10 { + left: -30%; + } + .uk-pull-7-10 { + left: -70%; + } + .uk-pull-9-10 { + left: -90%; + } +} +/* ======================================================================== + Component: Panel + ========================================================================== */ +/* + * 1. Needed for `a` elements + * 2. Create position context for badges + */ +.uk-panel { + /* 1 */ + display: block; + /* 2 */ + position: relative; +} +/* + * Allow panels to be anchors + */ +.uk-panel, +.uk-panel:hover { + text-decoration: none; +} +/* + * Micro clearfix to make panels more robust + */ +.uk-panel:before, +.uk-panel:after { + content: ""; + display: table; +} +.uk-panel:after { + clear: both; +} +/* + * Remove margin from the last-child if not `uk-widget-title` + */ +.uk-panel > :not(.uk-panel-title):last-child { + margin-bottom: 0; +} +/* Sub-object: `uk-panel-title` + ========================================================================== */ +.uk-panel-title { + margin-top: 0; + margin-bottom: 15px; + font-size: 18px; + line-height: 24px; + font-weight: normal; + text-transform: none; + color: #444; +} +/* Sub-object: `uk-panel-badge` + ========================================================================== */ +.uk-panel-badge { + position: absolute; + top: 0; + right: 0; + z-index: 1; +} +/* Sub-object: `uk-panel-teaser` + ========================================================================== */ +.uk-panel-teaser { + margin-bottom: 15px; +} +/* Sub-object: `uk-panel-body` + ========================================================================== */ +.uk-panel-body { + padding: 15px; +} +/* Modifier: `uk-panel-box` + ========================================================================== */ +.uk-panel-box { + padding: 15px; + background: #fafafa; + color: #444; + border: 1px solid #ddd; + border-radius: 4px; +} +.uk-panel-box-hover:hover { + color: #444; +} +.uk-panel-box .uk-panel-title { + color: #444; +} +.uk-panel-box .uk-panel-badge { + top: 10px; + right: 10px; +} +.uk-panel-box > .uk-panel-teaser { + margin-top: -16px; + margin-left: -16px; + margin-right: -16px; +} +/* + * Nav in panel + */ +.uk-panel-box > .uk-nav-side { + margin: 0 -15px; +} +/* + * Sub-modifier: `uk-panel-box-primary` + */ +.uk-panel-box-primary { + background-color: #ebf7fd; + color: #2d7091; + border-color: rgba(45, 112, 145, 0.3); +} +.uk-panel-box-primary-hover:hover { + color: #2d7091; +} +.uk-panel-box-primary .uk-panel-title { + color: #2d7091; +} +/* + * Sub-modifier: `uk-panel-box-secondary` + */ +.uk-panel-box-secondary { + background-color: #fff; + color: #444; +} +.uk-panel-box-secondary-hover:hover { + color: #444; +} +.uk-panel-box-secondary .uk-panel-title { + color: #444; +} +/* Modifier: `uk-panel-hover` + ========================================================================== */ +.uk-panel-hover { + padding: 15px; + color: #444; + border: 1px solid transparent; + border-radius: 4px; +} +.uk-panel-hover:hover { + background: #fafafa; + color: #444; + border-color: #ddd; +} +.uk-panel-hover .uk-panel-badge { + top: 10px; + right: 10px; +} +.uk-panel-hover > .uk-panel-teaser { + margin-top: -16px; + margin-left: -16px; + margin-right: -16px; +} +/* Modifier: `uk-panel-header` + ========================================================================== */ +.uk-panel-header .uk-panel-title { + padding-bottom: 10px; + border-bottom: 1px solid #ddd; + color: #444; +} +/* Modifier: `uk-panel-space` + ========================================================================== */ +.uk-panel-space { + padding: 30px; +} +.uk-panel-space .uk-panel-badge { + top: 30px; + right: 30px; +} +/* Modifier: `uk-panel-divider` + ========================================================================== */ +.uk-panel + .uk-panel-divider { + margin-top: 50px !important; +} +.uk-panel + .uk-panel-divider:before { + content: ""; + display: block; + position: absolute; + top: -25px; + left: 0; + right: 0; + border-top: 1px solid #ddd; +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-panel + .uk-panel-divider { + margin-top: 70px !important; + } + .uk-panel + .uk-panel-divider:before { + top: -35px; + } +} +.uk-panel-box .uk-panel-teaser { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + overflow: hidden; + -webkit-transform: translateZ(0); +} +/* ======================================================================== + Component: Block + ========================================================================== */ +.uk-block { + position: relative; + box-sizing: border-box; + padding-top: 20px; + padding-bottom: 20px; +} +/* Phone landscape and bigger */ +@media (min-width: 768px) { + .uk-block { + padding-top: 50px; + padding-bottom: 50px; + } +} +/* + * Micro clearfix to make blocks more robust + */ +.uk-block:before, +.uk-block:after { + content: ""; + display: table; +} +.uk-block:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-block > :last-child { + margin-bottom: 0; +} +/* Padding Modifier + ========================================================================== */ +/* + * Large padding + */ +.uk-block-large { + padding-top: 20px; + padding-bottom: 20px; +} +/* Tablets and bigger */ +@media (min-width: 768px) { + .uk-block-large { + padding-top: 50px; + padding-bottom: 50px; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-block-large { + padding-top: 100px; + padding-bottom: 100px; + } +} +/* Color Modifier + ========================================================================== */ +/* + * Default + */ +.uk-block-default { + background: #fff; +} +/* + * Muted + */ +.uk-block-muted { + background: #f9f9f9; +} +/* + * Primary + */ +.uk-block-primary { + background: #00a8e6; +} +/* + * Secondary + */ +.uk-block-secondary { + background: #222; +} +/* + * Adjust padding between equal colored blocks + */ +.uk-block-default + .uk-block-default, +.uk-block-muted + .uk-block-muted, +.uk-block-primary + .uk-block-primary, +.uk-block-secondary + .uk-block-secondary { + padding-top: 0; +} +/* ======================================================================== + Component: Article + ========================================================================== */ +/* + * Micro clearfix to make articles more robust + */ +.uk-article:before, +.uk-article:after { + content: ""; + display: table; +} +.uk-article:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-article > :last-child { + margin-bottom: 0; +} +/* + * Vertical gutter for articles + */ +.uk-article + .uk-article { + margin-top: 25px; +} +/* Sub-object `uk-article-title` + ========================================================================== */ +.uk-article-title { + font-size: 36px; + line-height: 42px; + font-weight: normal; + text-transform: none; +} +.uk-article-title a { + color: inherit; + text-decoration: none; +} +/* Sub-object `uk-article-meta` + ========================================================================== */ +.uk-article-meta { + font-size: 12px; + line-height: 18px; + color: #999; +} +/* Sub-object `uk-article-lead` + ========================================================================== */ +.uk-article-lead { + color: #444; + font-size: 18px; + line-height: 24px; + font-weight: normal; +} +/* Sub-object `uk-article-divider` + ========================================================================== */ +.uk-article-divider { + margin-bottom: 25px; + border-color: #ddd; +} +* + .uk-article-divider { + margin-top: 25px; +} +.uk-article + .uk-article { + padding-top: 25px; + border-top: 1px solid #ddd; +} +/* ======================================================================== + Component: Comment + ========================================================================== */ +/* Sub-object `uk-comment-header` + ========================================================================== */ +.uk-comment-header { + margin-bottom: 15px; + padding: 10px; + border: 1px solid #ddd; + border-radius: 4px; + background: #fafafa; +} +/* + * Micro clearfix + */ +.uk-comment-header:before, +.uk-comment-header:after { + content: ""; + display: table; +} +.uk-comment-header:after { + clear: both; +} +/* Sub-object `uk-comment-avatar` + ========================================================================== */ +.uk-comment-avatar { + margin-right: 15px; + float: left; +} +/* Sub-object `uk-comment-title` + ========================================================================== */ +.uk-comment-title { + margin: 5px 0 0 0; + font-size: 16px; + line-height: 22px; +} +/* Sub-object `uk-comment-meta` + ========================================================================== */ +.uk-comment-meta { + margin: 2px 0 0 0; + font-size: 11px; + line-height: 16px; + color: #999; +} +/* Sub-object `uk-comment-body` + ========================================================================== */ +.uk-comment-body { + padding-left: 10px; + padding-right: 10px; +} +/* + * Remove margin from the last-child + */ +.uk-comment-body > :last-child { + margin-bottom: 0; +} +/* Sub-object `uk-comment-list` + ========================================================================== */ +.uk-comment-list { + padding: 0; + list-style: none; +} +.uk-comment-list .uk-comment + ul { + margin: 25px 0 0 0; + list-style: none; +} +.uk-comment-list > li:nth-child(n+2), +.uk-comment-list .uk-comment + ul > li:nth-child(n+2) { + margin-top: 25px; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-comment-list .uk-comment + ul { + padding-left: 100px; + } +} +/* Modifier `uk-comment-primary` + ========================================================================== */ +.uk-comment-primary .uk-comment-header { + border-color: rgba(45, 112, 145, 0.3); + background-color: #ebf7fd; + color: #2d7091; + text-shadow: 0 1px 0 #fff; +} +/* ======================================================================== + Component: Cover + ========================================================================== */ +/* + * Background image always covers and centers its element + */ +.uk-cover-background { + background-position: 50% 50%; + background-size: cover; + background-repeat: no-repeat; +} +/* + * Emulates image cover, works with video and image elements + * 1. Parent container which clips resized object + * 2. Resizes the object to always covers its container + * 3. Reset the responsive image CSS + * 4. Center object + */ +/* 1 */ +.uk-cover { + overflow: hidden; +} +.uk-cover-object { + /* 2 */ + width: auto; + height: auto; + min-width: 100%; + min-height: 100%; + /* 3 */ + max-width: none; + /* 4 */ + position: relative; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} +/* + * To center iframes use `data-uk-cover` JavaScript + */ +[data-uk-cover] { + position: relative; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} +/* ======================================================================== + Component: Nav + ========================================================================== */ +.uk-nav, +.uk-nav ul { + margin: 0; + padding: 0; + list-style: none; +} +/* + * Items + */ +.uk-nav li > a { + display: block; + text-decoration: none; +} +.uk-nav > li > a { + padding: 5px 15px; +} +/* + * Nested items + */ +.uk-nav ul { + padding-left: 15px; +} +.uk-nav ul a { + padding: 2px 0; +} +/* + * Item subtitle + */ +.uk-nav li > a > div { + font-size: 12px; + line-height: 18px; +} +/* Sub-object: `uk-nav-header` + ========================================================================== */ +.uk-nav-header { + padding: 5px 15px; + text-transform: uppercase; + font-weight: bold; + font-size: 12px; +} +.uk-nav-header:not(:first-child) { + margin-top: 15px; +} +/* Sub-object: `uk-nav-divider` + ========================================================================== */ +.uk-nav-divider { + margin: 9px 15px; +} +/* Sub-object: `uk-nav-sub` + ========================================================================== */ +/* + * `ul` needed for higher specificity to override padding + */ +ul.uk-nav-sub { + padding: 5px 0 5px 15px; +} +/* Modifier: `uk-nav-parent-icon` + ========================================================================== */ +.uk-nav-parent-icon > .uk-parent > a:after { + content: "\f104"; + width: 20px; + margin-right: -10px; + float: right; + font-family: FontAwesome; + text-align: center; +} +.uk-nav-parent-icon > .uk-parent.uk-open > a:after { + content: "\f107"; +} +/* Modifier `uk-nav-side` + ========================================================================== */ +/* + * Items + */ +.uk-nav-side > li > a { + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-nav-side > li > a:hover, +.uk-nav-side > li > a:focus { + background: rgba(0, 0, 0, 0.03); + color: #444; + /* 2 */ + outline: none; + box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.06); + text-shadow: 0 -1px 0 #fff; +} +/* Active */ +.uk-nav-side > li.uk-active > a { + background: #00a8e6; + color: #fff; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-side .uk-nav-header { + color: #444; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-side .uk-nav-divider { + border-top: 1px solid #ddd; + box-shadow: 0 1px 0 #fff; +} +/* + * Nested items + */ +.uk-nav-side ul a { + color: #07D; +} +.uk-nav-side ul a:hover { + color: #059; +} +/* Modifier `uk-nav-dropdown` + ========================================================================== */ +/* + * Items + */ +.uk-nav-dropdown > li > a { + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-nav-dropdown > li > a:hover, +.uk-nav-dropdown > li > a:focus { + background: #00a8e6; + color: #fff; + /* 2 */ + outline: none; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-dropdown .uk-nav-header { + color: #999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-dropdown .uk-nav-divider { + border-top: 1px solid #ddd; +} +/* + * Nested items + */ +.uk-nav-dropdown ul a { + color: #07D; +} +.uk-nav-dropdown ul a:hover { + color: #059; +} +/* Modifier `uk-nav-navbar` + ========================================================================== */ +/* + * Items + */ +.uk-nav-navbar > li > a { + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-nav-navbar > li > a:hover, +.uk-nav-navbar > li > a:focus { + background: #00a8e6; + color: #fff; + /* 2 */ + outline: none; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-navbar .uk-nav-header { + color: #999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-navbar .uk-nav-divider { + border-top: 1px solid #ddd; +} +/* + * Nested items + */ +.uk-nav-navbar ul a { + color: #07D; +} +.uk-nav-navbar ul a:hover { + color: #059; +} +/* Modifier `uk-nav-offcanvas` + ========================================================================== */ +/* + * Items + */ +.uk-nav-offcanvas > li > a { + color: #ccc; + padding: 10px 15px; + border-top: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); +} +/* + * Hover + * No hover on touch devices because it behaves buggy in fixed offcanvas + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-nav-offcanvas > .uk-open > a, +html:not(.uk-touch) .uk-nav-offcanvas > li > a:hover, +html:not(.uk-touch) .uk-nav-offcanvas > li > a:focus { + background: #404040; + color: #fff; + /* 2 */ + outline: none; +} +/* + * Active + * `html .uk-nav` needed for higher specificity to override hover + */ +html .uk-nav.uk-nav-offcanvas > li.uk-active > a { + background: #1a1a1a; + color: #fff; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-offcanvas .uk-nav-header { + color: #777; + margin-top: 0; + border-top: 1px solid rgba(0, 0, 0, 0.3); + background: #404040; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-offcanvas .uk-nav-divider { + border-top: 1px solid rgba(255, 255, 255, 0.01); + margin: 0; + height: 4px; + background: rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3); +} +/* + * Nested items + * No hover on touch devices because it behaves buggy in fixed offcanvas + */ +.uk-nav-offcanvas ul a { + color: #ccc; +} +html:not(.uk-touch) .uk-nav-offcanvas ul a:hover { + color: #fff; +} +/* + * Modifier `uk-nav-offcanvas` + */ +.uk-nav-offcanvas { + border-bottom: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05); +} +/* + * Sub-object: `uk-nav-sub` + */ +.uk-nav-offcanvas .uk-nav-sub { + border-top: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); +} +/* ======================================================================== + Component: Navbar + ========================================================================== */ +.uk-navbar { + background: #f5f5f5; + color: #444; + border: 1px solid rgba(0, 0, 0, 0.06); + border-radius: 4px; +} +/* + * Micro clearfix + */ +.uk-navbar:before, +.uk-navbar:after { + content: ""; + display: table; +} +.uk-navbar:after { + clear: both; +} +/* Sub-object: `uk-navbar-nav` + ========================================================================== */ +.uk-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} +/* + * 1. Create position context for dropdowns + */ +.uk-navbar-nav > li { + float: left; + /* 1 */ + position: relative; +} +/* + * 1. Dimensions + * 2. Style + */ +.uk-navbar-nav > li > a { + display: block; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: 41px; + padding: 0 15px; + line-height: 40px; + /* 2 */ + color: #444; + font-size: 14px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: normal; + margin-top: -1px; + margin-left: -1px; + border: 1px solid transparent; + border-bottom-width: 0; + text-shadow: 0 1px 0 #fff; +} +/* Appear not as link */ +.uk-navbar-nav > li > a[href='#'] { + cursor: text; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Also apply if dropdown is opened + * 3. Remove default focus style + */ +.uk-navbar-nav > li:hover > a, +.uk-navbar-nav > li > a:focus, +.uk-navbar-nav > li.uk-open > a { + background-color: #fafafa; + color: #444; + /* 3 */ + outline: none; + position: relative; + z-index: 1; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.1); +} +/* OnClick */ +.uk-navbar-nav > li > a:active { + background-color: #eee; + color: #444; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.2); +} +/* Active */ +.uk-navbar-nav > li.uk-active > a { + background-color: #fafafa; + color: #444; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.1); +} +/* Sub-objects: `uk-navbar-nav-subtitle` + ========================================================================== */ +.uk-navbar-nav .uk-navbar-nav-subtitle { + line-height: 28px; +} +.uk-navbar-nav-subtitle > div { + margin-top: -6px; + font-size: 10px; + line-height: 12px; +} +/* Sub-objects: `uk-navbar-content`, `uk-navbar-brand`, `uk-navbar-toggle` + ========================================================================== */ +/* + * Imitate navbar items + */ +.uk-navbar-content, +.uk-navbar-brand, +.uk-navbar-toggle { + box-sizing: border-box; + display: block; + height: 41px; + padding: 0 15px; + float: left; + margin-top: -1px; + text-shadow: 0 1px 0 #fff; +} +/* + * Helper to center all child elements vertically + */ +.uk-navbar-content:before, +.uk-navbar-brand:before, +.uk-navbar-toggle:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} +/* Sub-objects: `uk-navbar-content` + ========================================================================== */ +/* + * Better sibling spacing + */ +.uk-navbar-content + .uk-navbar-content:not(.uk-navbar-center) { + padding-left: 0; +} +/* + * Link colors + */ +.uk-navbar-content > a:not([class]) { + color: #07D; +} +.uk-navbar-content > a:not([class]):hover { + color: #059; +} +/* Sub-objects: `uk-navbar-brand` + ========================================================================== */ +.uk-navbar-brand { + font-size: 18px; + color: #444; + text-decoration: none; +} +/* + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-navbar-brand:hover, +.uk-navbar-brand:focus { + color: #444; + text-decoration: none; + /* 2 */ + outline: none; +} +/* Sub-object: `uk-navbar-toggle` + ========================================================================== */ +.uk-navbar-toggle { + font-size: 18px; + color: #444; + text-decoration: none; +} +/* + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-navbar-toggle:hover, +.uk-navbar-toggle:focus { + color: #444; + text-decoration: none; + /* 2 */ + outline: none; +} +/* + * 1. Center icon vertically + */ +.uk-navbar-toggle:after { + content: "\f0c9"; + font-family: FontAwesome; + /* 1 */ + vertical-align: middle; +} +.uk-navbar-toggle-alt:after { + content: "\f002"; +} +/* Sub-object: `uk-navbar-center` + ========================================================================== */ +/* + * The element with this class needs to be last child in the navbar + * 1. This hack is needed because other float elements shift centered text + */ +.uk-navbar-center { + float: none; + text-align: center; + /* 1 */ + max-width: 50%; + margin-left: auto; + margin-right: auto; +} +/* Sub-object: `uk-navbar-flip` + ========================================================================== */ +.uk-navbar-flip { + float: right; +} +/* + * Apply same `border-radius` as `uk-navbar` + */ +.uk-navbar-nav:first-child > li:first-child > a { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +/* + * Sub-modifier `uk-navbar-flip` + */ +/* Collapse border */ +.uk-navbar-flip .uk-navbar-nav > li > a { + margin-left: 0; + margin-right: -1px; +} +/* Apply same `border-radius` as `uk-navbar` */ +.uk-navbar-flip .uk-navbar-nav:first-child > li:first-child > a { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.uk-navbar-flip .uk-navbar-nav:last-child > li:last-child > a { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +/* + * Sub-modifier `uk-navbar-attached` + */ +.uk-navbar-attached { + border-top-color: transparent; + border-left-color: transparent; + border-right-color: transparent; + border-radius: 0; +} +.uk-navbar-attached .uk-navbar-nav > li > a { + border-radius: 0 !important; +} +/* ======================================================================== + Component: Subnav + ========================================================================== */ +/* + * 1. Gutter + * 2. Remove default list style + */ +.uk-subnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -10px; + margin-top: -10px; + /* 2 */ + padding: 0; + list-style: none; +} +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + * 3. Create position context for dropdowns + */ +.uk-subnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: 10px; + margin-top: 10px; + /* 3 */ + position: relative; +} +/* + * DEPRECATED IE9 Support + */ +.uk-subnav:before, +.uk-subnav:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-subnav:after { + clear: both; +} +.uk-subnav > * { + float: left; +} +/* Items + ========================================================================== */ +.uk-subnav > * > * { + display: inline-block; + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + */ +.uk-subnav > * > :hover, +.uk-subnav > * > :focus { + color: #07D; + text-decoration: none; +} +/* + * Active + */ +.uk-subnav > .uk-active > * { + color: #07D; +} +/* Modifier: 'subnav-line' + ========================================================================== */ +.uk-subnav-line > :before { + content: ""; + display: inline-block; + height: 10px; + vertical-align: middle; +} +.uk-subnav-line > :nth-child(n+2):before { + margin-right: 10px; + border-left: 1px solid #ddd; +} +/* Modifier: 'subnav-pill' + ========================================================================== */ +.uk-subnav-pill > * > * { + padding: 3px 9px; + border-radius: 4px; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-subnav-pill > * > :hover, +.uk-subnav-pill > * > :focus { + background: #fafafa; + color: #444; + text-decoration: none; + /* 2 */ + outline: none; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); +} +/* + * Active + * `li` needed for higher specificity to override hover + */ +.uk-subnav-pill > .uk-active > * { + background: #00a8e6; + color: #fff; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); +} +/* Disabled state + ========================================================================== */ +.uk-subnav > .uk-disabled > * { + background: none; + color: #999; + text-decoration: none; + cursor: text; + box-shadow: none; +} +/* ======================================================================== + Component: Breadcrumb + ========================================================================== */ +/* + * 1. Remove default list style + * 2. Remove whitespace between child elements when using `inline-block` + */ +.uk-breadcrumb { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + font-size: 0.001px; +} +/* Items + ========================================================================== */ +/* + * Reset whitespace hack + */ +.uk-breadcrumb > li { + font-size: 1rem; + vertical-align: top; +} +.uk-breadcrumb > li, +.uk-breadcrumb > li > a, +.uk-breadcrumb > li > span { + display: inline-block; +} +.uk-breadcrumb > li:nth-child(n+2):before { + content: "/"; + display: inline-block; + margin: 0 8px; +} +/* + * Disabled + */ +.uk-breadcrumb > li:not(.uk-active) > span { + color: #999; +} +/* ======================================================================== + Component: Pagination + ========================================================================== */ +/* + * 1. Remove default list style + * 2. Center pagination by default + * 3. Remove whitespace between child elements when using `inline-block` + */ +.uk-pagination { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + text-align: center; + /* 3 */ + font-size: 0.001px; +} +/* + * Micro clearfix + * Needed if `uk-pagination-previous` or `uk-pagination-next` sub-objects are used + */ +.uk-pagination:before, +.uk-pagination:after { + content: ""; + display: table; +} +.uk-pagination:after { + clear: both; +} +/* Items + ========================================================================== */ +/* + * 1. Reset whitespace hack + * 2. Remove the gap at the bottom of it container + */ +.uk-pagination > li { + display: inline-block; + /* 1 */ + font-size: 1rem; + /* 2 */ + vertical-align: top; +} +.uk-pagination > li:nth-child(n+2) { + margin-left: 5px; +} +/* + * 1. Makes pagination more robust against different box-sizing use + * 2. Reset text-align to center if alignment modifier is used + */ +.uk-pagination > li > a, +.uk-pagination > li > span { + display: inline-block; + min-width: 16px; + padding: 3px 5px; + line-height: 20px; + text-decoration: none; + /* 1 */ + box-sizing: content-box; + /* 2 */ + text-align: center; + border: 1px solid rgba(0, 0, 0, 0.06); + border-radius: 4px; +} +/* + * Links + */ +.uk-pagination > li > a { + background: #f5f5f5; + color: #444; + text-shadow: 0 1px 0 #fff; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-pagination > li > a:hover, +.uk-pagination > li > a:focus { + background-color: #fafafa; + color: #444; + /* 2 */ + outline: none; + border-color: rgba(0, 0, 0, 0.16); +} +/* OnClick */ +.uk-pagination > li > a:active { + background-color: #eee; + color: #444; +} +/* + * Active + */ +.uk-pagination > .uk-active > span { + background: #00a8e6; + color: #fff; + border-color: transparent; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); +} +/* + * Disabled + */ +.uk-pagination > .uk-disabled > span { + background-color: #fafafa; + color: #999; + border: 1px solid rgba(0, 0, 0, 0.06); + text-shadow: 0 1px 0 #fff; +} +/* Previous and next navigation + ========================================================================== */ +.uk-pagination-previous { + float: left; +} +.uk-pagination-next { + float: right; +} +/* Alignment modifiers + ========================================================================== */ +.uk-pagination-left { + text-align: left; +} +.uk-pagination-right { + text-align: right; +} +/* ======================================================================== + Component: Tab + ========================================================================== */ +.uk-tab { + margin: 0; + padding: 0; + list-style: none; + border-bottom: 1px solid #ddd; +} +/* + * Micro clearfix on the deepest container + */ +.uk-tab:before, +.uk-tab:after { + content: ""; + display: table; +} +.uk-tab:after { + clear: both; +} +/* + * Items + * 1. Create position context for dropdowns + */ +.uk-tab > li { + margin-bottom: -1px; + float: left; + /* 1 */ + position: relative; +} +.uk-tab > li > a { + display: block; + padding: 8px 12px 8px 12px; + border: 1px solid transparent; + border-bottom-width: 0; + color: #07D; + text-decoration: none; + border-radius: 4px 4px 0 0; + text-shadow: 0 1px 0 #fff; +} +.uk-tab > li:nth-child(n+2) > a { + margin-left: 5px; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Also apply if dropdown is opened + * 3. Remove default focus style + */ +.uk-tab > li > a:hover, +.uk-tab > li > a:focus, +.uk-tab > li.uk-open > a { + border-color: rgba(0, 0, 0, 0.06); + background: #f5f5f5; + color: #059; + /* 2 */ + outline: none; +} +.uk-tab > li:not(.uk-active) > a:hover, +.uk-tab > li:not(.uk-active) > a:focus, +.uk-tab > li.uk-open:not(.uk-active) > a { + margin-bottom: 1px; + padding-bottom: 7px; +} +/* Active */ +.uk-tab > li.uk-active > a { + border-color: #ddd; + border-bottom-color: transparent; + background: #fff; + color: #444; +} +/* Disabled */ +.uk-tab > li.uk-disabled > a { + color: #999; + cursor: text; +} +.uk-tab > li.uk-disabled > a:hover, +.uk-tab > li.uk-disabled > a:focus, +.uk-tab > li.uk-disabled.uk-active > a { + background: none; + border-color: transparent; +} +/* Modifier: 'tab-flip' + ========================================================================== */ +.uk-tab-flip > li { + float: right; +} +.uk-tab-flip > li:nth-child(n+2) > a { + margin-left: 0; + margin-right: 5px; +} +/* Modifier: 'tab-responsive' + ========================================================================== */ +.uk-tab > li.uk-tab-responsive > a { + margin-left: 0; + margin-right: 0; +} +/* + * Icon + */ +.uk-tab-responsive > a:before { + content: "\f0c9\00a0"; + font-family: FontAwesome; +} +/* Modifier: 'tab-center' + ========================================================================== */ +.uk-tab-center { + border-bottom: 1px solid #ddd; +} +.uk-tab-center-bottom { + border-bottom: none; + border-top: 1px solid #ddd; +} +.uk-tab-center:before, +.uk-tab-center:after { + content: ""; + display: table; +} +.uk-tab-center:after { + clear: both; +} +/* + * 1. Using `right` to prevent vertical scrollbar caused by centering if to many tabs + */ +.uk-tab-center .uk-tab { + position: relative; + right: 50%; + border: none; + float: right; +} +.uk-tab-center .uk-tab > li { + position: relative; + right: -50%; +} +.uk-tab-center .uk-tab > li > a { + text-align: center; +} +/* Modifier: 'tab-bottom' + ========================================================================== */ +.uk-tab-bottom { + border-top: 1px solid #ddd; + border-bottom: none; +} +.uk-tab-bottom > li { + margin-top: -1px; + margin-bottom: 0; +} +.uk-tab-bottom > li > a { + padding-top: 8px; + padding-bottom: 8px; + border-bottom-width: 1px; + border-top-width: 0; +} +.uk-tab-bottom > li:not(.uk-active) > a:hover, +.uk-tab-bottom > li:not(.uk-active) > a:focus, +.uk-tab-bottom > li.uk-open:not(.uk-active) > a { + margin-bottom: 0; + margin-top: 1px; + padding-bottom: 8px; + padding-top: 7px; +} +.uk-tab-bottom > li.uk-active > a { + border-top-color: transparent; + border-bottom-color: #ddd; +} +/* Modifier: 'tab-grid' + ========================================================================== */ +/* + * 1. Create position context to prevent hidden border because of negative `z-index` + */ +.uk-tab-grid { + margin-left: -5px; + border-bottom: none; + /* 1 */ + position: relative; + z-index: 0; +} +.uk-tab-grid:before { + display: block; + position: absolute; + left: 5px; + right: 0; + bottom: -1px; + border-top: 1px solid #ddd; + /* 1 */ + z-index: -1; +} +.uk-tab-grid > li:first-child > a { + margin-left: 5px; +} +.uk-tab-grid > li > a { + text-align: center; +} +/* + * If `uk-tab-bottom` + */ +.uk-tab-grid.uk-tab-bottom { + border-top: none; +} +.uk-tab-grid.uk-tab-bottom:before { + top: -1px; + bottom: auto; +} +/* Modifier: 'tab-left', 'tab-right' + ========================================================================== */ +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-tab-left, + .uk-tab-right { + border-bottom: none; + } + .uk-tab-left > li, + .uk-tab-right > li { + margin-bottom: 0; + float: none; + } + .uk-tab-left > li > a, + .uk-tab-right > li > a { + padding-top: 8px; + padding-bottom: 8px; + } + .uk-tab-left > li:nth-child(n+2) > a, + .uk-tab-right > li:nth-child(n+2) > a { + margin-left: 0; + margin-top: 5px; + } + .uk-tab-left > li.uk-active > a, + .uk-tab-right > li.uk-active > a { + border-color: #ddd; + } + /* + * Modifier: 'tab-left' + */ + .uk-tab-left { + border-right: 1px solid #ddd; + } + .uk-tab-left > li { + margin-right: -1px; + } + .uk-tab-left > li > a { + border-bottom-width: 1px; + border-right-width: 0; + } + .uk-tab-left > li:not(.uk-active) > a:hover, + .uk-tab-left > li:not(.uk-active) > a:focus { + margin-bottom: 0; + margin-right: 1px; + padding-bottom: 8px; + padding-right: 11px; + } + .uk-tab-left > li.uk-active > a { + border-right-color: transparent; + } + /* + * Modifier: 'tab-right' + */ + .uk-tab-right { + border-left: 1px solid #ddd; + } + .uk-tab-right > li { + margin-left: -1px; + } + .uk-tab-right > li > a { + border-bottom-width: 1px; + border-left-width: 0; + } + .uk-tab-right > li:not(.uk-active) > a:hover, + .uk-tab-right > li:not(.uk-active) > a:focus { + margin-bottom: 0; + margin-left: 1px; + padding-bottom: 8px; + padding-left: 11px; + } + .uk-tab-right > li.uk-active > a { + border-left-color: transparent; + } +} +/* Modifier: `uk-tab-bottom' + ========================================================================== */ +.uk-tab-bottom > li > a { + border-radius: 0 0 4px 4px; +} +/* Modifier: `uk-tab-left', `uk-tab-right' + ========================================================================== */ +/* Tablet and bigger */ +@media (min-width: 768px) { + /* + * Modifier: `uk-tab-left' + */ + .uk-tab-left > li > a { + border-radius: 4px 0 0 4px; + } + /* + * Modifier: `uk-tab-right' + */ + .uk-tab-right > li > a { + border-radius: 0 4px 4px 0; + } +} +/* ======================================================================== + Component: Thumbnav + ========================================================================== */ +/* + * 1. Gutter + * 2. Remove default list style + */ +.uk-thumbnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -10px; + margin-top: -10px; + /* 2 */ + padding: 0; + list-style: none; +} +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + */ +.uk-thumbnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: 10px; + margin-top: 10px; +} +/* + * DEPRECATED IE9 Support + */ +.uk-thumbnav:before, +.uk-thumbnav:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-thumbnav:after { + clear: both; +} +.uk-thumbnav > * { + float: left; +} +/* Items + ========================================================================== */ +.uk-thumbnav > * > * { + display: block; + background: #fff; +} +.uk-thumbnav > * > * > img { + opacity: 0.7; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +/* + * Hover + */ +.uk-thumbnav > * > :hover > img, +.uk-thumbnav > * > :focus > img { + opacity: 1; +} +/* + * Active + */ +.uk-thumbnav > .uk-active > * > img { + opacity: 1; +} +/* ======================================================================== + Component: List + ========================================================================== */ +.uk-list { + padding: 0; + list-style: none; +} +/* + * Micro clearfix to make list more robust + */ +.uk-list > li:before, +.uk-list > li:after { + content: ""; + display: table; +} +.uk-list > li:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-list > li > :last-child { + margin-bottom: 0; +} +/* + * Nested lists + */ +.uk-list ul { + margin: 0; + padding-left: 20px; + list-style: none; +} +/* Modifier: `uk-list-line` + ========================================================================== */ +.uk-list-line > li:nth-child(n+2) { + margin-top: 5px; + padding-top: 5px; + border-top: 1px solid #ddd; +} +/* Modifier: `uk-list-striped` + ========================================================================== */ +.uk-list-striped > li { + padding: 5px 5px; + border-bottom: 1px solid #ddd; +} +.uk-list-striped > li:nth-of-type(odd) { + background: #fafafa; +} +/* Modifier: `uk-list-space` + ========================================================================== */ +.uk-list-space > li:nth-child(n+2) { + margin-top: 10px; +} +.uk-list-striped > li:first-child { + border-top: 1px solid #ddd; +} +/* ======================================================================== + Component: Description list + ========================================================================== */ +/* Modifier: `uk-description-list-horizontal` + ========================================================================== */ +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-description-list-horizontal { + overflow: hidden; + } + .uk-description-list-horizontal > dt { + width: 160px; + float: left; + clear: both; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .uk-description-list-horizontal > dd { + margin-left: 180px; + } +} +/* Modifier: `uk-description-list-line` + ========================================================================== */ +.uk-description-list-line > dt { + font-weight: normal; +} +.uk-description-list-line > dt:nth-child(n+2) { + margin-top: 5px; + padding-top: 5px; + border-top: 1px solid #ddd; +} +.uk-description-list-line > dd { + color: #999; +} +/* ======================================================================== + Component: Table + ========================================================================== */ +/* + * 1. Remove most spacing between table cells. + * 2. Block element behavior + * 3. Style + */ +.uk-table { + /* 1 */ + border-collapse: collapse; + border-spacing: 0; + /* 2 */ + width: 100%; + /* 3 */ + margin-bottom: 15px; +} +/* + * Add margin if adjacent element + */ +* + .uk-table { + margin-top: 15px; +} +.uk-table th, +.uk-table td { + padding: 8px 8px; + border-bottom: 1px solid #ddd; +} +/* + * Set alignment + */ +.uk-table th { + text-align: left; +} +.uk-table td { + vertical-align: top; +} +.uk-table thead th { + vertical-align: bottom; +} +/* + * Caption and footer + */ +.uk-table caption, +.uk-table tfoot { + font-size: 12px; + font-style: italic; +} +.uk-table caption { + text-align: left; + color: #999; +} +/* + * Active State + */ +.uk-table tbody tr.uk-active { + background: #f0f0f0; +} +/* Sub-modifier: `uk-table-middle` + ========================================================================== */ +.uk-table-middle, +.uk-table-middle td { + vertical-align: middle !important; +} +/* Modifier: `uk-table-striped` + ========================================================================== */ +.uk-table-striped tbody tr:nth-of-type(odd) { + background: #fafafa; +} +/* Modifier: `uk-table-condensed` + ========================================================================== */ +.uk-table-condensed td { + padding: 4px 8px; +} +/* Modifier: `uk-table-hover` + ========================================================================== */ +.uk-table-hover tbody tr:hover { + background: #f0f0f0; +} +/* ======================================================================== + Component: Form + ========================================================================== */ +/* + * 1. Define consistent box sizing. + * Default is `content-box` with following exceptions set to `border-box` + * `button`, `select`, `input[type="checkbox"]` and `input[type="radio"]` + * `input[type="search"]` in Chrome, Safari and Opera + * `input[type="color"]` in Firefox + * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera. + * 3. Remove `border-radius` in iOS. + * 4. Correct `font` properties and `color` not being inherited. + */ +.uk-form input, +.uk-form select, +.uk-form textarea { + /* 1 */ + box-sizing: border-box; + /* 2 */ + margin: 0; + /* 3 */ + border-radius: 0; + /* 4 */ + font: inherit; + color: inherit; +} +/* + * Address inconsistent `text-transform` inheritance which is only inherit in Firefox + */ +.uk-form select { + text-transform: none; +} +/* + * 1. Correct `font` properties not being inherited. + * 2. Don't inherit the `font-weight` and use `bold` instead. + * NOTE: Both declarations don't work in Chrome, Safari and Opera. + */ +.uk-form optgroup { + /* 1 */ + font: inherit; + /* 2 */ + font-weight: bold; +} +/* + * Removes inner padding and border in Firefox 4+. + */ +.uk-form input::-moz-focus-inner { + border: 0; + padding: 0; +} +/* + * Removes excess padding in IE 8/9/10. + */ +.uk-form input[type="checkbox"], +.uk-form input[type="radio"] { + padding: 0; +} +/* + * Improves consistency of cursor style for clickable elements + */ +.uk-form input[type="checkbox"]:not(:disabled), +.uk-form input[type="radio"]:not(:disabled) { + cursor: pointer; +} +/* + * Remove default style in iOS. + */ +.uk-form textarea, +.uk-form input:not([type]), +.uk-form input[type="text"], +.uk-form input[type="password"], +.uk-form input[type="email"], +.uk-form input[type="url"], +.uk-form input[type="search"], +.uk-form input[type="tel"], +.uk-form input[type="number"], +.uk-form input[type="datetime"] { + -webkit-appearance: none; +} +/* + * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X. + */ +.uk-form input[type="search"]::-webkit-search-cancel-button, +.uk-form input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +/* + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +.uk-form input[type="number"]::-webkit-inner-spin-button, +.uk-form input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +/* + * Define consistent border, margin, and padding. + */ +.uk-form fieldset { + border: none; + margin: 0; + padding: 0; +} +/* + * 1. Remove default vertical scrollbar in IE 8/9/10/11. + * 2. Improve readability and alignment in all browsers. + */ +.uk-form textarea { + /* 1 */ + overflow: auto; + /* 2 */ + vertical-align: top; +} +/* + * Removes placeholder transparency in Firefox. + */ +.uk-form ::-moz-placeholder { + opacity: 1; +} +/* + * Removes `box-shadow` for invalid controls in Firefox. + */ +.uk-form :invalid { + box-shadow: none; +} +/* + * Vertical alignment + */ +.uk-form input:not([type="radio"]):not([type="checkbox"]), +.uk-form select { + vertical-align: middle; +} +/* Style + ========================================================================== */ +/* + * Remove margin from the last-child + */ +.uk-form > :last-child { + margin-bottom: 0; +} +/* + * Controls + * Except for `range`, `radio`, `checkbox`, `file`, `submit`, `reset`, `button` and `image` + * 1. Must be `height` because `min-height` is not working in OSX + * 2. Responsiveness: Sets a maximum width relative to the parent to scale on narrower viewports + * 3. Vertical `padding` needed for `select` elements in Firefox + * 4. Style + */ +.uk-form select, +.uk-form textarea, +.uk-form input:not([type]), +.uk-form input[type="text"], +.uk-form input[type="password"], +.uk-form input[type="datetime"], +.uk-form input[type="datetime-local"], +.uk-form input[type="date"], +.uk-form input[type="month"], +.uk-form input[type="time"], +.uk-form input[type="week"], +.uk-form input[type="number"], +.uk-form input[type="email"], +.uk-form input[type="url"], +.uk-form input[type="search"], +.uk-form input[type="tel"], +.uk-form input[type="color"] { + /* 1 */ + height: 30px; + /* 2 */ + max-width: 100%; + /* 3 */ + padding: 4px 6px; + /* 4 */ + border: 1px solid #ddd; + background: #fff; + color: #444; + -webkit-transition: all 0.2s linear; + -webkit-transition-property: border, background, color, box-shadow, padding; + transition: all 0.2s linear; + transition-property: border, background, color, box-shadow, padding; + border-radius: 4px; +} +.uk-form select:focus, +.uk-form textarea:focus, +.uk-form input:not([type]):focus, +.uk-form input[type="text"]:focus, +.uk-form input[type="password"]:focus, +.uk-form input[type="datetime"]:focus, +.uk-form input[type="datetime-local"]:focus, +.uk-form input[type="date"]:focus, +.uk-form input[type="month"]:focus, +.uk-form input[type="time"]:focus, +.uk-form input[type="week"]:focus, +.uk-form input[type="number"]:focus, +.uk-form input[type="email"]:focus, +.uk-form input[type="url"]:focus, +.uk-form input[type="search"]:focus, +.uk-form input[type="tel"]:focus, +.uk-form input[type="color"]:focus { + border-color: #99baca; + outline: 0; + background: #f5fbfe; + color: #444; +} +.uk-form select:disabled, +.uk-form textarea:disabled, +.uk-form input:not([type]):disabled, +.uk-form input[type="text"]:disabled, +.uk-form input[type="password"]:disabled, +.uk-form input[type="datetime"]:disabled, +.uk-form input[type="datetime-local"]:disabled, +.uk-form input[type="date"]:disabled, +.uk-form input[type="month"]:disabled, +.uk-form input[type="time"]:disabled, +.uk-form input[type="week"]:disabled, +.uk-form input[type="number"]:disabled, +.uk-form input[type="email"]:disabled, +.uk-form input[type="url"]:disabled, +.uk-form input[type="search"]:disabled, +.uk-form input[type="tel"]:disabled, +.uk-form input[type="color"]:disabled { + border-color: #ddd; + background-color: #fafafa; + color: #999; +} +/* + * Placeholder + */ +.uk-form :-ms-input-placeholder { + color: #999 !important; +} +.uk-form ::-moz-placeholder { + color: #999; +} +.uk-form ::-webkit-input-placeholder { + color: #999; +} +.uk-form :disabled:-ms-input-placeholder { + color: #999 !important; +} +.uk-form :disabled::-moz-placeholder { + color: #999; +} +.uk-form :disabled::-webkit-input-placeholder { + color: #999; +} +/* + * Legend + * 1. Behave like block element + * 2. Correct `color` not being inherited in IE 8/9/10/11. + * 3. Remove padding + * 4. `margin-bottom` is not working in Safari and Opera. + * Using `padding` and :after instead to create the border + * 5. Style + */ +.uk-form legend { + /* 1 */ + width: 100%; + /* 2 */ + border: 0; + /* 3 */ + padding: 0; + /* 4 */ + padding-bottom: 15px; + /* 5 */ + font-size: 18px; + line-height: 30px; +} +/* + * 1. Fixes IE9 + */ +.uk-form legend:after { + content: ""; + display: block; + border-bottom: 1px solid #ddd; + /* 1 */ + width: 100%; +} +/* Size modifiers + * Higher specificity needed to override defaults + ========================================================================== */ +select.uk-form-small, +textarea.uk-form-small, +input[type].uk-form-small, +input:not([type]).uk-form-small { + height: 25px; + padding: 3px 3px; + font-size: 12px; +} +select.uk-form-large, +textarea.uk-form-large, +input[type].uk-form-large, +input:not([type]).uk-form-large { + height: 40px; + padding: 8px 6px; + font-size: 16px; +} +/* Reset height + * Must be after size modifiers + ========================================================================== */ +.uk-form textarea, +.uk-form select[multiple], +.uk-form select[size] { + height: auto; +} +/* Validation states + * Using !important to keep the selector simple + ========================================================================== */ +/* + * Error state + */ +.uk-form-danger { + border-color: #dc8d99 !important; + background: #fff7f8 !important; + color: #d85030 !important; +} +/* + * Success state + */ +.uk-form-success { + border-color: #8ec73b !important; + background: #fafff2 !important; + color: #659f13 !important; +} +/* Style modifiers + * Using !important to keep the selector simple + ========================================================================== */ +/* + * Blank form + */ +.uk-form-blank { + border-color: transparent !important; + border-style: dashed !important; + background: none !important; +} +.uk-form-blank:focus { + border-color: #ddd !important; +} +/* Size sub-modifiers + ========================================================================== */ +/* + * Fixed widths + * Different widths for mini sized `input` and `select` elements + */ +input.uk-form-width-mini { + width: 40px; +} +select.uk-form-width-mini { + width: 65px; +} +.uk-form-width-small { + width: 130px; +} +.uk-form-width-medium { + width: 200px; +} +.uk-form-width-large { + width: 500px; +} +/* Sub-objects: `uk-form-row` + * Groups labels and controls in rows + ========================================================================== */ +/* + * Micro clearfix + * Needed for `uk-form-horizontal` modifier + */ +.uk-form-row:before, +.uk-form-row:after { + content: ""; + display: table; +} +.uk-form-row:after { + clear: both; +} +/* + * Vertical gutter + */ +.uk-form-row + .uk-form-row { + margin-top: 15px; +} +/* Help text + * Sub-object: `uk-form-help-inline`, `uk-form-help-block` + ========================================================================== */ +.uk-form-help-inline { + display: inline-block; + margin: 0 0 0 10px; +} +.uk-form-help-block { + margin: 5px 0 0 0; +} +/* Controls content + * Sub-object: `uk-form-controls`, `uk-form-controls-condensed` + ========================================================================== */ +/* + * Remove margins + */ +.uk-form-controls > :first-child { + margin-top: 0; +} +.uk-form-controls > :last-child { + margin-bottom: 0; +} +/* + * Group controls and text into blocks with a small spacing between blocks + */ +.uk-form-controls-condensed { + margin: 5px 0; +} +/* Modifier: `uk-form-stacked` + * Requires sub-object: `uk-form-label` + ========================================================================== */ +.uk-form-stacked .uk-form-label { + display: block; + margin-bottom: 5px; + font-weight: bold; +} +/* Modifier: `uk-form-horizontal` + * Requires sub-objects: `uk-form-label`, `uk-form-controls` + ========================================================================== */ +/* Tablet portrait and smaller */ +@media (max-width: 959px) { + /* Behave like `uk-form-stacked` */ + .uk-form-horizontal .uk-form-label { + display: block; + margin-bottom: 5px; + font-weight: bold; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-form-horizontal .uk-form-label { + width: 200px; + margin-top: 5px; + float: left; + } + .uk-form-horizontal .uk-form-controls { + margin-left: 215px; + } + /* Better vertical alignment if controls are checkboxes and radio buttons with text */ + .uk-form-horizontal .uk-form-controls-text { + padding-top: 5px; + } +} +/* Sub-object: `uk-form-icon` + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + */ +.uk-form-icon { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; +} +/* + * 1. Make form element clickable through icon + */ +.uk-form-icon > [class*='uk-icon-'] { + position: absolute; + top: 50%; + width: 30px; + margin-top: -7px; + font-size: 14px; + color: #999; + text-align: center; + /* 1 */ + pointer-events: none; +} +.uk-form-icon:not(.uk-form-icon-flip) > input { + padding-left: 30px !important; +} +/* + * Sub-modifier: `uk-form-icon-flip` + */ +.uk-form-icon-flip > [class*='uk-icon-'] { + right: 0; +} +.uk-form-icon-flip > input { + padding-right: 30px !important; +} +/* ======================================================================== + Component: Button + ========================================================================== */ +/* + * Removes inner padding and border in Firefox 4+. + */ +.uk-button::-moz-focus-inner { + border: 0; + padding: 0; +} +/* + * 1. Correct inability to style clickable `input` types in iOS. + * 2. Remove margins in Chrome, Safari and Opera. + * 3. Remove borders for `button`. + * 4. Address `overflow` set to `hidden` in IE 8/9/10/11. + * 5. Correct `font` properties and `color` not being inherited for `button`. + * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE + * 7. Style + * 8. `line-height` is used to create a height + * 9. `min-height` is necessary for `input` elements in Firefox and Opera because `line-height` is not working. + * 10. Reset button group whitespace hack + * 11. Required for `a`. + */ +.uk-button { + /* 1 */ + -webkit-appearance: none; + /* 2 */ + margin: 0; + /* 3 */ + border: none; + /* 4 */ + overflow: visible; + /* 5 */ + font: inherit; + color: #444; + /* 6 */ + text-transform: none; + /* 7 */ + display: inline-block; + box-sizing: border-box; + padding: 0 12px; + background: #f5f5f5; + vertical-align: middle; + /* 8 */ + line-height: 28px; + /* 9 */ + min-height: 30px; + /* 10 */ + font-size: 1rem; + /* 11 */ + text-decoration: none; + text-align: center; + border: 1px solid rgba(0, 0, 0, 0.06); + border-radius: 4px; + text-shadow: 0 1px 0 #fff; +} +.uk-button:not(:disabled) { + cursor: pointer; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + */ +.uk-button:hover, +.uk-button:focus { + background-color: #fafafa; + color: #444; + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + border-color: rgba(0, 0, 0, 0.16); +} +/* Active */ +.uk-button:active, +.uk-button.uk-active { + background-color: #eee; + color: #444; +} +/* Color modifiers + ========================================================================== */ +/* + * Modifier: `uk-button-primary` + */ +.uk-button-primary { + background-color: #00a8e6; + color: #fff; +} +/* Hover */ +.uk-button-primary:hover, +.uk-button-primary:focus { + background-color: #35b3ee; + color: #fff; +} +/* Active */ +.uk-button-primary:active, +.uk-button-primary.uk-active { + background-color: #0091ca; + color: #fff; +} +/* + * Modifier: `uk-button-success` + */ +.uk-button-success { + background-color: #8cc14c; + color: #fff; +} +/* Hover */ +.uk-button-success:hover, +.uk-button-success:focus { + background-color: #8ec73b; + color: #fff; +} +/* Active */ +.uk-button-success:active, +.uk-button-success.uk-active { + background-color: #72ae41; + color: #fff; +} +/* + * Modifier: `uk-button-danger` + */ +.uk-button-danger { + background-color: #da314b; + color: #fff; +} +/* Hover */ +.uk-button-danger:hover, +.uk-button-danger:focus { + background-color: #e4354f; + color: #fff; +} +/* Active */ +.uk-button-danger:active, +.uk-button-danger.uk-active { + background-color: #c91032; + color: #fff; +} +/* Disabled state + * Overrides also the color modifiers + ========================================================================== */ +/* Equal for all button types */ +.uk-button:disabled { + background-color: #fafafa; + color: #999; + border-color: rgba(0, 0, 0, 0.06); + box-shadow: none; + text-shadow: 0 1px 0 #fff; +} +/* Modifier: `uk-button-link` + ========================================================================== */ +/* Reset */ +.uk-button-link, +.uk-button-link:hover, +.uk-button-link:focus, +.uk-button-link:active, +.uk-button-link.uk-active, +.uk-button-link:disabled { + border-color: transparent; + background: none; + box-shadow: none; + text-shadow: none; +} +/* Color */ +.uk-button-link { + color: #07D; +} +.uk-button-link:hover, +.uk-button-link:focus, +.uk-button-link:active, +.uk-button-link.uk-active { + color: #059; + text-decoration: underline; +} +.uk-button-link:disabled { + color: #999; +} +/* Focus */ +.uk-button-link:focus { + outline: 1px dotted; +} +/* Size modifiers + ========================================================================== */ +.uk-button-mini { + min-height: 20px; + padding: 0 6px; + line-height: 18px; + font-size: 11px; +} +.uk-button-small { + min-height: 25px; + padding: 0 10px; + line-height: 23px; + font-size: 12px; +} +.uk-button-large { + min-height: 40px; + padding: 0 15px; + line-height: 38px; + font-size: 16px; + border-radius: 5px; +} +/* Sub-object `uk-button-group` + ========================================================================== */ +/* + * 1. Behave like buttons + * 2. Create position context for dropdowns + * 3. Remove whitespace between child elements when using `inline-block` + * 4. Prevent buttons from wrapping + * 5. Remove whitespace between child elements when using `inline-block` + */ +.uk-button-group { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + font-size: 0.001px; + /* 4 */ + white-space: nowrap; +} +.uk-button-group > * { + display: inline-block; +} +/* 5 */ +.uk-button-group .uk-button { + vertical-align: top; +} +/* Sub-object: `uk-button-dropdown` + ========================================================================== */ +/* + * 1. Behave like buttons + * 2. Create position context for dropdowns + */ +.uk-button-dropdown { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; +} +/* Color modifiers + ========================================================================== */ +.uk-button-primary, +.uk-button-success, +.uk-button-danger { + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); +} +.uk-button-primary:hover, +.uk-button-primary:focus, +.uk-button-success:hover, +.uk-button-success:focus, +.uk-button-danger:hover, +.uk-button-danger:focus { + border-color: rgba(0, 0, 0, 0.21); +} +/* Sub-object `uk-button-group` + ========================================================================== */ +/* + * Reset border-radius + */ +.uk-button-group > .uk-button:not(:first-child):not(:last-child), +.uk-button-group > div:not(:first-child):not(:last-child) .uk-button { + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-radius: 0; +} +.uk-button-group > .uk-button:first-child, +.uk-button-group > div:first-child .uk-button { + border-right-color: rgba(0, 0, 0, 0.1); + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.uk-button-group > .uk-button:last-child, +.uk-button-group > div:last-child .uk-button { + border-left-color: rgba(0, 0, 0, 0.1); + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +/* + * Collapse border + */ +.uk-button-group > .uk-button:nth-child(n+2), +.uk-button-group > div:nth-child(n+2) .uk-button { + margin-left: -1px; +} +/* + * Create position context to superimpose the successor elements border + * Known issue: If you use an `a` element as button and an icon inside, + * the active state will not work if you click the icon inside the button + * Workaround: Just use a `button` or `input` element as button + */ +.uk-button-group .uk-button:hover, +.uk-button-group .uk-button:active, +.uk-button-group .uk-button.uk-active { + position: relative; +} +/* ======================================================================== + Component: Icon + ========================================================================== */ +@font-face { + font-family: 'FontAwesome'; + src: url("../fonts/fontawesome-webfont.woff2") format('woff2'), url("../fonts/fontawesome-webfont.woff") format("woff"), url("../fonts/fontawesome-webfont.ttf") format("truetype"); + font-weight: normal; + font-style: normal; +} +/* + * 1. Allow margin + * 2. Prevent inherit font style + * 4. Correct line-height + * 5. Better font rendering + * 6. Remove `text-decoration` for anchors + */ +[class*='uk-icon-'] { + font-family: FontAwesome; + /* 1 */ + display: inline-block; + /* 2 */ + font-weight: normal; + font-style: normal; + /* 4 */ + line-height: 1; + /* 5 */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* 6 */ +[class*='uk-icon-'], +[class*='uk-icon-']:hover, +[class*='uk-icon-']:focus { + text-decoration: none; +} +/* Size modifiers + ========================================================================== */ +.uk-icon-small { + font-size: 150%; + vertical-align: -10%; +} +.uk-icon-medium { + font-size: 200%; + vertical-align: -16%; +} +.uk-icon-large { + font-size: 250%; + vertical-align: -22%; +} +/* Modifier: `uk-icon-justify` + ========================================================================== */ +.uk-icon-justify { + width: 1em; + text-align: center; +} +/* Modifier: `uk-icon-spin` + ========================================================================== */ +.uk-icon-spin { + display: inline-block; + -webkit-animation: uk-rotate 2s infinite linear; + animation: uk-rotate 2s infinite linear; +} +/* Modifier: `uk-icon-hover` + ========================================================================== */ +.uk-icon-hover { + color: #999; +} +/* + * Hover + */ +.uk-icon-hover:hover { + color: #444; +} +/* Modifier: `uk-icon-button` + ========================================================================== */ +.uk-icon-button { + box-sizing: border-box; + display: inline-block; + width: 35px; + height: 35px; + border-radius: 100%; + background: #f5f5f5; + line-height: 35px; + color: #444; + font-size: 18px; + text-align: center; + border: 1px solid #e7e7e7; + text-shadow: 0 1px 0 #fff; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-icon-button:hover, +.uk-icon-button:focus { + background-color: #fafafa; + color: #444; + /* 2 */ + outline: none; + border-color: #d3d3d3; +} +/* Active */ +.uk-icon-button:active { + background-color: #eee; + color: #444; +} +/* Icon mapping + ========================================================================== */ +.uk-icon-glass:before { + content: "\f000"; +} +.uk-icon-music:before { + content: "\f001"; +} +.uk-icon-search:before { + content: "\f002"; +} +.uk-icon-envelope-o:before { + content: "\f003"; +} +.uk-icon-heart:before { + content: "\f004"; +} +.uk-icon-star:before { + content: "\f005"; +} +.uk-icon-star-o:before { + content: "\f006"; +} +.uk-icon-user:before { + content: "\f007"; +} +.uk-icon-film:before { + content: "\f008"; +} +.uk-icon-th-large:before { + content: "\f009"; +} +.uk-icon-th:before { + content: "\f00a"; +} +.uk-icon-th-list:before { + content: "\f00b"; +} +.uk-icon-check:before { + content: "\f00c"; +} +.uk-icon-remove:before, +.uk-icon-close:before, +.uk-icon-times:before { + content: "\f00d"; +} +.uk-icon-search-plus:before { + content: "\f00e"; +} +.uk-icon-search-minus:before { + content: "\f010"; +} +.uk-icon-power-off:before { + content: "\f011"; +} +.uk-icon-signal:before { + content: "\f012"; +} +.uk-icon-gear:before, +.uk-icon-cog:before { + content: "\f013"; +} +.uk-icon-trash-o:before { + content: "\f014"; +} +.uk-icon-home:before { + content: "\f015"; +} +.uk-icon-file-o:before { + content: "\f016"; +} +.uk-icon-clock-o:before { + content: "\f017"; +} +.uk-icon-road:before { + content: "\f018"; +} +.uk-icon-download:before { + content: "\f019"; +} +.uk-icon-arrow-circle-o-down:before { + content: "\f01a"; +} +.uk-icon-arrow-circle-o-up:before { + content: "\f01b"; +} +.uk-icon-inbox:before { + content: "\f01c"; +} +.uk-icon-play-circle-o:before { + content: "\f01d"; +} +.uk-icon-rotate-right:before, +.uk-icon-repeat:before { + content: "\f01e"; +} +.uk-icon-refresh:before { + content: "\f021"; +} +.uk-icon-list-alt:before { + content: "\f022"; +} +.uk-icon-lock:before { + content: "\f023"; +} +.uk-icon-flag:before { + content: "\f024"; +} +.uk-icon-headphones:before { + content: "\f025"; +} +.uk-icon-volume-off:before { + content: "\f026"; +} +.uk-icon-volume-down:before { + content: "\f027"; +} +.uk-icon-volume-up:before { + content: "\f028"; +} +.uk-icon-qrcode:before { + content: "\f029"; +} +.uk-icon-barcode:before { + content: "\f02a"; +} +.uk-icon-tag:before { + content: "\f02b"; +} +.uk-icon-tags:before { + content: "\f02c"; +} +.uk-icon-book:before { + content: "\f02d"; +} +.uk-icon-bookmark:before { + content: "\f02e"; +} +.uk-icon-print:before { + content: "\f02f"; +} +.uk-icon-camera:before { + content: "\f030"; +} +.uk-icon-font:before { + content: "\f031"; +} +.uk-icon-bold:before { + content: "\f032"; +} +.uk-icon-italic:before { + content: "\f033"; +} +.uk-icon-text-height:before { + content: "\f034"; +} +.uk-icon-text-width:before { + content: "\f035"; +} +.uk-icon-align-left:before { + content: "\f036"; +} +.uk-icon-align-center:before { + content: "\f037"; +} +.uk-icon-align-right:before { + content: "\f038"; +} +.uk-icon-align-justify:before { + content: "\f039"; +} +.uk-icon-list:before { + content: "\f03a"; +} +.uk-icon-dedent:before, +.uk-icon-outdent:before { + content: "\f03b"; +} +.uk-icon-indent:before { + content: "\f03c"; +} +.uk-icon-video-camera:before { + content: "\f03d"; +} +.uk-icon-photo:before, +.uk-icon-image:before, +.uk-icon-picture-o:before { + content: "\f03e"; +} +.uk-icon-pencil:before { + content: "\f040"; +} +.uk-icon-map-marker:before { + content: "\f041"; +} +.uk-icon-adjust:before { + content: "\f042"; +} +.uk-icon-tint:before { + content: "\f043"; +} +.uk-icon-edit:before, +.uk-icon-pencil-square-o:before { + content: "\f044"; +} +.uk-icon-share-square-o:before { + content: "\f045"; +} +.uk-icon-check-square-o:before { + content: "\f046"; +} +.uk-icon-arrows:before { + content: "\f047"; +} +.uk-icon-step-backward:before { + content: "\f048"; +} +.uk-icon-fast-backward:before { + content: "\f049"; +} +.uk-icon-backward:before { + content: "\f04a"; +} +.uk-icon-play:before { + content: "\f04b"; +} +.uk-icon-pause:before { + content: "\f04c"; +} +.uk-icon-stop:before { + content: "\f04d"; +} +.uk-icon-forward:before { + content: "\f04e"; +} +.uk-icon-fast-forward:before { + content: "\f050"; +} +.uk-icon-step-forward:before { + content: "\f051"; +} +.uk-icon-eject:before { + content: "\f052"; +} +.uk-icon-chevron-left:before { + content: "\f053"; +} +.uk-icon-chevron-right:before { + content: "\f054"; +} +.uk-icon-plus-circle:before { + content: "\f055"; +} +.uk-icon-minus-circle:before { + content: "\f056"; +} +.uk-icon-times-circle:before { + content: "\f057"; +} +.uk-icon-check-circle:before { + content: "\f058"; +} +.uk-icon-question-circle:before { + content: "\f059"; +} +.uk-icon-info-circle:before { + content: "\f05a"; +} +.uk-icon-crosshairs:before { + content: "\f05b"; +} +.uk-icon-times-circle-o:before { + content: "\f05c"; +} +.uk-icon-check-circle-o:before { + content: "\f05d"; +} +.uk-icon-ban:before { + content: "\f05e"; +} +.uk-icon-arrow-left:before { + content: "\f060"; +} +.uk-icon-arrow-right:before { + content: "\f061"; +} +.uk-icon-arrow-up:before { + content: "\f062"; +} +.uk-icon-arrow-down:before { + content: "\f063"; +} +.uk-icon-mail-forward:before, +.uk-icon-share:before { + content: "\f064"; +} +.uk-icon-expand:before { + content: "\f065"; +} +.uk-icon-compress:before { + content: "\f066"; +} +.uk-icon-plus:before { + content: "\f067"; +} +.uk-icon-minus:before { + content: "\f068"; +} +.uk-icon-asterisk:before { + content: "\f069"; +} +.uk-icon-exclamation-circle:before { + content: "\f06a"; +} +.uk-icon-gift:before { + content: "\f06b"; +} +.uk-icon-leaf:before { + content: "\f06c"; +} +.uk-icon-fire:before { + content: "\f06d"; +} +.uk-icon-eye:before { + content: "\f06e"; +} +.uk-icon-eye-slash:before { + content: "\f070"; +} +.uk-icon-warning:before, +.uk-icon-exclamation-triangle:before { + content: "\f071"; +} +.uk-icon-plane:before { + content: "\f072"; +} +.uk-icon-calendar:before { + content: "\f073"; +} +.uk-icon-random:before { + content: "\f074"; +} +.uk-icon-comment:before { + content: "\f075"; +} +.uk-icon-magnet:before { + content: "\f076"; +} +.uk-icon-chevron-up:before { + content: "\f077"; +} +.uk-icon-chevron-down:before { + content: "\f078"; +} +.uk-icon-retweet:before { + content: "\f079"; +} +.uk-icon-shopping-cart:before { + content: "\f07a"; +} +.uk-icon-folder:before { + content: "\f07b"; +} +.uk-icon-folder-open:before { + content: "\f07c"; +} +.uk-icon-arrows-v:before { + content: "\f07d"; +} +.uk-icon-arrows-h:before { + content: "\f07e"; +} +.uk-icon-bar-chart-o:before, +.uk-icon-bar-chart:before { + content: "\f080"; +} +.uk-icon-twitter-square:before { + content: "\f081"; +} +.uk-icon-facebook-square:before { + content: "\f082"; +} +.uk-icon-camera-retro:before { + content: "\f083"; +} +.uk-icon-key:before { + content: "\f084"; +} +.uk-icon-gears:before, +.uk-icon-cogs:before { + content: "\f085"; +} +.uk-icon-comments:before { + content: "\f086"; +} +.uk-icon-thumbs-o-up:before { + content: "\f087"; +} +.uk-icon-thumbs-o-down:before { + content: "\f088"; +} +.uk-icon-star-half:before { + content: "\f089"; +} +.uk-icon-heart-o:before { + content: "\f08a"; +} +.uk-icon-sign-out:before { + content: "\f08b"; +} +.uk-icon-linkedin-square:before { + content: "\f08c"; +} +.uk-icon-thumb-tack:before { + content: "\f08d"; +} +.uk-icon-external-link:before { + content: "\f08e"; +} +.uk-icon-sign-in:before { + content: "\f090"; +} +.uk-icon-trophy:before { + content: "\f091"; +} +.uk-icon-github-square:before { + content: "\f092"; +} +.uk-icon-upload:before { + content: "\f093"; +} +.uk-icon-lemon-o:before { + content: "\f094"; +} +.uk-icon-phone:before { + content: "\f095"; +} +.uk-icon-square-o:before { + content: "\f096"; +} +.uk-icon-bookmark-o:before { + content: "\f097"; +} +.uk-icon-phone-square:before { + content: "\f098"; +} +.uk-icon-twitter:before { + content: "\f099"; +} +.uk-icon-facebook-f:before, +.uk-icon-facebook:before { + content: "\f09a"; +} +.uk-icon-github:before { + content: "\f09b"; +} +.uk-icon-unlock:before { + content: "\f09c"; +} +.uk-icon-credit-card:before { + content: "\f09d"; +} +.uk-icon-rss:before { + content: "\f09e"; +} +.uk-icon-hdd-o:before { + content: "\f0a0"; +} +.uk-icon-bullhorn:before { + content: "\f0a1"; +} +.uk-icon-bell:before { + content: "\f0f3"; +} +.uk-icon-certificate:before { + content: "\f0a3"; +} +.uk-icon-hand-o-right:before { + content: "\f0a4"; +} +.uk-icon-hand-o-left:before { + content: "\f0a5"; +} +.uk-icon-hand-o-up:before { + content: "\f0a6"; +} +.uk-icon-hand-o-down:before { + content: "\f0a7"; +} +.uk-icon-arrow-circle-left:before { + content: "\f0a8"; +} +.uk-icon-arrow-circle-right:before { + content: "\f0a9"; +} +.uk-icon-arrow-circle-up:before { + content: "\f0aa"; +} +.uk-icon-arrow-circle-down:before { + content: "\f0ab"; +} +.uk-icon-globe:before { + content: "\f0ac"; +} +.uk-icon-wrench:before { + content: "\f0ad"; +} +.uk-icon-tasks:before { + content: "\f0ae"; +} +.uk-icon-filter:before { + content: "\f0b0"; +} +.uk-icon-briefcase:before { + content: "\f0b1"; +} +.uk-icon-arrows-alt:before { + content: "\f0b2"; +} +.uk-icon-group:before, +.uk-icon-users:before { + content: "\f0c0"; +} +.uk-icon-chain:before, +.uk-icon-link:before { + content: "\f0c1"; +} +.uk-icon-cloud:before { + content: "\f0c2"; +} +.uk-icon-flask:before { + content: "\f0c3"; +} +.uk-icon-cut:before, +.uk-icon-scissors:before { + content: "\f0c4"; +} +.uk-icon-copy:before, +.uk-icon-files-o:before { + content: "\f0c5"; +} +.uk-icon-paperclip:before { + content: "\f0c6"; +} +.uk-icon-save:before, +.uk-icon-floppy-o:before { + content: "\f0c7"; +} +.uk-icon-square:before { + content: "\f0c8"; +} +.uk-icon-navicon:before, +.uk-icon-reorder:before, +.uk-icon-bars:before { + content: "\f0c9"; +} +.uk-icon-list-ul:before { + content: "\f0ca"; +} +.uk-icon-list-ol:before { + content: "\f0cb"; +} +.uk-icon-strikethrough:before { + content: "\f0cc"; +} +.uk-icon-underline:before { + content: "\f0cd"; +} +.uk-icon-table:before { + content: "\f0ce"; +} +.uk-icon-magic:before { + content: "\f0d0"; +} +.uk-icon-truck:before { + content: "\f0d1"; +} +.uk-icon-pinterest:before { + content: "\f0d2"; +} +.uk-icon-pinterest-square:before { + content: "\f0d3"; +} +.uk-icon-google-plus-square:before { + content: "\f0d4"; +} +.uk-icon-google-plus:before { + content: "\f0d5"; +} +.uk-icon-money:before { + content: "\f0d6"; +} +.uk-icon-caret-down:before { + content: "\f0d7"; +} +.uk-icon-caret-up:before { + content: "\f0d8"; +} +.uk-icon-caret-left:before { + content: "\f0d9"; +} +.uk-icon-caret-right:before { + content: "\f0da"; +} +.uk-icon-columns:before { + content: "\f0db"; +} +.uk-icon-unsorted:before, +.uk-icon-sort:before { + content: "\f0dc"; +} +.uk-icon-sort-down:before, +.uk-icon-sort-desc:before { + content: "\f0dd"; +} +.uk-icon-sort-up:before, +.uk-icon-sort-asc:before { + content: "\f0de"; +} +.uk-icon-envelope:before { + content: "\f0e0"; +} +.uk-icon-linkedin:before { + content: "\f0e1"; +} +.uk-icon-rotate-left:before, +.uk-icon-undo:before { + content: "\f0e2"; +} +.uk-icon-legal:before, +.uk-icon-gavel:before { + content: "\f0e3"; +} +.uk-icon-dashboard:before, +.uk-icon-tachometer:before { + content: "\f0e4"; +} +.uk-icon-comment-o:before { + content: "\f0e5"; +} +.uk-icon-comments-o:before { + content: "\f0e6"; +} +.uk-icon-flash:before, +.uk-icon-bolt:before { + content: "\f0e7"; +} +.uk-icon-sitemap:before { + content: "\f0e8"; +} +.uk-icon-umbrella:before { + content: "\f0e9"; +} +.uk-icon-paste:before, +.uk-icon-clipboard:before { + content: "\f0ea"; +} +.uk-icon-lightbulb-o:before { + content: "\f0eb"; +} +.uk-icon-exchange:before { + content: "\f0ec"; +} +.uk-icon-cloud-download:before { + content: "\f0ed"; +} +.uk-icon-cloud-upload:before { + content: "\f0ee"; +} +.uk-icon-user-md:before { + content: "\f0f0"; +} +.uk-icon-stethoscope:before { + content: "\f0f1"; +} +.uk-icon-suitcase:before { + content: "\f0f2"; +} +.uk-icon-bell-o:before { + content: "\f0a2"; +} +.uk-icon-coffee:before { + content: "\f0f4"; +} +.uk-icon-cutlery:before { + content: "\f0f5"; +} +.uk-icon-file-text-o:before { + content: "\f0f6"; +} +.uk-icon-building-o:before { + content: "\f0f7"; +} +.uk-icon-hospital-o:before { + content: "\f0f8"; +} +.uk-icon-ambulance:before { + content: "\f0f9"; +} +.uk-icon-medkit:before { + content: "\f0fa"; +} +.uk-icon-fighter-jet:before { + content: "\f0fb"; +} +.uk-icon-beer:before { + content: "\f0fc"; +} +.uk-icon-h-square:before { + content: "\f0fd"; +} +.uk-icon-plus-square:before { + content: "\f0fe"; +} +.uk-icon-angle-double-left:before { + content: "\f100"; +} +.uk-icon-angle-double-right:before { + content: "\f101"; +} +.uk-icon-angle-double-up:before { + content: "\f102"; +} +.uk-icon-angle-double-down:before { + content: "\f103"; +} +.uk-icon-angle-left:before { + content: "\f104"; +} +.uk-icon-angle-right:before { + content: "\f105"; +} +.uk-icon-angle-up:before { + content: "\f106"; +} +.uk-icon-angle-down:before { + content: "\f107"; +} +.uk-icon-desktop:before { + content: "\f108"; +} +.uk-icon-laptop:before { + content: "\f109"; +} +.uk-icon-tablet:before { + content: "\f10a"; +} +.uk-icon-mobile-phone:before, +.uk-icon-mobile:before { + content: "\f10b"; +} +.uk-icon-circle-o:before { + content: "\f10c"; +} +.uk-icon-quote-left:before { + content: "\f10d"; +} +.uk-icon-quote-right:before { + content: "\f10e"; +} +.uk-icon-spinner:before { + content: "\f110"; +} +.uk-icon-circle:before { + content: "\f111"; +} +.uk-icon-mail-reply:before, +.uk-icon-reply:before { + content: "\f112"; +} +.uk-icon-github-alt:before { + content: "\f113"; +} +.uk-icon-folder-o:before { + content: "\f114"; +} +.uk-icon-folder-open-o:before { + content: "\f115"; +} +.uk-icon-smile-o:before { + content: "\f118"; +} +.uk-icon-frown-o:before { + content: "\f119"; +} +.uk-icon-meh-o:before { + content: "\f11a"; +} +.uk-icon-gamepad:before { + content: "\f11b"; +} +.uk-icon-keyboard-o:before { + content: "\f11c"; +} +.uk-icon-flag-o:before { + content: "\f11d"; +} +.uk-icon-flag-checkered:before { + content: "\f11e"; +} +.uk-icon-terminal:before { + content: "\f120"; +} +.uk-icon-code:before { + content: "\f121"; +} +.uk-icon-mail-reply-all:before, +.uk-icon-reply-all:before { + content: "\f122"; +} +.uk-icon-star-half-empty:before, +.uk-icon-star-half-full:before, +.uk-icon-star-half-o:before { + content: "\f123"; +} +.uk-icon-location-arrow:before { + content: "\f124"; +} +.uk-icon-crop:before { + content: "\f125"; +} +.uk-icon-code-fork:before { + content: "\f126"; +} +.uk-icon-unlink:before, +.uk-icon-chain-broken:before { + content: "\f127"; +} +.uk-icon-question:before { + content: "\f128"; +} +.uk-icon-info:before { + content: "\f129"; +} +.uk-icon-exclamation:before { + content: "\f12a"; +} +.uk-icon-superscript:before { + content: "\f12b"; +} +.uk-icon-subscript:before { + content: "\f12c"; +} +.uk-icon-eraser:before { + content: "\f12d"; +} +.uk-icon-puzzle-piece:before { + content: "\f12e"; +} +.uk-icon-microphone:before { + content: "\f130"; +} +.uk-icon-microphone-slash:before { + content: "\f131"; +} +.uk-icon-shield:before { + content: "\f132"; +} +.uk-icon-calendar-o:before { + content: "\f133"; +} +.uk-icon-fire-extinguisher:before { + content: "\f134"; +} +.uk-icon-rocket:before { + content: "\f135"; +} +.uk-icon-maxcdn:before { + content: "\f136"; +} +.uk-icon-chevron-circle-left:before { + content: "\f137"; +} +.uk-icon-chevron-circle-right:before { + content: "\f138"; +} +.uk-icon-chevron-circle-up:before { + content: "\f139"; +} +.uk-icon-chevron-circle-down:before { + content: "\f13a"; +} +.uk-icon-html5:before { + content: "\f13b"; +} +.uk-icon-css3:before { + content: "\f13c"; +} +.uk-icon-anchor:before { + content: "\f13d"; +} +.uk-icon-unlock-alt:before { + content: "\f13e"; +} +.uk-icon-bullseye:before { + content: "\f140"; +} +.uk-icon-ellipsis-h:before { + content: "\f141"; +} +.uk-icon-ellipsis-v:before { + content: "\f142"; +} +.uk-icon-rss-square:before { + content: "\f143"; +} +.uk-icon-play-circle:before { + content: "\f144"; +} +.uk-icon-ticket:before { + content: "\f145"; +} +.uk-icon-minus-square:before { + content: "\f146"; +} +.uk-icon-minus-square-o:before { + content: "\f147"; +} +.uk-icon-level-up:before { + content: "\f148"; +} +.uk-icon-level-down:before { + content: "\f149"; +} +.uk-icon-check-square:before { + content: "\f14a"; +} +.uk-icon-pencil-square:before { + content: "\f14b"; +} +.uk-icon-external-link-square:before { + content: "\f14c"; +} +.uk-icon-share-square:before { + content: "\f14d"; +} +.uk-icon-compass:before { + content: "\f14e"; +} +.uk-icon-toggle-down:before, +.uk-icon-caret-square-o-down:before { + content: "\f150"; +} +.uk-icon-toggle-up:before, +.uk-icon-caret-square-o-up:before { + content: "\f151"; +} +.uk-icon-toggle-right:before, +.uk-icon-caret-square-o-right:before { + content: "\f152"; +} +.uk-icon-euro:before, +.uk-icon-eur:before { + content: "\f153"; +} +.uk-icon-gbp:before { + content: "\f154"; +} +.uk-icon-dollar:before, +.uk-icon-usd:before { + content: "\f155"; +} +.uk-icon-rupee:before, +.uk-icon-inr:before { + content: "\f156"; +} +.uk-icon-cny:before, +.uk-icon-rmb:before, +.uk-icon-yen:before, +.uk-icon-jpy:before { + content: "\f157"; +} +.uk-icon-ruble:before, +.uk-icon-rouble:before, +.uk-icon-rub:before { + content: "\f158"; +} +.uk-icon-won:before, +.uk-icon-krw:before { + content: "\f159"; +} +.uk-icon-bitcoin:before, +.uk-icon-btc:before { + content: "\f15a"; +} +.uk-icon-file:before { + content: "\f15b"; +} +.uk-icon-file-text:before { + content: "\f15c"; +} +.uk-icon-sort-alpha-asc:before { + content: "\f15d"; +} +.uk-icon-sort-alpha-desc:before { + content: "\f15e"; +} +.uk-icon-sort-amount-asc:before { + content: "\f160"; +} +.uk-icon-sort-amount-desc:before { + content: "\f161"; +} +.uk-icon-sort-numeric-asc:before { + content: "\f162"; +} +.uk-icon-sort-numeric-desc:before { + content: "\f163"; +} +.uk-icon-thumbs-up:before { + content: "\f164"; +} +.uk-icon-thumbs-down:before { + content: "\f165"; +} +.uk-icon-youtube-square:before { + content: "\f166"; +} +.uk-icon-youtube:before { + content: "\f167"; +} +.uk-icon-xing:before { + content: "\f168"; +} +.uk-icon-xing-square:before { + content: "\f169"; +} +.uk-icon-youtube-play:before { + content: "\f16a"; +} +.uk-icon-dropbox:before { + content: "\f16b"; +} +.uk-icon-stack-overflow:before { + content: "\f16c"; +} +.uk-icon-instagram:before { + content: "\f16d"; +} +.uk-icon-flickr:before { + content: "\f16e"; +} +.uk-icon-adn:before { + content: "\f170"; +} +.uk-icon-bitbucket:before { + content: "\f171"; +} +.uk-icon-bitbucket-square:before { + content: "\f172"; +} +.uk-icon-tumblr:before { + content: "\f173"; +} +.uk-icon-tumblr-square:before { + content: "\f174"; +} +.uk-icon-long-arrow-down:before { + content: "\f175"; +} +.uk-icon-long-arrow-up:before { + content: "\f176"; +} +.uk-icon-long-arrow-left:before { + content: "\f177"; +} +.uk-icon-long-arrow-right:before { + content: "\f178"; +} +.uk-icon-apple:before { + content: "\f179"; +} +.uk-icon-windows:before { + content: "\f17a"; +} +.uk-icon-android:before { + content: "\f17b"; +} +.uk-icon-linux:before { + content: "\f17c"; +} +.uk-icon-dribbble:before { + content: "\f17d"; +} +.uk-icon-skype:before { + content: "\f17e"; +} +.uk-icon-foursquare:before { + content: "\f180"; +} +.uk-icon-trello:before { + content: "\f181"; +} +.uk-icon-female:before { + content: "\f182"; +} +.uk-icon-male:before { + content: "\f183"; +} +.uk-icon-gittip:before, +.uk-icon-gratipay:before { + content: "\f184"; +} +.uk-icon-sun-o:before { + content: "\f185"; +} +.uk-icon-moon-o:before { + content: "\f186"; +} +.uk-icon-archive:before { + content: "\f187"; +} +.uk-icon-bug:before { + content: "\f188"; +} +.uk-icon-vk:before { + content: "\f189"; +} +.uk-icon-weibo:before { + content: "\f18a"; +} +.uk-icon-renren:before { + content: "\f18b"; +} +.uk-icon-pagelines:before { + content: "\f18c"; +} +.uk-icon-stack-exchange:before { + content: "\f18d"; +} +.uk-icon-arrow-circle-o-right:before { + content: "\f18e"; +} +.uk-icon-arrow-circle-o-left:before { + content: "\f190"; +} +.uk-icon-toggle-left:before, +.uk-icon-caret-square-o-left:before { + content: "\f191"; +} +.uk-icon-dot-circle-o:before { + content: "\f192"; +} +.uk-icon-wheelchair:before { + content: "\f193"; +} +.uk-icon-vimeo-square:before { + content: "\f194"; +} +.uk-icon-turkish-lira:before, +.uk-icon-try:before { + content: "\f195"; +} +.uk-icon-plus-square-o:before { + content: "\f196"; +} +.uk-icon-space-shuttle:before { + content: "\f197"; +} +.uk-icon-slack:before { + content: "\f198"; +} +.uk-icon-envelope-square:before { + content: "\f199"; +} +.uk-icon-wordpress:before { + content: "\f19a"; +} +.uk-icon-openid:before { + content: "\f19b"; +} +.uk-icon-institution:before, +.uk-icon-bank:before, +.uk-icon-university:before { + content: "\f19c"; +} +.uk-icon-mortar-board:before, +.uk-icon-graduation-cap:before { + content: "\f19d"; +} +.uk-icon-yahoo:before { + content: "\f19e"; +} +.uk-icon-google:before { + content: "\f1a0"; +} +.uk-icon-reddit:before { + content: "\f1a1"; +} +.uk-icon-reddit-square:before { + content: "\f1a2"; +} +.uk-icon-stumbleupon-circle:before { + content: "\f1a3"; +} +.uk-icon-stumbleupon:before { + content: "\f1a4"; +} +.uk-icon-delicious:before { + content: "\f1a5"; +} +.uk-icon-digg:before { + content: "\f1a6"; +} +.uk-icon-pied-piper:before { + content: "\f1a7"; +} +.uk-icon-pied-piper-alt:before { + content: "\f1a8"; +} +.uk-icon-drupal:before { + content: "\f1a9"; +} +.uk-icon-joomla:before { + content: "\f1aa"; +} +.uk-icon-language:before { + content: "\f1ab"; +} +.uk-icon-fax:before { + content: "\f1ac"; +} +.uk-icon-building:before { + content: "\f1ad"; +} +.uk-icon-child:before { + content: "\f1ae"; +} +.uk-icon-paw:before { + content: "\f1b0"; +} +.uk-icon-spoon:before { + content: "\f1b1"; +} +.uk-icon-cube:before { + content: "\f1b2"; +} +.uk-icon-cubes:before { + content: "\f1b3"; +} +.uk-icon-behance:before { + content: "\f1b4"; +} +.uk-icon-behance-square:before { + content: "\f1b5"; +} +.uk-icon-steam:before { + content: "\f1b6"; +} +.uk-icon-steam-square:before { + content: "\f1b7"; +} +.uk-icon-recycle:before { + content: "\f1b8"; +} +.uk-icon-automobile:before, +.uk-icon-car:before { + content: "\f1b9"; +} +.uk-icon-cab:before, +.uk-icon-taxi:before { + content: "\f1ba"; +} +.uk-icon-tree:before { + content: "\f1bb"; +} +.uk-icon-spotify:before { + content: "\f1bc"; +} +.uk-icon-deviantart:before { + content: "\f1bd"; +} +.uk-icon-soundcloud:before { + content: "\f1be"; +} +.uk-icon-database:before { + content: "\f1c0"; +} +.uk-icon-file-pdf-o:before { + content: "\f1c1"; +} +.uk-icon-file-word-o:before { + content: "\f1c2"; +} +.uk-icon-file-excel-o:before { + content: "\f1c3"; +} +.uk-icon-file-powerpoint-o:before { + content: "\f1c4"; +} +.uk-icon-file-photo-o:before, +.uk-icon-file-picture-o:before, +.uk-icon-file-image-o:before { + content: "\f1c5"; +} +.uk-icon-file-zip-o:before, +.uk-icon-file-archive-o:before { + content: "\f1c6"; +} +.uk-icon-file-sound-o:before, +.uk-icon-file-audio-o:before { + content: "\f1c7"; +} +.uk-icon-file-movie-o:before, +.uk-icon-file-video-o:before { + content: "\f1c8"; +} +.uk-icon-file-code-o:before { + content: "\f1c9"; +} +.uk-icon-vine:before { + content: "\f1ca"; +} +.uk-icon-codepen:before { + content: "\f1cb"; +} +.uk-icon-jsfiddle:before { + content: "\f1cc"; +} +.uk-icon-life-bouy:before, +.uk-icon-life-buoy:before, +.uk-icon-life-saver:before, +.uk-icon-support:before, +.uk-icon-life-ring:before { + content: "\f1cd"; +} +.uk-icon-circle-o-notch:before { + content: "\f1ce"; +} +.uk-icon-ra:before, +.uk-icon-rebel:before { + content: "\f1d0"; +} +.uk-icon-ge:before, +.uk-icon-empire:before { + content: "\f1d1"; +} +.uk-icon-git-square:before { + content: "\f1d2"; +} +.uk-icon-git:before { + content: "\f1d3"; +} +.uk-icon-hacker-news:before { + content: "\f1d4"; +} +.uk-icon-tencent-weibo:before { + content: "\f1d5"; +} +.uk-icon-qq:before { + content: "\f1d6"; +} +.uk-icon-wechat:before, +.uk-icon-weixin:before { + content: "\f1d7"; +} +.uk-icon-send:before, +.uk-icon-paper-plane:before { + content: "\f1d8"; +} +.uk-icon-send-o:before, +.uk-icon-paper-plane-o:before { + content: "\f1d9"; +} +.uk-icon-history:before { + content: "\f1da"; +} +.uk-icon-genderless:before, +.uk-icon-circle-thin:before { + content: "\f1db"; +} +.uk-icon-header:before { + content: "\f1dc"; +} +.uk-icon-paragraph:before { + content: "\f1dd"; +} +.uk-icon-sliders:before { + content: "\f1de"; +} +.uk-icon-share-alt:before { + content: "\f1e0"; +} +.uk-icon-share-alt-square:before { + content: "\f1e1"; +} +.uk-icon-bomb:before { + content: "\f1e2"; +} +.uk-icon-soccer-ball-o:before, +.uk-icon-futbol-o:before { + content: "\f1e3"; +} +.uk-icon-tty:before { + content: "\f1e4"; +} +.uk-icon-binoculars:before { + content: "\f1e5"; +} +.uk-icon-plug:before { + content: "\f1e6"; +} +.uk-icon-slideshare:before { + content: "\f1e7"; +} +.uk-icon-twitch:before { + content: "\f1e8"; +} +.uk-icon-yelp:before { + content: "\f1e9"; +} +.uk-icon-newspaper-o:before { + content: "\f1ea"; +} +.uk-icon-wifi:before { + content: "\f1eb"; +} +.uk-icon-calculator:before { + content: "\f1ec"; +} +.uk-icon-paypal:before { + content: "\f1ed"; +} +.uk-icon-google-wallet:before { + content: "\f1ee"; +} +.uk-icon-cc-visa:before { + content: "\f1f0"; +} +.uk-icon-cc-mastercard:before { + content: "\f1f1"; +} +.uk-icon-cc-discover:before { + content: "\f1f2"; +} +.uk-icon-cc-amex:before { + content: "\f1f3"; +} +.uk-icon-cc-paypal:before { + content: "\f1f4"; +} +.uk-icon-cc-stripe:before { + content: "\f1f5"; +} +.uk-icon-bell-slash:before { + content: "\f1f6"; +} +.uk-icon-bell-slash-o:before { + content: "\f1f7"; +} +.uk-icon-trash:before { + content: "\f1f8"; +} +.uk-icon-copyright:before { + content: "\f1f9"; +} +.uk-icon-at:before { + content: "\f1fa"; +} +.uk-icon-eyedropper:before { + content: "\f1fb"; +} +.uk-icon-paint-brush:before { + content: "\f1fc"; +} +.uk-icon-birthday-cake:before { + content: "\f1fd"; +} +.uk-icon-area-chart:before { + content: "\f1fe"; +} +.uk-icon-pie-chart:before { + content: "\f200"; +} +.uk-icon-line-chart:before { + content: "\f201"; +} +.uk-icon-lastfm:before { + content: "\f202"; +} +.uk-icon-lastfm-square:before { + content: "\f203"; +} +.uk-icon-toggle-off:before { + content: "\f204"; +} +.uk-icon-toggle-on:before { + content: "\f205"; +} +.uk-icon-bicycle:before { + content: "\f206"; +} +.uk-icon-bus:before { + content: "\f207"; +} +.uk-icon-ioxhost:before { + content: "\f208"; +} +.uk-icon-angellist:before { + content: "\f209"; +} +.uk-icon-cc:before { + content: "\f20a"; +} +.uk-icon-shekel:before, +.uk-icon-sheqel:before, +.uk-icon-ils:before { + content: "\f20b"; +} +.uk-icon-meanpath:before { + content: "\f20c"; +} +.uk-icon-buysellads:before { + content: "\f20d"; +} +.uk-icon-connectdevelop:before { + content: "\f20e"; +} +.uk-icon-dashcube:before { + content: "\f210"; +} +.uk-icon-forumbee:before { + content: "\f211"; +} +.uk-icon-leanpub:before { + content: "\f212"; +} +.uk-icon-sellsy:before { + content: "\f213"; +} +.uk-icon-shirtsinbulk:before { + content: "\f214"; +} +.uk-icon-simplybuilt:before { + content: "\f215"; +} +.uk-icon-skyatlas:before { + content: "\f216"; +} +.uk-icon-cart-plus:before { + content: "\f217"; +} +.uk-icon-cart-arrow-down:before { + content: "\f218"; +} +.uk-icon-diamond:before { + content: "\f219"; +} +.uk-icon-ship:before { + content: "\f21a"; +} +.uk-icon-user-secret:before { + content: "\f21b"; +} +.uk-icon-motorcycle:before { + content: "\f21c"; +} +.uk-icon-street-view:before { + content: "\f21d"; +} +.uk-icon-heartbeat:before { + content: "\f21e"; +} +.uk-icon-venus:before { + content: "\f221"; +} +.uk-icon-mars:before { + content: "\f222"; +} +.uk-icon-mercury:before { + content: "\f223"; +} +.uk-icon-transgender:before { + content: "\f224"; +} +.uk-icon-transgender-alt:before { + content: "\f225"; +} +.uk-icon-venus-double:before { + content: "\f226"; +} +.uk-icon-mars-double:before { + content: "\f227"; +} +.uk-icon-venus-mars:before { + content: "\f228"; +} +.uk-icon-mars-stroke:before { + content: "\f229"; +} +.uk-icon-mars-stroke-v:before { + content: "\f22a"; +} +.uk-icon-mars-stroke-h:before { + content: "\f22b"; +} +.uk-icon-neuter:before { + content: "\f22c"; +} +.uk-icon-facebook-official:before { + content: "\f230"; +} +.uk-icon-pinterest-p:before { + content: "\f231"; +} +.uk-icon-whatsapp:before { + content: "\f232"; +} +.uk-icon-server:before { + content: "\f233"; +} +.uk-icon-user-plus:before { + content: "\f234"; +} +.uk-icon-user-times:before { + content: "\f235"; +} +.uk-icon-hotel:before, +.uk-icon-bed:before { + content: "\f236"; +} +.uk-icon-viacoin:before { + content: "\f237"; +} +.uk-icon-train:before { + content: "\f238"; +} +.uk-icon-subway:before { + content: "\f239"; +} +.uk-icon-medium-logo:before { + content: "\f23a"; +} +.uk-icon-500px:before { + content: "\f26e"; +} +.uk-icon-amazon:before { + content: "\f270"; +} +.uk-icon-balance-scale:before { + content: "\f24e"; +} +.uk-icon-battery-empty:before, +.uk-icon-battery-0:before { + content: "\f244"; +} +.uk-icon-battery-quarter:before, +.uk-icon-battery-1:before { + content: "\f243"; +} +.uk-icon-battery-half:before, +.uk-icon-battery-2:before { + content: "\f242"; +} +.uk-icon-battery-three-quarters:before, +.uk-icon-battery-3:before { + content: "\f241"; +} +.uk-icon-battery-full:before, +.uk-icon-battery-4:before { + content: "\f240"; +} +.uk-icon-black-tie:before { + content: "\f27e"; +} +.uk-icon-calendar-check-o:before { + content: "\f274"; +} +.uk-icon-calendar-minus-o:before { + content: "\f272"; +} +.uk-icon-calendar-plus-o:before { + content: "\f271"; +} +.uk-icon-calendar-times-o:before { + content: "\f273"; +} +.uk-icon-cc-diners-club:before { + content: "\f24c"; +} +.uk-icon-cc-jcb:before { + content: "\f24b"; +} +.uk-icon-chrome:before { + content: "\f268"; +} +.uk-icon-clone:before { + content: "\f24d"; +} +.uk-icon-commenting:before { + content: "\f27a"; +} +.uk-icon-commenting-o:before { + content: "\f27b"; +} +.uk-icon-contao:before { + content: "\f26d"; +} +.uk-icon-creative-commons:before { + content: "\f25e"; +} +.uk-icon-expeditedssl:before { + content: "\f23e"; +} +.uk-icon-firefox:before { + content: "\f269"; +} +.uk-icon-fonticons:before { + content: "\f280"; +} +.uk-icon-get-pocket:before { + content: "\f265"; +} +.uk-icon-gg:before { + content: "\f260"; +} +.uk-icon-gg-circle:before { + content: "\f261"; +} +.uk-icon-hand-lizard-o:before { + content: "\f258"; +} +.uk-icon-hand-stop-o:before, +.uk-icon-hand-paper-o:before { + content: "\f256"; +} +.uk-icon-hand-peace-o:before { + content: "\f25b"; +} +.uk-icon-hand-pointer-o:before { + content: "\f25a"; +} +.uk-icon-hand-grab-o:before, +.uk-icon-hand-rock-o:before { + content: "\f255"; +} +.uk-icon-hand-scissors-o:before { + content: "\f257"; +} +.uk-icon-hand-spock-o:before { + content: "\f259"; +} +.uk-icon-hourglass:before { + content: "\f254"; +} +.uk-icon-hourglass-o:before { + content: "\f250"; +} +.uk-icon-hourglass-1:before, +.uk-icon-hourglass-start:before { + content: "\f251"; +} +.uk-icon-hourglass-2:before, +.uk-icon-hourglass-half:before { + content: "\f252"; +} +.uk-icon-hourglass-3:before, +.uk-icon-hourglass-end:before { + content: "\f253"; +} +.uk-icon-houzz:before { + content: "\f27c"; +} +.uk-icon-i-cursor:before { + content: "\f246"; +} +.uk-icon-industry:before { + content: "\f275"; +} +.uk-icon-internet-explorer:before { + content: "\f26b"; +} +.uk-icon-map:before { + content: "\f279"; +} +.uk-icon-map-o:before { + content: "\f278"; +} +.uk-icon-map-pin:before { + content: "\f276"; +} +.uk-icon-map-signs:before { + content: "\f277"; +} +.uk-icon-mouse-pointer:before { + content: "\f245"; +} +.uk-icon-object-group:before { + content: "\f247"; +} +.uk-icon-object-ungroup:before { + content: "\f248"; +} +.uk-icon-odnoklassniki:before { + content: "\f263"; +} +.uk-icon-odnoklassniki-square:before { + content: "\f264"; +} +.uk-icon-opencart:before { + content: "\f23d"; +} +.uk-icon-opera:before { + content: "\f26a"; +} +.uk-icon-optin-monster:before { + content: "\f23c"; +} +.uk-icon-registered:before { + content: "\f25d"; +} +.uk-icon-safari:before { + content: "\f267"; +} +.uk-icon-sticky-note:before { + content: "\f249"; +} +.uk-icon-sticky-note-o:before { + content: "\f24a"; +} +.uk-icon-tv:before, +.uk-icon-television:before { + content: "\f26c"; +} +.uk-icon-trademark:before { + content: "\f25c"; +} +.uk-icon-tripadvisor:before { + content: "\f262"; +} +.uk-icon-vimeo:before { + content: "\f27d"; +} +.uk-icon-wikipedia-w:before { + content: "\f266"; +} +.uk-icon-yc:before, +.uk-icon-y-combinator:before { + content: "\f23b"; +} +.uk-icon-yc-square:before, +.uk-icon-y-combinator-square:before { + content: "\f1d4"; +} +.uk-icon-bluetooth:before { + content: "\f293"; +} +.uk-icon-bluetooth-b:before { + content: "\f294"; +} +.uk-icon-codiepie:before { + content: "\f284"; +} +.uk-icon-credit-card-alt:before { + content: "\f283"; +} +.uk-icon-edge:before { + content: "\f282"; +} +.uk-icon-fort-awesome:before { + content: "\f286"; +} +.uk-icon-hashtag:before { + content: "\f292"; +} +.uk-icon-mixcloud:before { + content: "\f289"; +} +.uk-icon-modx:before { + content: "\f285"; +} +.uk-icon-pause-circle:before { + content: "\f28b"; +} +.uk-icon-pause-circle-o:before { + content: "\f28c"; +} +.uk-icon-percent:before { + content: "\f295"; +} +.uk-icon-product-hunt:before { + content: "\f288"; +} +.uk-icon-reddit-alien:before { + content: "\f281"; +} +.uk-icon-scribd:before { + content: "\f28a"; +} +.uk-icon-shopping-bag:before { + content: "\f290"; +} +.uk-icon-shopping-basket:before { + content: "\f291"; +} +.uk-icon-stop-circle:before { + content: "\f28d"; +} +.uk-icon-stop-circle-o:before { + content: "\f28e"; +} +.uk-icon-usb:before { + content: "\f287"; +} +.uk-icon-american-sign-language-interpreting:before, +.uk-icon-asl-interpreting:before { + content: "\f2a3"; +} +.uk-icon-assistive-listening-systems:before { + content: "\f2a2"; +} +.uk-icon-audio-description:before { + content: "\f29e"; +} +.uk-icon-blind:before { + content: "\f29d"; +} +.uk-icon-braille:before { + content: "\f2a1"; +} +.uk-icon-deaf:before, +.uk-icon-deafness:before { + content: "\f2a4"; +} +.uk-icon-envira:before { + content: "\f299"; +} +.uk-icon-font-awesome:before, +.uk-icon-fa:before { + content: "\f2b4"; +} +.uk-icon-first-order:before { + content: "\f2b0"; +} +.uk-icon-gitlab:before { + content: "\f296"; +} +.uk-icon-glide:before { + content: "\f2a5"; +} +.uk-icon-glide-g:before { + content: "\f2a6"; +} +.uk-icon-hard-of-hearing:before { + content: "\f2a4"; +} +.uk-icon-low-vision:before { + content: "\f2a8"; +} +.uk-icon-question-circle-o:before { + content: "\f29c"; +} +.uk-icon-sign-language:before, +.uk-icon-signing:before { + content: "\f2a7"; +} +.uk-icon-snapchat:before { + content: "\f2ab"; +} +.uk-icon-snapchat-ghost:before { + content: "\f2ac"; +} +.uk-icon-snapchat-square:before { + content: "\f2ad"; +} +.uk-icon-themeisle:before { + content: "\f2b2"; +} +.uk-icon-universal-access:before { + content: "\f29a"; +} +.uk-icon-viadeo:before { + content: "\f2a9"; +} +.uk-icon-viadeo-square:before { + content: "\f2aa"; +} +.uk-icon-volume-control-phone:before { + content: "\f2a0"; +} +.uk-icon-wheelchair-alt:before { + content: "\f29b"; +} +.uk-icon-wpbeginner:before { + content: "\f297"; +} +.uk-icon-wpforms:before { + content: "\f298"; +} +.uk-icon-yoast:before { + content: "\f2b1"; +} +.uk-icon-adress-book:before { + content: "\f2b9"; +} +.uk-icon-adress-book-o:before { + content: "\f2ba"; +} +.uk-icon-adress-card:before { + content: "\f2bb"; +} +.uk-icon-adress-card-o:before { + content: "\f2bc"; +} +.uk-icon-bandcamp:before { + content: "\f2d5"; +} +.uk-icon-bath:before { + content: "\f2cd"; +} +.uk-icon-bathub:before { + content: "\f2cd"; +} +.uk-icon-drivers-license:before { + content: "\f2c2"; +} +.uk-icon-drivers-license-o:before { + content: "\f2c3"; +} +.uk-icon-eercast:before { + content: "\f2da"; +} +.uk-icon-envelope-open:before { + content: "\f2b6"; +} +.uk-icon-envelope-open-o:before { + content: "\f2b7"; +} +.uk-icon-etsy:before { + content: "\f2d7"; +} +.uk-icon-free-code-camp:before { + content: "\f2c5"; +} +.uk-icon-grav:before { + content: "\f2d6"; +} +.uk-icon-handshake-o:before { + content: "\f2b5"; +} +.uk-icon-id-badge:before { + content: "\f2c1"; +} +.uk-icon-id-card:before { + content: "\f2c2"; +} +.uk-icon-id-card-o:before { + content: "\f2c3"; +} +.uk-icon-imdb:before { + content: "\f2d8"; +} +.uk-icon-linode:before { + content: "\f2b8"; +} +.uk-icon-meetup:before { + content: "\f2e0"; +} +.uk-icon-microchip:before { + content: "\f2db"; +} +.uk-icon-podcast:before { + content: "\f2ce"; +} +.uk-icon-quora:before { + content: "\f2c4"; +} +.uk-icon-ravelry:before { + content: "\f2d9"; +} +.uk-icon-s15:before { + content: "\f2cd"; +} +.uk-icon-shower:before { + content: "\f2cc"; +} +.uk-icon-snowflake-o:before { + content: "\f2dc"; +} +.uk-icon-superpowers:before { + content: "\f2dd"; +} +.uk-icon-telegram:before { + content: "\f2c6"; +} +.uk-icon-thermometer:before { + content: "\f2c7"; +} +.uk-icon-thermometer-0:before { + content: "\f2cb"; +} +.uk-icon-thermometer-1:before { + content: "\f2ca"; +} +.uk-icon-thermometer-2:before { + content: "\f2c9"; +} +.uk-icon-thermometer-3:before { + content: "\f2c8"; +} +.uk-icon-thermometer-4:before { + content: "\f2c7"; +} +.uk-icon-thermometer-empty:before { + content: "\f2cb"; +} +.uk-icon-thermometer-full:before { + content: "\f2c7"; +} +.uk-icon-thermometer-half:before { + content: "\f2c9"; +} +.uk-icon-thermometer-quarter:before { + content: "\f2ca"; +} +.uk-icon-thermometer-three-quarters:before { + content: "\f2c8"; +} +.uk-icon-times-rectangle:before { + content: "\f2d3"; +} +.uk-icon-times-rectangle-o:before { + content: "\f2d4"; +} +.uk-icon-user-circle:before { + content: "\f2bd"; +} +.uk-icon-user-circle-o:before { + content: "\f2be"; +} +.uk-icon-user-o:before { + content: "\f2c0"; +} +.uk-icon-vcard:before { + content: "\f2bb"; +} +.uk-icon-vcard-o:before { + content: "\f2bc"; +} +.uk-icon-widow-close:before { + content: "\f2d3"; +} +.uk-icon-widow-close-o:before { + content: "\f2d4"; +} +.uk-icon-window-maximize:before { + content: "\f2d0"; +} +.uk-icon-window-minimize:before { + content: "\f2d1"; +} +.uk-icon-window-restore:before { + content: "\f2d2"; +} +.uk-icon-wpexplorer:before { + content: "\f2de"; +} +/* ======================================================================== + Component: Close + ========================================================================== */ +/* + * Removes inner padding and border in Firefox 4+. + */ +.uk-close::-moz-focus-inner { + border: 0; + padding: 0; +} +/* + * 1. Correct inability to style clickable `input` types in iOS. + * 2. Remove margins in Chrome, Safari and Opera. + * 3. Remove borders for `button`. + * 4. Address `overflow` set to `hidden` in IE 8/9/10/11. + * 5. Correct `font` properties and `color` not being inherited for `button`. + * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE + * 7. Remove default `button` padding and background color + * 8. Style + */ +.uk-close { + /* 1 */ + -webkit-appearance: none; + /* 2 */ + margin: 0; + /* 3 */ + border: none; + /* 4 */ + overflow: visible; + /* 5 */ + font: inherit; + color: inherit; + /* 6 */ + text-transform: none; + /* 7. */ + padding: 0; + background: transparent; + /* 8 */ + display: inline-block; + box-sizing: content-box; + width: 20px; + line-height: 20px; + text-align: center; + vertical-align: middle; + opacity: 0.3; +} +/* Icon */ +.uk-close:after { + display: block; + content: "\f00d"; + font-family: FontAwesome; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + */ +.uk-close:hover, +.uk-close:focus { + opacity: 0.5; + /* 2 */ + outline: none; + /* 3 */ + color: inherit; + text-decoration: none; + cursor: pointer; +} +/* Modifier + ========================================================================== */ +.uk-close-alt { + padding: 2px; + border-radius: 50%; + background: #fff; + opacity: 1; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 6px rgba(0, 0, 0, 0.3); +} +/* Hover */ +.uk-close-alt:hover, +.uk-close-alt:focus { + opacity: 1; +} +/* Icon */ +.uk-close-alt:after { + opacity: 0.5; +} +.uk-close-alt:hover:after, +.uk-close-alt:focus:after { + opacity: 0.8; +} +/* ======================================================================== + Component: Badge + ========================================================================== */ +.uk-badge { + display: inline-block; + padding: 0 5px; + background: #00a8e6; + font-size: 10px; + font-weight: bold; + line-height: 14px; + color: #fff; + text-align: center; + vertical-align: middle; + text-transform: none; + border: 1px solid rgba(0, 0, 0, 0.06); + border-radius: 2px; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1); +} +/* + * Keep color when badge is a link + */ +a.uk-badge:hover { + color: #fff; +} +/* Modifier: `uk-badge-notification`; + ========================================================================== */ +.uk-badge-notification { + box-sizing: border-box; + min-width: 18px; + border-radius: 500px; + font-size: 12px; + line-height: 18px; +} +/* Color modifier + ========================================================================== */ +/* + * Modifier: `uk-badge-success` + */ +.uk-badge-success { + background-color: #8cc14c; +} +/* + * Modifier: `uk-badge-warning` + */ +.uk-badge-warning { + background-color: #faa732; +} +/* + * Modifier: `uk-badge-danger` + */ +.uk-badge-danger { + background-color: #da314b; +} +/* ======================================================================== + Component: Alert + ========================================================================== */ +.uk-alert { + margin-bottom: 15px; + padding: 10px; + background: #ebf7fd; + color: #2d7091; + border: 1px solid rgba(45, 112, 145, 0.3); + border-radius: 4px; + text-shadow: 0 1px 0 #fff; +} +/* + * Add margin if adjacent element + */ +* + .uk-alert { + margin-top: 15px; +} +/* + * Remove margin from the last-child + */ +.uk-alert > :last-child { + margin-bottom: 0; +} +/* + * Keep color for headings if the default heading color is changed + */ +.uk-alert h1, +.uk-alert h2, +.uk-alert h3, +.uk-alert h4, +.uk-alert h5, +.uk-alert h6 { + color: inherit; +} +/* Close in alert + ========================================================================== */ +.uk-alert > .uk-close:first-child { + float: right; +} +/* + * Remove margin from adjacent element + */ +.uk-alert > .uk-close:first-child + * { + margin-top: 0; +} +/* Modifier: `uk-alert-success` + ========================================================================== */ +.uk-alert-success { + background: #f2fae3; + color: #659f13; + border-color: rgba(101, 159, 19, 0.3); +} +/* Modifier: `uk-alert-warning` + ========================================================================== */ +.uk-alert-warning { + background: #fffceb; + color: #e28327; + border-color: rgba(226, 131, 39, 0.3); +} +/* Modifier: `uk-alert-danger` + ========================================================================== */ +.uk-alert-danger { + background: #fff1f0; + color: #d85030; + border-color: rgba(216, 80, 48, 0.3); +} +/* Modifier: `uk-alert-large` + ========================================================================== */ +.uk-alert-large { + padding: 20px; +} +.uk-alert-large > .uk-close:first-child { + margin: -10px -10px 0 0; +} +/* ======================================================================== + Component: Thumbnail + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Responsive behavior + * 3. Corrects `max-width` behavior sed + * 4. Required for `figure` element + * 5. Style + */ +.uk-thumbnail { + /* 1 */ + display: inline-block; + /* 2 */ + max-width: 100%; + /* 3 */ + box-sizing: border-box; + /* 3 */ + margin: 0; + /* 4 */ + padding: 4px; + border: 1px solid #ddd; + background: #fff; + border-radius: 4px; +} +/* + * Hover state for `a` elements + * 1. Apply hover style also to focus state + * 2. Needed for caption + * 3. Remove default focus style + */ +a.uk-thumbnail:hover, +a.uk-thumbnail:focus { + border-color: #aaaaaa; + background-color: #fff; + /* 2 */ + text-decoration: none; + /* 3 */ + outline: none; +} +/* Caption + ========================================================================== */ +.uk-thumbnail-caption { + padding-top: 4px; + text-align: center; + color: #444; +} +/* Sizes + ========================================================================== */ +.uk-thumbnail-mini { + width: 150px; +} +.uk-thumbnail-small { + width: 200px; +} +.uk-thumbnail-medium { + width: 300px; +} +.uk-thumbnail-large { + width: 400px; +} +.uk-thumbnail-expand, +.uk-thumbnail-expand > img { + width: 100%; +} +/* ======================================================================== + Component: Overlay + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Set max-width for responsive images to prevent `inline-block` consequences + * 4. Remove the gap between the container and its child element + * 5. Needed for transitions and to fixed wrong scaling calculation for images in Chrome + * 6. Fixed `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit + * 7. Reset margin + */ +.uk-overlay { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; + /* 4 */ + vertical-align: middle; + /* 5 */ + overflow: hidden; + /* 6 */ + -webkit-transform: translateZ(0); + /* 7 */ + margin: 0; +} +/* 6 for Safari */ +.uk-overlay.uk-border-circle { + -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%); +} +/* + * Remove margin from content + */ +.uk-overlay > :first-child { + margin-bottom: 0; +} +/* Sub-object `uk-overlay-panel` + ========================================================================== */ +/* + * 1. Position cover + * 2. Style + */ +.uk-overlay-panel { + /* 1 */ + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + padding: 20px; + color: #fff; +} +/* + * Remove margin from the last-child + */ +.uk-overlay-panel > :last-child, +.uk-overlay-panel.uk-flex > * > :last-child { + margin-bottom: 0; +} +/* + * Keep color for headings if the default heading color is changed + */ +.uk-overlay-panel h1, +.uk-overlay-panel h2, +.uk-overlay-panel h3, +.uk-overlay-panel h4, +.uk-overlay-panel h5, +.uk-overlay-panel h6 { + color: inherit; +} +.uk-overlay-panel a:not([class]) { + color: inherit; + text-decoration: underline; +} +.uk-overlay-panel a[class*='uk-icon-']:not(.uk-icon-button) { + color: inherit; +} +/* Sub-object `uk-overlay-hover` and `uk-overlay-active` + ========================================================================== */ +.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore) { + opacity: 0; +} +.uk-overlay-active :not(.uk-active) > .uk-overlay-panel:not(.uk-ignore) { + opacity: 0; +} +/* Modifier `uk-overlay-background` + ========================================================================== */ +.uk-overlay-background { + background: rgba(0, 0, 0, 0.5); +} +/* Modifier `uk-overlay-image` + ========================================================================== */ +/* + * Reset panel + */ +.uk-overlay-image { + padding: 0; +} +/* Position modifiers + ========================================================================== */ +.uk-overlay-top { + bottom: auto; +} +.uk-overlay-bottom { + top: auto; +} +.uk-overlay-left { + right: auto; +} +.uk-overlay-right { + left: auto; +} +/* Sub-object `uk-overlay-icon` + ========================================================================== */ +.uk-overlay-icon:before { + content: "\f002"; + position: absolute; + top: 50%; + left: 50%; + width: 50px; + height: 50px; + margin-top: -25px; + margin-left: -25px; + font-size: 50px; + line-height: 1; + font-family: FontAwesome; + text-align: center; + color: #fff; +} +/* Transitions + ========================================================================== */ +.uk-overlay-fade, +.uk-overlay-scale, +.uk-overlay-spin, +.uk-overlay-grayscale, +.uk-overlay-blur, +[class*='uk-overlay-slide'] { + transition-duration: 0.3s; + transition-timing-function: ease-out; + transition-property: opacity, transform, filter; +} +.uk-overlay-active .uk-overlay-fade, +.uk-overlay-active .uk-overlay-scale, +.uk-overlay-active .uk-overlay-spin, +.uk-overlay-active [class*='uk-overlay-slide'] { + transition-duration: 0.8s; +} +/* + * Fade + */ +.uk-overlay-fade { + opacity: 0.7; +} +.uk-overlay-hover:hover .uk-overlay-fade, +.uk-overlay-hover.uk-hover .uk-overlay-fade, +.uk-overlay-active .uk-active > .uk-overlay-fade { + opacity: 1; +} +/* + * Scale + */ +.uk-overlay-scale { + -webkit-transform: scale(1); + transform: scale(1); +} +.uk-overlay-hover:hover .uk-overlay-scale, +.uk-overlay-hover.uk-hover .uk-overlay-scale, +.uk-overlay-active .uk-active > .uk-overlay-scale { + -webkit-transform: scale(1.1); + transform: scale(1.1); +} +/* + * Spin + */ +.uk-overlay-spin { + -webkit-transform: scale(1) rotate(0deg); + transform: scale(1) rotate(0deg); +} +.uk-overlay-hover:hover .uk-overlay-spin, +.uk-overlay-hover.uk-hover .uk-overlay-spin, +.uk-overlay-active .uk-active > .uk-overlay-spin { + -webkit-transform: scale(1.1) rotate(3deg); + transform: scale(1.1) rotate(3deg); +} +/* + * Grayscale + */ +.uk-overlay-grayscale { + -webkit-filter: grayscale(100%); + filter: grayscale(100%); +} +.uk-overlay-hover:hover .uk-overlay-grayscale, +.uk-overlay-hover.uk-hover .uk-overlay-grayscale, +.uk-overlay-active .uk-active > .uk-overlay-grayscale { + -webkit-filter: grayscale(0%); + filter: grayscale(0%); +} +/* + * Slide + */ +[class*='uk-overlay-slide'] { + opacity: 0; +} +/* Top */ +.uk-overlay-slide-top { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); +} +/* Bottom */ +.uk-overlay-slide-bottom { + -webkit-transform: translateY(100%); + transform: translateY(100%); +} +/* Left */ +.uk-overlay-slide-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} +/* Right */ +.uk-overlay-slide-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +/* Hover */ +.uk-overlay-hover:hover [class*='uk-overlay-slide'], +.uk-overlay-hover.uk-hover [class*='uk-overlay-slide'], +.uk-overlay-active .uk-active > [class*='uk-overlay-slide'] { + opacity: 1; + -webkit-transform: translateX(0) translateY(0); + transform: translateX(0) translateY(0); +} +/* DEPRECATED + * Sub-object `uk-overlay-area` + ========================================================================== */ +/* + * 1. Set position + * 2. Set style + * 3. Fade-in transition + */ +.uk-overlay-area { + /* 1 */ + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + background: rgba(0, 0, 0, 0.3); + /* 3 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + -webkit-transform: translate3d(0, 0, 0); +} +/* + * Hover + * 1. `uk-hover` to support touch devices + * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier + */ +.uk-overlay:hover .uk-overlay-area, +.uk-overlay.uk-hover .uk-overlay-area, +.uk-overlay-toggle:hover .uk-overlay-area, +.uk-overlay-toggle.uk-hover .uk-overlay-area { + opacity: 1; +} +/* + * Icon + */ +.uk-overlay-area:empty:before { + content: "\f002"; + position: absolute; + top: 50%; + left: 50%; + width: 50px; + height: 50px; + margin-top: -25px; + margin-left: -25px; + font-size: 50px; + line-height: 1; + font-family: FontAwesome; + text-align: center; + color: #fff; +} +/* DEPRECATED + * Sub-object `uk-overlay-area-content` + ========================================================================== */ +/* + * Remove whitespace between child elements when using `inline-block` + * Needed for Firefox + */ +.uk-overlay-area:not(:empty) { + font-size: 0.001px; +} +/* + * 1. Needed for vertical alignment + */ +.uk-overlay-area:not(:empty):before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} +/* + * 1. Set vertical alignment + * 2. Reset whitespace hack + * 3. Set horizontal alignment + * 4. Set style + */ +.uk-overlay-area-content { + /* 1 */ + display: inline-block; + box-sizing: border-box; + width: 100%; + vertical-align: middle; + /* 2 */ + font-size: 1rem; + /* 3 */ + text-align: center; + /* 4 */ + padding: 0 15px; + color: #fff; +} +/* + * Remove margin from the last-child + */ +.uk-overlay-area-content > :last-child { + margin-bottom: 0; +} +/* + * Links in overlay area + */ +.uk-overlay-area-content a:not([class]), +.uk-overlay-area-content a:not([class]):hover { + color: inherit; +} +/* DEPRECATED + * Sub-object `uk-overlay-caption` + ========================================================================== */ +/* + * 1. Set position + * 2. Set style + * 3. Fade-in transition + */ +.uk-overlay-caption { + /* 1 */ + position: absolute; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + padding: 15px; + background: rgba(0, 0, 0, 0.5); + color: #fff; + /* 3 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + -webkit-transform: translate3d(0, 0, 0); +} +/* + * Hover + * 1. `uk-hover` to support touch devices + * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier + */ +.uk-overlay:hover .uk-overlay-caption, +.uk-overlay.uk-hover .uk-overlay-caption, +.uk-overlay-toggle:hover .uk-overlay-caption, +.uk-overlay-toggle.uk-hover .uk-overlay-caption { + opacity: 1; +} +/* ======================================================================== + Component: Column + ========================================================================== */ +[class*='uk-column-'] { + -webkit-column-gap: 25px; + -moz-column-gap: 25px; + column-gap: 25px; +} +/* Width modifiers + ========================================================================== */ +.uk-column-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; +} +.uk-column-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; +} +.uk-column-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; +} +.uk-column-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; +} +.uk-column-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; +} +/* Phone landscape and bigger */ +@media (min-width: 480px) { + .uk-column-small-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + .uk-column-small-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + .uk-column-small-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + .uk-column-small-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + .uk-column-small-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-column-medium-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + .uk-column-medium-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + .uk-column-medium-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + .uk-column-medium-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + .uk-column-medium-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-column-large-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + .uk-column-large-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + .uk-column-large-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + .uk-column-large-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + .uk-column-large-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-column-xlarge-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + .uk-column-xlarge-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + .uk-column-xlarge-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + .uk-column-xlarge-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + .uk-column-xlarge-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} +/* ======================================================================== + Component: Animation + ========================================================================== */ +[class*='uk-animation-'] { + -webkit-animation-duration: 0.5s; + animation-duration: 0.5s; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} +/* Hide animated element if scrollspy is used */ +@media screen { + [data-uk-scrollspy*='uk-animation-']:not([data-uk-scrollspy*='target']) { + opacity: 0; + } +} +/* + * Fade + * Higher specificity (!important) needed because of reverse modifier + */ +.uk-animation-fade { + -webkit-animation-name: uk-fade; + animation-name: uk-fade; + -webkit-animation-duration: 0.8s; + animation-duration: 0.8s; + -webkit-animation-timing-function: linear !important; + animation-timing-function: linear !important; +} +/* + * Fade with scale + */ +.uk-animation-scale-up { + -webkit-animation-name: uk-fade-scale-02; + animation-name: uk-fade-scale-02; +} +.uk-animation-scale-down { + -webkit-animation-name: uk-fade-scale-18; + animation-name: uk-fade-scale-18; +} +/* + * Fade with slide + */ +.uk-animation-slide-top { + -webkit-animation-name: uk-fade-top; + animation-name: uk-fade-top; +} +.uk-animation-slide-bottom { + -webkit-animation-name: uk-fade-bottom; + animation-name: uk-fade-bottom; +} +.uk-animation-slide-left { + -webkit-animation-name: uk-fade-left; + animation-name: uk-fade-left; +} +.uk-animation-slide-right { + -webkit-animation-name: uk-fade-right; + animation-name: uk-fade-right; +} +/* + * Scale + */ +.uk-animation-scale { + -webkit-animation-name: uk-scale-12; + animation-name: uk-scale-12; +} +/* + * Shake + */ +.uk-animation-shake { + -webkit-animation-name: uk-shake; + animation-name: uk-shake; +} +/* Direction modifiers + ========================================================================== */ +.uk-animation-reverse { + -webkit-animation-direction: reverse; + animation-direction: reverse; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} +/* Duration modifiers +========================================================================== */ +.uk-animation-15 { + -webkit-animation-duration: 15s; + animation-duration: 15s; +} +/* Origin modifiers +========================================================================== */ +.uk-animation-top-left { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} +.uk-animation-top-center { + -webkit-transform-origin: 50% 0; + transform-origin: 50% 0; +} +.uk-animation-top-right { + -webkit-transform-origin: 100% 0; + transform-origin: 100% 0; +} +.uk-animation-middle-left { + -webkit-transform-origin: 0 50%; + transform-origin: 0 50%; +} +.uk-animation-middle-right { + -webkit-transform-origin: 100% 50%; + transform-origin: 100% 50%; +} +.uk-animation-bottom-left { + -webkit-transform-origin: 0 100%; + transform-origin: 0 100%; +} +.uk-animation-bottom-center { + -webkit-transform-origin: 50% 100%; + transform-origin: 50% 100%; +} +.uk-animation-bottom-right { + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100%; +} +/* Sub-object: `uk-animation-hover` +========================================================================== */ +/* + * Enable animation only on hover + * Note: Firefox also needs this because animations are not triggered when switching between display `hidden` and `block` + */ +.uk-animation-hover:not(:hover), +.uk-animation-hover:not(:hover) [class*='uk-animation-'], +.uk-touch .uk-animation-hover:not(.uk-hover), +.uk-touch .uk-animation-hover:not(.uk-hover) [class*='uk-animation-'] { + -webkit-animation-name: none; + animation-name: none; +} +/* Keyframes: Fade + * Used by dropdown, datepicker and slideshow component + ========================================================================== */ +@-webkit-keyframes uk-fade { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes uk-fade { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +/* Keyframes: Fade with slide + ========================================================================== */ +/* + * Top + */ +@-webkit-keyframes uk-fade-top { + 0% { + opacity: 0; + -webkit-transform: translateY(-100%); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes uk-fade-top { + 0% { + opacity: 0; + transform: translateY(-100%); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +/* + * Bottom + */ +@-webkit-keyframes uk-fade-bottom { + 0% { + opacity: 0; + -webkit-transform: translateY(100%); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes uk-fade-bottom { + 0% { + opacity: 0; + transform: translateY(100%); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +/* + * Left + */ +@-webkit-keyframes uk-fade-left { + 0% { + opacity: 0; + -webkit-transform: translateX(-100%); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} +@keyframes uk-fade-left { + 0% { + opacity: 0; + transform: translateX(-100%); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} +/* + * Right + */ +@-webkit-keyframes uk-fade-right { + 0% { + opacity: 0; + -webkit-transform: translateX(100%); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} +@keyframes uk-fade-right { + 0% { + opacity: 0; + transform: translateX(100%); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} +/* Keyframes: Fade with scale + ========================================================================== */ +/* + * Scale by 0.2 + */ +@-webkit-keyframes uk-fade-scale-02 { + 0% { + opacity: 0; + -webkit-transform: scale(0.2); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} +@keyframes uk-fade-scale-02 { + 0% { + opacity: 0; + transform: scale(0.2); + } + 100% { + opacity: 1; + transform: scale(1); + } +} +/* + * Scale by 1.5 + * Used by slideshow component + */ +@-webkit-keyframes uk-fade-scale-15 { + 0% { + opacity: 0; + -webkit-transform: scale(1.5); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} +@keyframes uk-fade-scale-15 { + 0% { + opacity: 0; + transform: scale(1.5); + } + 100% { + opacity: 1; + transform: scale(1); + } +} +/* + * Scale by 1.8 + */ +@-webkit-keyframes uk-fade-scale-18 { + 0% { + opacity: 0; + -webkit-transform: scale(1.8); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} +@keyframes uk-fade-scale-18 { + 0% { + opacity: 0; + transform: scale(1.8); + } + 100% { + opacity: 1; + transform: scale(1); + } +} +/* Keyframes: Slide + * Used by slideshow component + ========================================================================== */ +/* + * Left + */ +@-webkit-keyframes uk-slide-left { + 0% { + -webkit-transform: translateX(-100%); + } + 100% { + -webkit-transform: translateX(0); + } +} +@keyframes uk-slide-left { + 0% { + transform: translateX(-100%); + } + 100% { + transform: translateX(0); + } +} +/* + * Right + */ +@-webkit-keyframes uk-slide-right { + 0% { + -webkit-transform: translateX(100%); + } + 100% { + -webkit-transform: translateX(0); + } +} +@keyframes uk-slide-right { + 0% { + transform: translateX(100%); + } + 100% { + transform: translateX(0); + } +} +/* + * Left third + */ +@-webkit-keyframes uk-slide-left-33 { + 0% { + -webkit-transform: translateX(33%); + } + 100% { + -webkit-transform: translateX(0); + } +} +@keyframes uk-slide-left-33 { + 0% { + transform: translateX(33%); + } + 100% { + transform: translateX(0); + } +} +/* + * Right third + */ +@-webkit-keyframes uk-slide-right-33 { + 0% { + -webkit-transform: translateX(-33%); + } + 100% { + -webkit-transform: translateX(0); + } +} +@keyframes uk-slide-right-33 { + 0% { + transform: translateX(-33%); + } + 100% { + transform: translateX(0); + } +} +/* Keyframes: Scale + ========================================================================== */ +@-webkit-keyframes uk-scale-12 { + 0% { + -webkit-transform: scale(1.2); + } + 100% { + -webkit-transform: scale(1); + } +} +@keyframes uk-scale-12 { + 0% { + transform: scale(1.2); + } + 100% { + transform: scale(1); + } +} +/* Keyframes: Rotate + * Used by icon component + ========================================================================== */ +@-webkit-keyframes uk-rotate { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + } +} +@keyframes uk-rotate { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(359deg); + } +} +/* Keyframes: Shake + ========================================================================== */ +@-webkit-keyframes uk-shake { + 0%, + 100% { + -webkit-transform: translateX(0); + } + 10% { + -webkit-transform: translateX(-9px); + } + 20% { + -webkit-transform: translateX(8px); + } + 30% { + -webkit-transform: translateX(-7px); + } + 40% { + -webkit-transform: translateX(6px); + } + 50% { + -webkit-transform: translateX(-5px); + } + 60% { + -webkit-transform: translateX(4px); + } + 70% { + -webkit-transform: translateX(-3px); + } + 80% { + -webkit-transform: translateX(2px); + } + 90% { + -webkit-transform: translateX(-1px); + } +} +@keyframes uk-shake { + 0%, + 100% { + transform: translateX(0); + } + 10% { + transform: translateX(-9px); + } + 20% { + transform: translateX(8px); + } + 30% { + transform: translateX(-7px); + } + 40% { + transform: translateX(6px); + } + 50% { + transform: translateX(-5px); + } + 60% { + transform: translateX(4px); + } + 70% { + transform: translateX(-3px); + } + 80% { + transform: translateX(2px); + } + 90% { + transform: translateX(-1px); + } +} +/* Keyframes: Fade with slide fixed + * Used by dropdown and search component + ========================================================================== */ +/* + * Top fixed + */ +@-webkit-keyframes uk-slide-top-fixed { + 0% { + opacity: 0; + -webkit-transform: translateY(-10px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes uk-slide-top-fixed { + 0% { + opacity: 0; + transform: translateY(-10px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +/* + * Bottom fixed + */ +@-webkit-keyframes uk-slide-bottom-fixed { + 0% { + opacity: 0; + -webkit-transform: translateY(10px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes uk-slide-bottom-fixed { + 0% { + opacity: 0; + transform: translateY(10px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +/* ======================================================================== + Component: Dropdown + ========================================================================== */ +/* + * 1. Hide by default + * 2. Set position + * 3. Box-sizing is needed for `uk-dropdown-justify` + * 4. Set width + */ +.uk-dropdown, +.uk-dropdown-blank { + /* 1 */ + display: none; + /* 2 */ + position: absolute; + z-index: 1020; + /* 3 */ + box-sizing: border-box; + /* 4 */ + width: 200px; +} +/* + * Dropdown style + * 1. Reset button group whitespace hack + */ +.uk-dropdown { + padding: 15px; + background: #fff; + color: #444; + /* 1 */ + font-size: 1rem; + vertical-align: top; + border: 1px solid #ddd; + border-radius: 4px; +} +/* Focus */ +.uk-dropdown:focus { + outline: none; +} +/* + * 1. Show dropdown + * 2. Set animation + * 3. Needed for scale animation + */ +.uk-open > .uk-dropdown, +.uk-open > .uk-dropdown-blank { + /* 1 */ + display: block; + /* 2 */ + -webkit-animation: uk-fade 0.2s ease-in-out; + animation: uk-fade 0.2s ease-in-out; + /* 3 */ + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} +/* Alignment modifiers + ========================================================================== */ +/* + * Modifier + */ +.uk-dropdown-top { + margin-top: -5px; +} +.uk-dropdown-bottom { + margin-top: 5px; +} +.uk-dropdown-left { + margin-left: -5px; +} +.uk-dropdown-right { + margin-left: 5px; +} +/* Nav in dropdown + ========================================================================== */ +.uk-dropdown .uk-nav { + margin: 0 -15px; +} +/* Grid and panel in dropdown + ========================================================================== */ +/* +* Vertical gutter +*/ +/* + * Grid + * Higher specificity to override large gutter + */ +.uk-grid .uk-dropdown-grid + .uk-dropdown-grid { + margin-top: 15px; +} +/* Panels */ +.uk-dropdown-grid > [class*='uk-width-'] > .uk-panel + .uk-panel { + margin-top: 15px; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + /* + * Horizontal gutter + */ + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid { + margin-left: -15px; + margin-right: -15px; + } + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-'] { + padding-left: 15px; + padding-right: 15px; + } + /* + * Column divider + */ + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { + border-left: 1px solid #ddd; + } + /* + * Width multiplier for dropdown columns + */ + .uk-dropdown-width-2:not(.uk-dropdown-stack) { + width: 400px; + } + .uk-dropdown-width-3:not(.uk-dropdown-stack) { + width: 600px; + } + .uk-dropdown-width-4:not(.uk-dropdown-stack) { + width: 800px; + } + .uk-dropdown-width-5:not(.uk-dropdown-stack) { + width: 1000px; + } +} +/* Phone landscape and smaller */ +@media (max-width: 767px) { + /* + * Stack columns and take full width + */ + .uk-dropdown-grid > [class*='uk-width-'] { + width: 100%; + } + /* + * Vertical gutter + */ + .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { + margin-top: 15px; + } +} +/* +* Stack grid columns +*/ +.uk-dropdown-stack > .uk-dropdown-grid > [class*='uk-width-'] { + width: 100%; +} +.uk-dropdown-stack > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { + margin-top: 15px; +} +/* Modifier `uk-dropdown-small` + ========================================================================== */ +/* + * Set min-width and text expands dropdown if needed + */ +.uk-dropdown-small { + min-width: 150px; + width: auto; + padding: 5px; + white-space: nowrap; +} +/* + * Nav in dropdown + */ +.uk-dropdown-small .uk-nav { + margin: 0 -5px; +} +/* Modifier: `uk-dropdown-navbar` + ========================================================================== */ +.uk-dropdown-navbar { + margin-top: 6px; + background: #fff; + color: #444; + left: -1px; +} +.uk-open > .uk-dropdown-navbar { + -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out; + animation: uk-slide-top-fixed 0.2s ease-in-out; +} +/* Modifier `uk-dropdown-scrollable` + ========================================================================== */ +/* + * Usefull for long lists + */ +.uk-dropdown-scrollable { + overflow-y: auto; + max-height: 200px; +} +/* Sub-object: `uk-dropdown-overlay` + ========================================================================== */ +.uk-dropdown-navbar.uk-dropdown-flip { + left: auto; +} +/* ======================================================================== + Component: Modal + ========================================================================== */ +/* + * This is the modal overlay and modal dialog container + * 1. Hide by default + * 2. Set fixed position + * 3. Allow scrolling for the modal dialog + * 4. Mask the background page + * 5. Fade-in transition + * 6. Deactivate browser history navigation in IE11 + * 7. force hardware acceleration to prevent browser rendering hiccups + */ +.uk-modal { + /* 1 */ + display: none; + /* 2 */ + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1010; + /* 3 */ + overflow-y: auto; + -webkit-overflow-scrolling: touch; + /* 4 */ + background: rgba(0, 0, 0, 0.6); + /* 5 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + /* 6 */ + touch-action: cross-slide-y pinch-zoom double-tap-zoom; + /* 7 */ + -webkit-transform: translateZ(0); + transform: translateZ(0); +} +/* + * Open state + */ +.uk-modal.uk-open { + opacity: 1; +} +/* + * Prevents duplicated scrollbar caused by 4. + */ +.uk-modal-page, +.uk-modal-page body { + overflow: hidden; +} +/* Sub-object: `uk-modal-dialog` + ========================================================================== */ +/* + * 1. Create position context for caption, spinner and close button + * 2. Set box sizing + * 3. Set style + * 4. Slide-in transition + */ +.uk-modal-dialog { + /* 1 */ + position: relative; + /* 2 */ + box-sizing: border-box; + margin: 50px auto; + padding: 20px; + width: 600px; + max-width: 100%; + max-width: calc(100% - 20px); + /* 3 */ + background: #fff; + /* 4 */ + opacity: 0; + -webkit-transform: translateY(-100px); + transform: translateY(-100px); + -webkit-transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out; + transition: opacity 0.3s linear, transform 0.3s ease-out; + border-radius: 4px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); +} +/* Phone landscape and smaller */ +@media (max-width: 767px) { + /* + * Fit in small screen + */ + .uk-modal-dialog { + width: auto; + margin: 10px auto; + } +} +/* + * Open state + */ +.uk-open .uk-modal-dialog { + /* 4 */ + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); +} +/* + * Remove margin from the last-child + */ +.uk-modal-dialog > :not([class*='uk-modal-']):last-child { + margin-bottom: 0; +} +/* Close in modal + ========================================================================== */ +.uk-modal-dialog > .uk-close:first-child { + margin: -10px -10px 0 0; + float: right; +} +/* + * Remove margin from adjacent element + */ +.uk-modal-dialog > .uk-close:first-child + :not([class*='uk-modal-']) { + margin-top: 0; +} +/* Modifier: `uk-modal-dialog-lightbox` + ========================================================================== */ +.uk-modal-dialog-lightbox { + margin: 15px auto; + padding: 0; + max-width: 95%; + max-width: calc(100% - 30px); + min-height: 50px; + border-radius: 0; +} +/* + * Close button + */ +.uk-modal-dialog-lightbox > .uk-close:first-child { + position: absolute; + top: -12px; + right: -12px; + margin: 0; + float: none; +} +/* Phone landscape and smaller */ +@media (max-width: 767px) { + .uk-modal-dialog-lightbox > .uk-close:first-child { + top: -7px; + right: -7px; + } +} +/* Modifier: `uk-modal-dialog-blank` + ========================================================================== */ +.uk-modal-dialog-blank { + margin: 0; + padding: 0; + width: 100%; + max-width: 100%; + -webkit-transition: opacity 0.3s linear; + transition: opacity 0.3s linear; +} +/* +* Close button +*/ +.uk-modal-dialog-blank > .uk-close:first-child { + position: absolute; + top: 20px; + right: 20px; + z-index: 1; + margin: 0; + float: none; +} +/* Modifier: `uk-modal-dialog-large` + ========================================================================== */ +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-modal-dialog-large { + width: 930px; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-modal-dialog-large { + width: 1130px; + } +} +/* Sub-Object: `uk-modal-header` and `uk-modal-footer` + ========================================================================== */ +.uk-modal-header { + margin-bottom: 15px; + margin: -20px -20px 15px -20px; + padding: 20px; + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + background: #fafafa; +} +.uk-modal-footer { + margin-top: 15px; + margin: 15px -20px -20px -20px; + padding: 20px; + border-top: 1px solid #ddd; + border-radius: 0 0 4px 4px; + background: #fafafa; +} +/* + * Remove margin from the last-child + */ +.uk-modal-header > :last-child, +.uk-modal-footer > :last-child { + margin-bottom: 0; +} +/* Sub-Object: `uk-modal-caption` + ========================================================================== */ +.uk-modal-caption { + position: absolute; + left: 0; + right: 0; + bottom: -20px; + margin-bottom: -10px; + color: #fff; + text-align: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +/* Sub-Object: `uk-modal-spinner` + ========================================================================== */ +.uk-modal-spinner { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + font-size: 25px; + color: #ddd; +} +.uk-modal-spinner:after { + content: "\f110"; + display: block; + font-family: FontAwesome; + -webkit-animation: uk-rotate 2s infinite linear; + animation: uk-rotate 2s infinite linear; +} +/* ======================================================================== + Component: Off-canvas + ========================================================================== */ +/* + * This is the offcanvas overlay and bar container + * 1. Hide by default + * 2. Set fixed position + * 3. Deactivate browser touch actions in IE11 + * 4. Mask the background page + */ +.uk-offcanvas { + /* 1 */ + display: none; + /* 2 */ + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1000; + /* 3 */ + touch-action: none; + /* 4 */ + background: rgba(0, 0, 0, 0.1); +} +.uk-offcanvas.uk-active { + display: block; +} +/* Sub-object `uk-offcanvas-page` + ========================================================================== */ +/* + * Prepares the whole HTML page to slide-out + * 1. Fix the main page and disallow scrolling + * 2. Side-out transition + * 3. Needed for the transition to work instead of just letting it pop to the side + */ +.uk-offcanvas-page { + /* 1 */ + position: fixed; + /* 2 */ + -webkit-transition: margin-left 0.3s ease-in-out; + transition: margin-left 0.3s ease-in-out; + /* 3 */ + margin-left: 0; +} +/* Sub-object `uk-offcanvas-bar` + ========================================================================== */ +/* + * This is the offcanvas bar + * 1. Set fixed position + * 2. Size and style + * 3. Allow scrolling + * 4. Side-out transition + * 5. Deactivate scroll chaining in IE11 + */ +.uk-offcanvas-bar { + /* 1 */ + position: fixed; + top: 0; + bottom: 0; + left: 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + z-index: 1001; + /* 2 */ + width: 270px; + max-width: 100%; + background: #333; + /* 3 */ + overflow-y: auto; + -webkit-overflow-scrolling: touch; + /* 4 */ + -webkit-transition: -webkit-transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out; + /* 5 */ + -ms-scroll-chaining: none; +} +.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show { + -webkit-transform: translateX(0%); + transform: translateX(0%); +} +/* Modifier `uk-offcanvas-bar-flip` + ========================================================================== */ +.uk-offcanvas-bar-flip { + left: auto; + right: 0; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +/* Offcanvase modes + ========================================================================== */ +.uk-offcanvas-bar[mode='none'] { + -webkit-transition: none; + transition: none; +} +.uk-offcanvas-bar[mode='reveal'] { + -webkit-transform: translateX(0%); + transform: translateX(0%); + clip: rect(0, 0, 100vh, 0); + -webkit-transition: -webkit-transform 0.3s ease-in-out, clip 0.3s ease-in-out; + transition: transform 0.3s ease-in-out, clip 0.3s ease-in-out; +} +.uk-offcanvas-bar-flip[mode='reveal'] { + clip: none; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +.uk-offcanvas-bar-flip[mode='reveal'] > * { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + -webkit-transition: -webkit-transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out; +} +.uk-offcanvas.uk-active .uk-offcanvas-bar-flip[mode='reveal'].uk-offcanvas-bar-show > * { + -webkit-transform: translateX(0%); + transform: translateX(0%); +} +/* Panel in offcanvas + ========================================================================== */ +.uk-offcanvas .uk-panel { + margin: 20px 15px; + color: #777; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); +} +.uk-offcanvas .uk-panel-title { + color: #ccc; +} +.uk-offcanvas .uk-panel a:not([class]) { + color: #ccc; +} +.uk-offcanvas .uk-panel a:not([class]):hover { + color: #fff; +} +.uk-offcanvas-bar:after { + content: ""; + display: block; + position: absolute; + top: 0; + bottom: 0; + right: 0; + width: 1px; + background: rgba(0, 0, 0, 0.6); + box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.6); +} +.uk-offcanvas-bar-flip:after { + right: auto; + left: 0; + width: 1px; + background: rgba(0, 0, 0, 0.6); + box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.6); +} +/* ======================================================================== + Component: Switcher + ========================================================================== */ +/* + * 1. Deactivate browser history navigation in IE11 + */ +.uk-switcher { + margin: 0; + padding: 0; + list-style: none; + /* 1 */ + touch-action: cross-slide-y pinch-zoom double-tap-zoom; +} +/* + * Items + */ +.uk-switcher > :not(.uk-active) { + display: none; +} +/* ======================================================================== + Component: Text + ========================================================================== */ +/* Size modifiers + ========================================================================== */ +.uk-text-small { + font-size: 11px; + line-height: 16px; +} +.uk-text-large { + font-size: 18px; + line-height: 24px; + font-weight: normal; +} +/* Weight modifiers + ========================================================================== */ +.uk-text-bold { + font-weight: bold; +} +/* Color modifiers + ========================================================================== */ +.uk-text-muted { + color: #999 !important; +} +.uk-text-primary { + color: #2d7091 !important; +} +.uk-text-success { + color: #659f13 !important; +} +.uk-text-warning { + color: #e28327 !important; +} +.uk-text-danger { + color: #d85030 !important; +} +.uk-text-contrast { + color: #fff !important; +} +/* Alignment modifiers + ========================================================================== */ +.uk-text-left { + text-align: left !important; +} +.uk-text-right { + text-align: right !important; +} +.uk-text-center { + text-align: center !important; +} +.uk-text-justify { + text-align: justify !important; +} +.uk-text-top { + vertical-align: top !important; +} +.uk-text-middle { + vertical-align: middle !important; +} +.uk-text-bottom { + vertical-align: bottom !important; +} +/* Only tablets portrait and smaller */ +@media (max-width: 959px) { + .uk-text-center-medium { + text-align: center !important; + } + .uk-text-left-medium { + text-align: left !important; + } +} +/* Phone landscape and smaller */ +@media (max-width: 767px) { + .uk-text-center-small { + text-align: center !important; + } + .uk-text-left-small { + text-align: left !important; + } +} +/* Wrap modifiers + ========================================================================== */ +/* + * Prevent text from wrapping onto multiple lines + */ +.uk-text-nowrap { + white-space: nowrap; +} +/* + * Prevent text from wrapping onto multiple lines, and truncate with an ellipsis + */ +.uk-text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +/* + * Break strings if their length exceeds the width of their container + */ +.uk-text-break { + word-wrap: break-word; + -webkit-hyphens: auto; + -ms-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; +} +/* Transform modifiers + ========================================================================== */ +.uk-text-capitalize { + text-transform: capitalize !important; +} +.uk-text-lowercase { + text-transform: lowercase !important; +} +.uk-text-uppercase { + text-transform: uppercase !important; +} +/* ======================================================================== + Component: Utility + ========================================================================== */ +/* Container + ========================================================================== */ +.uk-container { + box-sizing: border-box; + max-width: 980px; + padding: 0 25px; +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-container { + max-width: 1200px; + padding: 0 35px; + } +} +/* + * Micro clearfix + */ +.uk-container:before, +.uk-container:after { + content: ""; + display: table; +} +.uk-container:after { + clear: both; +} +/* + * Center container + */ +.uk-container-center { + margin-left: auto; + margin-right: auto; +} +/* Clearing + ========================================================================== */ +/* + * Micro clearfix +* `table-cell` is used with `:before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit + * `table` is used again with `:after` because `clear` only works with block elements. + * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari + */ +.uk-clearfix:before { + content: ""; + display: table-cell; +} +.uk-clearfix:after { + content: ""; + display: table; + clear: both; +} +/* + * Create a new block formatting context + */ +.uk-nbfc { + overflow: hidden; +} +.uk-nbfc-alt { + display: table-cell; + width: 10000px; +} +/* Alignment of block elements + ========================================================================== */ +/* + * Float blocks + * 1. Prevent content overflow on small devices + */ +.uk-float-left { + float: left; +} +.uk-float-right { + float: right; +} +/* 1 */ +[class*='uk-float-'] { + max-width: 100%; +} +/* Alignment of images and objects + ========================================================================== */ +/* + * Alignment + */ +[class*='uk-align-'] { + display: block; + margin-bottom: 15px; +} +.uk-align-left { + margin-right: 15px; + float: left; +} +.uk-align-right { + margin-left: 15px; + float: right; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-align-medium-left { + margin-right: 15px; + float: left; + } + .uk-align-medium-right { + margin-left: 15px; + float: right; + } +} +.uk-align-center { + margin-left: auto; + margin-right: auto; +} +/* Vertical alignment + ========================================================================== */ +/* + * Remove whitespace between child elements when using `inline-block` + */ +.uk-vertical-align { + font-size: 0.001px; +} +/* + * The `uk-vertical-align` container needs a specific height + */ +.uk-vertical-align:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} +/* + * Sub-object which can have any height + * 1. Reset whitespace hack + */ +.uk-vertical-align-middle, +.uk-vertical-align-bottom { + display: inline-block; + max-width: 100%; + /* 1 */ + font-size: 1rem; +} +.uk-vertical-align-middle { + vertical-align: middle; +} +.uk-vertical-align-bottom { + vertical-align: bottom; +} +/* Height + ========================================================================== */ +/* + * More robust if padding and border are used + */ +[class*='uk-height'] { + box-sizing: border-box; +} +/* + * Useful to extend the `html` and `body` element to the full height of the page. + */ +.uk-height-1-1 { + height: 100%; +} +/* + * Useful to create image teasers + */ +.uk-height-viewport { + height: 100vh; + min-height: 600px; +} +/* Responsive objects + * Note: Images are already responsive by default, see Base component + ========================================================================== */ +/* + * 1. Corrects `max-width` and `max-height` behavior if padding and border are used + */ +.uk-responsive-width, +.uk-responsive-height { + box-sizing: border-box; +} +/* + * Responsiveness: Sets a maximum width relative to the parent and auto scales the height + * `important` needed to override `uk-img-preserve img` + */ +.uk-responsive-width { + max-width: 100% !important; + height: auto; +} +/* + * Responsiveness: Sets a maximum height relative to the parent and auto scales the width + * Only works if the parent element has a fixed height. + */ +.uk-responsive-height { + max-height: 100%; + width: auto; +} +/* Margin + ========================================================================== */ +/* + * Create a block with the same margin of a paragraph + * Add margin if adjacent element + */ +.uk-margin { + margin-bottom: 15px; +} +* + .uk-margin { + margin-top: 15px; +} +.uk-margin-top { + margin-top: 15px !important; +} +.uk-margin-bottom { + margin-bottom: 15px !important; +} +.uk-margin-left { + margin-left: 15px !important; +} +.uk-margin-right { + margin-right: 15px !important; +} +/* + * Larger margins + */ +.uk-margin-large { + margin-bottom: 50px; +} +* + .uk-margin-large { + margin-top: 50px; +} +.uk-margin-large-top { + margin-top: 50px !important; +} +.uk-margin-large-bottom { + margin-bottom: 50px !important; +} +.uk-margin-large-left { + margin-left: 50px !important; +} +.uk-margin-large-right { + margin-right: 50px !important; +} +/* + * Smaller margins + */ +.uk-margin-small { + margin-bottom: 5px; +} +* + .uk-margin-small { + margin-top: 5px; +} +.uk-margin-small-top { + margin-top: 5px !important; +} +.uk-margin-small-bottom { + margin-bottom: 5px !important; +} +.uk-margin-small-left { + margin-left: 5px !important; +} +.uk-margin-small-right { + margin-right: 5px !important; +} +/* + * Remove margins + */ +.uk-margin-remove { + margin: 0 !important; +} +.uk-margin-top-remove { + margin-top: 0 !important; +} +.uk-margin-bottom-remove { + margin-bottom: 0 !important; +} +/* Padding + ========================================================================== */ +.uk-padding-remove { + padding: 0 !important; +} +.uk-padding-top-remove { + padding-top: 0 !important; +} +.uk-padding-bottom-remove { + padding-bottom: 0 !important; +} +.uk-padding-vertical-remove { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +/* Border + ========================================================================== */ +.uk-border-circle { + border-radius: 50%; +} +.uk-border-rounded { + border-radius: 5px; +} +/* Headings + ========================================================================== */ +.uk-heading-large { + font-size: 36px; + line-height: 42px; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-heading-large { + font-size: 52px; + line-height: 64px; + } +} +/* Link + ========================================================================== */ +/* + * Let links appear in default text color + */ +.uk-link-muted, +.uk-link-muted a { + color: #444; +} +.uk-link-muted:hover, +.uk-link-muted a:hover { + color: #444; +} +/* + * Reset link style + */ +.uk-link-reset, +.uk-link-reset a, +.uk-link-reset:hover, +.uk-link-reset a:hover, +.uk-link-reset:focus, +.uk-link-reset a:focus { + color: inherit; + text-decoration: none; +} +/* Scrollable + ========================================================================== */ +/* + * Enable scrolling for preformatted text + */ +.uk-scrollable-text { + height: 300px; + overflow-y: scroll; + -webkit-overflow-scrolling: touch; + resize: both; +} +/* + * Box with scrolling enabled + */ +.uk-scrollable-box { + box-sizing: border-box; + height: 170px; + padding: 10px; + border: 1px solid #ddd; + overflow: auto; + -webkit-overflow-scrolling: touch; + resize: both; + border-radius: 3px; +} +.uk-scrollable-box > :last-child { + margin-bottom: 0; +} +/* Overflow + ========================================================================== */ +.uk-overflow-hidden { + overflow: hidden; +} +/* + * Enable scrollbars if content is clipped + */ +.uk-overflow-container { + overflow: auto; + -webkit-overflow-scrolling: touch; +} +.uk-overflow-container > :last-child { + margin-bottom: 0; +} +/* Position + ========================================================================== */ +.uk-position-absolute, +[class*='uk-position-top'], +[class*='uk-position-bottom'] { + position: absolute !important; +} +/* Don't use `width: 100%` because it is wrong if the parent has padding. */ +.uk-position-top { + top: 0; + left: 0; + right: 0; +} +.uk-position-bottom { + bottom: 0; + left: 0; + right: 0; +} +.uk-position-top-left { + top: 0; + left: 0; +} +.uk-position-top-right { + top: 0; + right: 0; +} +.uk-position-bottom-left { + bottom: 0; + left: 0; +} +.uk-position-bottom-right { + bottom: 0; + right: 0; +} +/* + * Cover + */ +.uk-position-cover { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +/* + * Relative + */ +.uk-position-relative { + position: relative !important; +} +/* + * Z-index + */ +.uk-position-z-index { + z-index: 1; +} +/* Display + ========================================================================== */ +/* + * Display + * 1. Required if child is a responsive image + */ +.uk-display-block { + display: block !important; +} +.uk-display-inline { + display: inline !important; +} +.uk-display-inline-block { + display: inline-block !important; + /* 1 */ + max-width: 100%; +} +/* + * Visibility + * Avoids setting display to `block` so it works also with `inline-block` and `table` + */ +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-visible-small { + display: none !important; + } + .uk-visible-medium { + display: none !important; + } + .uk-hidden-large { + display: none !important; + } +} +/* Tablets portrait */ +@media (min-width: 768px) and (max-width: 959px) { + .uk-visible-small { + display: none !important; + } + .uk-visible-large { + display: none !important ; + } + .uk-hidden-medium { + display: none !important; + } +} +/* Phone landscape and smaller*/ +@media (max-width: 767px) { + .uk-visible-medium { + display: none !important; + } + .uk-visible-large { + display: none !important; + } + .uk-hidden-small { + display: none !important; + } +} +/* Remove from the flow and screen readers on any device */ +.uk-hidden { + display: none !important; + visibility: hidden !important; +} +/* It's hidden, but still affects layout */ +.uk-invisible { + visibility: hidden !important; +} +/* Show on hover */ +.uk-visible-hover:hover .uk-hidden, +.uk-visible-hover:hover .uk-invisible { + display: block !important; + visibility: visible !important; +} +.uk-visible-hover-inline:hover .uk-hidden, +.uk-visible-hover-inline:hover .uk-invisible { + display: inline-block !important; + visibility: visible !important; +} +/* Hide on touch */ +.uk-touch .uk-hidden-touch, +.uk-notouch .uk-hidden-notouch { + display: none !important; +} +/* ======================================================================== + Component: Flex + ========================================================================== */ +.uk-flex { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; +} +.uk-flex-inline { + display: -ms-inline-flexbox; + display: -webkit-inline-flex; + display: inline-flex; +} +/* + * Fixes initial flex-shrink value in IE10 + */ +.uk-flex > *, +.uk-flex-inline > * { + -ms-flex-negative: 1; +} +/* Alignment + ========================================================================== */ +/* + * Vertical alignment + * Default value is `stretch` + */ +.uk-flex-top { + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; +} +.uk-flex-middle { + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.uk-flex-bottom { + -ms-flex-align: end; + -webkit-align-items: flex-end; + align-items: flex-end; +} +/* + * Horizontal alignment + * Default value is `flex-start` + */ +.uk-flex-center { + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.uk-flex-right { + -ms-flex-pack: end; + -webkit-justify-content: flex-end; + justify-content: flex-end; +} +.uk-flex-space-between { + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +.uk-flex-space-around { + -ms-flex-pack: distribute; + -webkit-justify-content: space-around; + justify-content: space-around; +} +/* Direction + ========================================================================== */ +.uk-flex-row-reverse { + -ms-flex-direction: row-reverse; + -webkit-flex-direction: row-reverse; + flex-direction: row-reverse; +} +.uk-flex-column { + -ms-flex-direction: column; + -webkit-flex-direction: column; + flex-direction: column; +} +.uk-flex-column-reverse { + -ms-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + flex-direction: column-reverse; +} +/* Wrap + ========================================================================== */ +.uk-flex-nowrap { + -ms-flex-wrap: nowrap; + -webkit-flex-wrap: nowrap; + flex-wrap: nowrap; +} +.uk-flex-wrap { + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; +} +.uk-flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse; + -webkit-flex-wrap: wrap-reverse; + flex-wrap: wrap-reverse; +} +/* + * Horizontal alignment + * Default value is `stretch` + */ +.uk-flex-wrap-top { + -ms-flex-line-pack: start; + -webkit-align-content: flex-start; + align-content: flex-start; +} +.uk-flex-wrap-middle { + -ms-flex-line-pack: center; + -webkit-align-content: center; + align-content: center; +} +.uk-flex-wrap-bottom { + -ms-flex-line-pack: end; + -webkit-align-content: flex-end; + align-content: flex-end; +} +.uk-flex-wrap-space-between { + -ms-flex-line-pack: justify; + -webkit-align-content: space-between; + align-content: space-between; +} +.uk-flex-wrap-space-around { + -ms-flex-line-pack: distribute; + -webkit-align-content: space-around; + align-content: space-around; +} +/* Item ordering + ========================================================================== */ +/* + * Default is 0 + */ +.uk-flex-order-first { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; +} +.uk-flex-order-last { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; +} +/* Phone landscape and bigger */ +@media (min-width: 480px) { + .uk-flex-order-first-small { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .uk-flex-order-last-small { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-flex-order-first-medium { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .uk-flex-order-last-medium { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-flex-order-first-large { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .uk-flex-order-last-large { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-flex-order-first-xlarge { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .uk-flex-order-last-xlarge { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } +} +/* Item dimensions + ========================================================================== */ +/* + * Initial: 0 1 auto + * Content dimensions, but shrinks + */ +/* + * No Flex: 0 0 auto + * Content dimensions + */ +.uk-flex-item-none { + -ms-flex: none; + -webkit-flex: none; + flex: none; +} +/* + * Relative Flex: 1 1 auto + * Space is allocated considering content + * 1. Fixes flex-shrink value in IE10 + */ +.uk-flex-item-auto { + -ms-flex: auto; + -webkit-flex: auto; + flex: auto; + /* 1 */ + -ms-flex-negative: 1; +} +/* + * Absolute Flex: 1 1 0% + * Space is allocated solely based on flex + */ +.uk-flex-item-1 { + -ms-flex: 1; + -webkit-flex: 1; + flex: 1; +} +/* ======================================================================== + Component: Contrast + ========================================================================== */ +.uk-contrast { + color: #fff; + /* Active */ +} +.uk-contrast a:not([class]), +.uk-contrast .uk-link { + color: rgba(255, 255, 255, 0.7); + text-decoration: none; +} +.uk-contrast a:not([class]):hover, +.uk-contrast .uk-link:hover { + color: #fff; + text-decoration: underline; +} +.uk-contrast :not(pre) > code, +.uk-contrast :not(pre) > kbd, +.uk-contrast :not(pre) > samp { + color: #fff; + border-color: rgba(255, 255, 255, 0.2); + background: rgba(255, 255, 255, 0.1); +} +.uk-contrast em { + color: #fff; +} +.uk-contrast h1, +.uk-contrast h2, +.uk-contrast h3, +.uk-contrast h4, +.uk-contrast h5, +.uk-contrast h6 { + color: #fff; +} +.uk-contrast hr { + border-top-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-nav li > a, +.uk-contrast .uk-nav li > a:hover { + text-decoration: none; +} +.uk-contrast .uk-nav-side > li > a { + color: #fff; +} +.uk-contrast .uk-nav-side > li > a:hover, +.uk-contrast .uk-nav-side > li > a:focus { + background: rgba(255, 255, 255, 0.1); + color: #fff; + text-shadow: none; +} +.uk-contrast .uk-nav-side > li.uk-active > a { + background: #fff; + color: #444; + text-shadow: none; +} +.uk-contrast .uk-nav-side .uk-nav-header { + color: #fff; +} +.uk-contrast .uk-nav-side .uk-nav-divider { + border-top-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-nav-side ul a { + color: rgba(255, 255, 255, 0.7); +} +.uk-contrast .uk-nav-side ul a:hover { + color: #fff; +} +.uk-contrast .uk-subnav > * > a { + color: rgba(255, 255, 255, 0.7); + text-decoration: none; +} +.uk-contrast .uk-subnav > * > a:hover, +.uk-contrast .uk-subnav > * > a:focus { + color: #fff; + text-decoration: none; +} +.uk-contrast .uk-subnav > .uk-active > a { + color: #fff; +} +.uk-contrast .uk-subnav-line > :nth-child(n+2):before { + border-left-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-subnav-pill > * > a:hover, +.uk-contrast .uk-subnav-pill > * > a:focus { + background: rgba(255, 255, 255, 0.7); + color: #444; + text-decoration: none; +} +.uk-contrast .uk-subnav-pill > .uk-active > a { + background: #fff; + color: #444; +} +.uk-contrast .uk-tab { + border-bottom-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-tab > li > a { + border-color: transparent; + color: rgba(255, 255, 255, 0.7); + text-shadow: none; +} +.uk-contrast .uk-tab > li > a:hover, +.uk-contrast .uk-tab > li > a:focus, +.uk-contrast .uk-tab > li.uk-open > a { + border-color: rgba(255, 255, 255, 0.7); + background: rgba(255, 255, 255, 0.7); + color: #444; + text-decoration: none; +} +.uk-contrast .uk-tab > li.uk-active > a { + border-color: rgba(255, 255, 255, 0.2); + border-bottom-color: transparent; + background: #fff; + color: #444; +} +.uk-contrast .uk-tab-center { + border-bottom-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-tab-grid:before { + border-top-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-list-line > li:nth-child(n+2) { + border-top-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-form select, +.uk-contrast .uk-form textarea, +.uk-contrast .uk-form input:not([type]), +.uk-contrast .uk-form input[type="text"], +.uk-contrast .uk-form input[type="password"], +.uk-contrast .uk-form input[type="datetime"], +.uk-contrast .uk-form input[type="datetime-local"], +.uk-contrast .uk-form input[type="date"], +.uk-contrast .uk-form input[type="month"], +.uk-contrast .uk-form input[type="time"], +.uk-contrast .uk-form input[type="week"], +.uk-contrast .uk-form input[type="number"], +.uk-contrast .uk-form input[type="email"], +.uk-contrast .uk-form input[type="url"], +.uk-contrast .uk-form input[type="search"], +.uk-contrast .uk-form input[type="tel"], +.uk-contrast .uk-form input[type="color"] { + border-color: rgba(255, 255, 255, 0.8); + background: rgba(255, 255, 255, 0.8); + color: #444; + background-clip: padding-box; +} +.uk-contrast .uk-form select:focus, +.uk-contrast .uk-form textarea:focus, +.uk-contrast .uk-form input:not([type]):focus, +.uk-contrast .uk-form input[type="text"]:focus, +.uk-contrast .uk-form input[type="password"]:focus, +.uk-contrast .uk-form input[type="datetime"]:focus, +.uk-contrast .uk-form input[type="datetime-local"]:focus, +.uk-contrast .uk-form input[type="date"]:focus, +.uk-contrast .uk-form input[type="month"]:focus, +.uk-contrast .uk-form input[type="time"]:focus, +.uk-contrast .uk-form input[type="week"]:focus, +.uk-contrast .uk-form input[type="number"]:focus, +.uk-contrast .uk-form input[type="email"]:focus, +.uk-contrast .uk-form input[type="url"]:focus, +.uk-contrast .uk-form input[type="search"]:focus, +.uk-contrast .uk-form input[type="tel"]:focus, +.uk-contrast .uk-form input[type="color"]:focus { + border-color: #fff; + background: #fff; + color: #444; +} +.uk-contrast .uk-form :-ms-input-placeholder { + color: rgba(68, 68, 68, 0.7) !important; +} +.uk-contrast .uk-form ::-moz-placeholder { + color: rgba(68, 68, 68, 0.7); +} +.uk-contrast .uk-form ::-webkit-input-placeholder { + color: rgba(68, 68, 68, 0.7); +} +.uk-contrast .uk-button { + color: #444; + background: #fff; + border-color: transparent; +} +.uk-contrast .uk-button:hover, +.uk-contrast .uk-button:focus { + background-color: rgba(255, 255, 255, 0.8); + color: #444; + border-color: transparent; +} +.uk-contrast .uk-button:active, +.uk-contrast .uk-button.uk-active { + background-color: rgba(255, 255, 255, 0.7); + color: #444; +} +.uk-contrast .uk-button-primary { + background-color: #00a8e6; + color: #fff; +} +.uk-contrast .uk-button-primary:hover, +.uk-contrast .uk-button-primary:focus { + background-color: #35b3ee; + color: #fff; +} +.uk-contrast .uk-button-primary:active, +.uk-contrast .uk-button-primary.uk-active { + background-color: #0091ca; + color: #fff; +} +.uk-contrast .uk-icon-hover { + color: rgba(255, 255, 255, 0.7); +} +.uk-contrast .uk-icon-hover:hover { + color: #fff; +} +.uk-contrast .uk-icon-button { + background: #fff; + color: #444; + border-color: transparent; +} +.uk-contrast .uk-icon-button:hover, +.uk-contrast .uk-icon-button:focus { + background-color: rgba(255, 255, 255, 0.8); + color: #444; + border-color: transparent; +} +.uk-contrast .uk-icon-button:active { + background-color: rgba(255, 255, 255, 0.7); + color: #444; +} +.uk-contrast .uk-text-muted { + color: rgba(255, 255, 255, 0.6) !important; +} +.uk-contrast .uk-text-primary { + color: #2d7091 !important; +} +/* ======================================================================== + Component: Print + ========================================================================== */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: black !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 0.5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } +} diff --git a/bower_components/uikit/css/uikit.almost-flat.min.css b/bower_components/uikit/css/uikit.almost-flat.min.css new file mode 100644 index 0000000..bc6490a --- /dev/null +++ b/bower_components/uikit/css/uikit.almost-flat.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +html{font:400 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#fff;color:#444}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}.uk-link,a{color:#07D;text-decoration:none;cursor:pointer}.uk-link:hover,a:hover{color:#059;text-decoration:underline}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}:not(pre)>code,:not(pre)>kbd,:not(pre)>samp{font-size:12px;font-family:Consolas,monospace,serif;color:#D05;white-space:nowrap;padding:0 4px;border:1px solid #ddd;border-radius:3px;background:#fafafa}em{color:#D05}ins{background:#ffa;color:#444;text-decoration:none}mark{background:#ffa;color:#444}q{font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}audio,canvas,iframe,img,svg,video{vertical-align:middle}audio,canvas,img,svg,video{max-width:100%;height:auto;box-sizing:border-box}.uk-img-preserve,.uk-img-preserve audio,.uk-img-preserve canvas,.uk-img-preserve img,.uk-img-preserve svg,.uk-img-preserve video{max-width:none}img{border:0}svg:not(:root){overflow:hidden}blockquote,figure{margin:0}address,blockquote,dl,fieldset,figure,ol,p,pre,ul{margin:0 0 15px 0}*+address,*+blockquote,*+dl,*+fieldset,*+figure,*+ol,*+p,*+pre,*+ul{margin-top:15px}h1,h2,h3,h4,h5,h6{margin:0 0 15px 0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;color:#444;text-transform:none}*+h1,*+h2,*+h3,*+h4,*+h5,*+h6{margin-top:25px}.uk-h1,h1{font-size:36px;line-height:42px}.uk-h2,h2{font-size:24px;line-height:30px}.uk-h3,h3{font-size:18px;line-height:24px}.uk-h4,h4{font-size:16px;line-height:22px}.uk-h5,h5{font-size:14px;line-height:20px}.uk-h6,h6{font-size:12px;line-height:18px}ol,ul{padding-left:30px}ol>li>ol,ol>li>ul,ul>li>ol,ul>li>ul{margin:0}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;margin:15px 0;border:0;border-top:1px solid #ddd}address{font-style:normal}blockquote{padding-left:15px;border-left:5px solid #ddd;font-size:16px;line-height:22px;font-style:italic}pre{padding:10px;background:#fafafa;font:12px/18px Consolas,monospace,serif;color:#444;-moz-tab-size:4;tab-size:4;overflow:auto;border:1px solid #ddd;border-radius:3px}::-moz-selection{background:#39f;color:#fff;text-shadow:none}::selection{background:#39f;color:#fff;text-shadow:none}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}progress{vertical-align:baseline}audio:not([controls]){display:none}[hidden],template{display:none}iframe{border:0}@media screen and (max-width:400px){@-ms-viewport{width:device-width}}.uk-grid{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.uk-grid:after,.uk-grid:before{content:"";display:block;overflow:hidden}.uk-grid:after{clear:both}.uk-grid>*{-ms-flex:none;-webkit-flex:none;flex:none;margin:0;float:left}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid{margin-left:-25px}.uk-grid>*{padding-left:25px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:25px}@media (min-width:1220px){.uk-grid{margin-left:-35px}.uk-grid>*{padding-left:35px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid-collapse{margin-left:0}.uk-grid-collapse>*{padding-left:0}.uk-grid-collapse+.uk-grid-collapse,.uk-grid-collapse>*>.uk-panel+.uk-panel,.uk-grid-collapse>.uk-grid-margin{margin-top:0}.uk-grid-small{margin-left:-10px}.uk-grid-small>*{padding-left:10px}.uk-grid-small+.uk-grid-small,.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid-small>.uk-grid-margin{margin-top:10px}.uk-grid-medium{margin-left:-25px}.uk-grid-medium>*{padding-left:25px}.uk-grid-medium+.uk-grid-medium,.uk-grid-medium>*>.uk-panel+.uk-panel,.uk-grid-medium>.uk-grid-margin{margin-top:25px}@media (min-width:960px){.uk-grid-large{margin-left:-35px}.uk-grid-large>*{padding-left:35px}.uk-grid-large+.uk-grid-large,.uk-grid-large-margin,.uk-grid-large>*>.uk-panel+.uk-panel{margin-top:35px}}@media (min-width:1220px){.uk-grid-large{margin-left:-50px}.uk-grid-large>*{padding-left:50px}.uk-grid-large+.uk-grid-large,.uk-grid-large-margin,.uk-grid-large>*>.uk-panel+.uk-panel{margin-top:50px}}.uk-grid-divider:not(:empty){margin-left:-25px;margin-right:-25px}.uk-grid-divider>*{padding-left:25px;padding-right:25px}.uk-grid-divider>[class*=uk-width-9-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-1-]:not(.uk-width-1-1):nth-child(n+2),.uk-grid-divider>[class*=uk-width-2-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-3-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-4-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-5-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-6-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-7-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-8-]:nth-child(n+2){border-left:1px solid #ddd}@media (min-width:768px){.uk-grid-divider>[class*=uk-width-medium-]:not(.uk-width-medium-1-1):nth-child(n+2){border-left:1px solid #ddd}}@media (min-width:960px){.uk-grid-divider>[class*=uk-width-large-]:not(.uk-width-large-1-1):nth-child(n+2){border-left:1px solid #ddd}}@media (min-width:1220px){.uk-grid-divider:not(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider>*{padding-left:35px;padding-right:35px}.uk-grid-divider:empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px;border-top:1px solid #ddd}.uk-grid-match>*{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-grid-match>*>*{-ms-flex:none;-webkit-flex:none;flex:none;box-sizing:border-box;width:100%}[class*=uk-grid-width]>*{box-sizing:border-box;width:100%}.uk-grid-width-1-2>*{width:50%}.uk-grid-width-1-3>*{width:33.333%}.uk-grid-width-1-4>*{width:25%}.uk-grid-width-1-5>*{width:20%}.uk-grid-width-1-6>*{width:16.666%}.uk-grid-width-1-10>*{width:10%}.uk-grid-width-auto>*{width:auto}@media (min-width:480px){.uk-grid-width-small-1-1>*{width:100%}.uk-grid-width-small-1-2>*{width:50%}.uk-grid-width-small-1-3>*{width:33.333%}.uk-grid-width-small-1-4>*{width:25%}.uk-grid-width-small-1-5>*{width:20%}.uk-grid-width-small-1-6>*{width:16.666%}.uk-grid-width-small-1-10>*{width:10%}}@media (min-width:768px){.uk-grid-width-medium-1-1>*{width:100%}.uk-grid-width-medium-1-2>*{width:50%}.uk-grid-width-medium-1-3>*{width:33.333%}.uk-grid-width-medium-1-4>*{width:25%}.uk-grid-width-medium-1-5>*{width:20%}.uk-grid-width-medium-1-6>*{width:16.666%}.uk-grid-width-medium-1-10>*{width:10%}}@media (min-width:960px){.uk-grid-width-large-1-1>*{width:100%}.uk-grid-width-large-1-2>*{width:50%}.uk-grid-width-large-1-3>*{width:33.333%}.uk-grid-width-large-1-4>*{width:25%}.uk-grid-width-large-1-5>*{width:20%}.uk-grid-width-large-1-6>*{width:16.666%}.uk-grid-width-large-1-10>*{width:10%}}@media (min-width:1220px){.uk-grid-width-xlarge-1-1>*{width:100%}.uk-grid-width-xlarge-1-2>*{width:50%}.uk-grid-width-xlarge-1-3>*{width:33.333%}.uk-grid-width-xlarge-1-4>*{width:25%}.uk-grid-width-xlarge-1-5>*{width:20%}.uk-grid-width-xlarge-1-6>*{width:16.666%}.uk-grid-width-xlarge-1-10>*{width:10%}}[class*=uk-width]{box-sizing:border-box;width:100%}.uk-width-1-1{width:100%}.uk-width-1-2,.uk-width-2-4,.uk-width-3-6,.uk-width-5-10{width:50%}.uk-width-1-3,.uk-width-2-6{width:33.333%}.uk-width-2-3,.uk-width-4-6{width:66.666%}.uk-width-1-4{width:25%}.uk-width-3-4{width:75%}.uk-width-1-5,.uk-width-2-10{width:20%}.uk-width-2-5,.uk-width-4-10{width:40%}.uk-width-3-5,.uk-width-6-10{width:60%}.uk-width-4-5,.uk-width-8-10{width:80%}.uk-width-1-6{width:16.666%}.uk-width-5-6{width:83.333%}.uk-width-1-10{width:10%}.uk-width-3-10{width:30%}.uk-width-7-10{width:70%}.uk-width-9-10{width:90%}@media (min-width:480px){.uk-width-small-1-1{width:100%}.uk-width-small-1-2,.uk-width-small-2-4,.uk-width-small-3-6,.uk-width-small-5-10{width:50%}.uk-width-small-1-3,.uk-width-small-2-6{width:33.333%}.uk-width-small-2-3,.uk-width-small-4-6{width:66.666%}.uk-width-small-1-4{width:25%}.uk-width-small-3-4{width:75%}.uk-width-small-1-5,.uk-width-small-2-10{width:20%}.uk-width-small-2-5,.uk-width-small-4-10{width:40%}.uk-width-small-3-5,.uk-width-small-6-10{width:60%}.uk-width-small-4-5,.uk-width-small-8-10{width:80%}.uk-width-small-1-6{width:16.666%}.uk-width-small-5-6{width:83.333%}.uk-width-small-1-10{width:10%}.uk-width-small-3-10{width:30%}.uk-width-small-7-10{width:70%}.uk-width-small-9-10{width:90%}}@media (min-width:768px){.uk-width-medium-1-1{width:100%}.uk-width-medium-1-2,.uk-width-medium-2-4,.uk-width-medium-3-6,.uk-width-medium-5-10{width:50%}.uk-width-medium-1-3,.uk-width-medium-2-6{width:33.333%}.uk-width-medium-2-3,.uk-width-medium-4-6{width:66.666%}.uk-width-medium-1-4{width:25%}.uk-width-medium-3-4{width:75%}.uk-width-medium-1-5,.uk-width-medium-2-10{width:20%}.uk-width-medium-2-5,.uk-width-medium-4-10{width:40%}.uk-width-medium-3-5,.uk-width-medium-6-10{width:60%}.uk-width-medium-4-5,.uk-width-medium-8-10{width:80%}.uk-width-medium-1-6{width:16.666%}.uk-width-medium-5-6{width:83.333%}.uk-width-medium-1-10{width:10%}.uk-width-medium-3-10{width:30%}.uk-width-medium-7-10{width:70%}.uk-width-medium-9-10{width:90%}}@media (min-width:960px){.uk-width-large-1-1{width:100%}.uk-width-large-1-2,.uk-width-large-2-4,.uk-width-large-3-6,.uk-width-large-5-10{width:50%}.uk-width-large-1-3,.uk-width-large-2-6{width:33.333%}.uk-width-large-2-3,.uk-width-large-4-6{width:66.666%}.uk-width-large-1-4{width:25%}.uk-width-large-3-4{width:75%}.uk-width-large-1-5,.uk-width-large-2-10{width:20%}.uk-width-large-2-5,.uk-width-large-4-10{width:40%}.uk-width-large-3-5,.uk-width-large-6-10{width:60%}.uk-width-large-4-5,.uk-width-large-8-10{width:80%}.uk-width-large-1-6{width:16.666%}.uk-width-large-5-6{width:83.333%}.uk-width-large-1-10{width:10%}.uk-width-large-3-10{width:30%}.uk-width-large-7-10{width:70%}.uk-width-large-9-10{width:90%}}@media (min-width:1220px){.uk-width-xlarge-1-1{width:100%}.uk-width-xlarge-1-2,.uk-width-xlarge-2-4,.uk-width-xlarge-3-6,.uk-width-xlarge-5-10{width:50%}.uk-width-xlarge-1-3,.uk-width-xlarge-2-6{width:33.333%}.uk-width-xlarge-2-3,.uk-width-xlarge-4-6{width:66.666%}.uk-width-xlarge-1-4{width:25%}.uk-width-xlarge-3-4{width:75%}.uk-width-xlarge-1-5,.uk-width-xlarge-2-10{width:20%}.uk-width-xlarge-2-5,.uk-width-xlarge-4-10{width:40%}.uk-width-xlarge-3-5,.uk-width-xlarge-6-10{width:60%}.uk-width-xlarge-4-5,.uk-width-xlarge-8-10{width:80%}.uk-width-xlarge-1-6{width:16.666%}.uk-width-xlarge-5-6{width:83.333%}.uk-width-xlarge-1-10{width:10%}.uk-width-xlarge-3-10{width:30%}.uk-width-xlarge-7-10{width:70%}.uk-width-xlarge-9-10{width:90%}}@media (min-width:768px){[class*=uk-push-],[class*=uk-pull-]{position:relative}.uk-push-1-2,.uk-push-2-4,.uk-push-3-6,.uk-push-5-10{left:50%}.uk-push-1-3,.uk-push-2-6{left:33.333%}.uk-push-2-3,.uk-push-4-6{left:66.666%}.uk-push-1-4{left:25%}.uk-push-3-4{left:75%}.uk-push-1-5,.uk-push-2-10{left:20%}.uk-push-2-5,.uk-push-4-10{left:40%}.uk-push-3-5,.uk-push-6-10{left:60%}.uk-push-4-5,.uk-push-8-10{left:80%}.uk-push-1-6{left:16.666%}.uk-push-5-6{left:83.333%}.uk-push-1-10{left:10%}.uk-push-3-10{left:30%}.uk-push-7-10{left:70%}.uk-push-9-10{left:90%}.uk-pull-1-2,.uk-pull-2-4,.uk-pull-3-6,.uk-pull-5-10{left:-50%}.uk-pull-1-3,.uk-pull-2-6{left:-33.333%}.uk-pull-2-3,.uk-pull-4-6{left:-66.666%}.uk-pull-1-4{left:-25%}.uk-pull-3-4{left:-75%}.uk-pull-1-5,.uk-pull-2-10{left:-20%}.uk-pull-2-5,.uk-pull-4-10{left:-40%}.uk-pull-3-5,.uk-pull-6-10{left:-60%}.uk-pull-4-5,.uk-pull-8-10{left:-80%}.uk-pull-1-6{left:-16.666%}.uk-pull-5-6{left:-83.333%}.uk-pull-1-10{left:-10%}.uk-pull-3-10{left:-30%}.uk-pull-7-10{left:-70%}.uk-pull-9-10{left:-90%}}.uk-panel{display:block;position:relative}.uk-panel,.uk-panel:hover{text-decoration:none}.uk-panel:after,.uk-panel:before{content:"";display:table}.uk-panel:after{clear:both}.uk-panel>:not(.uk-panel-title):last-child{margin-bottom:0}.uk-panel-title{margin-top:0;margin-bottom:15px;font-size:18px;line-height:24px;font-weight:400;text-transform:none;color:#444}.uk-panel-badge{position:absolute;top:0;right:0;z-index:1}.uk-panel-teaser{margin-bottom:15px}.uk-panel-body{padding:15px}.uk-panel-box{padding:15px;background:#fafafa;color:#444;border:1px solid #ddd;border-radius:4px}.uk-panel-box-hover:hover{color:#444}.uk-panel-box .uk-panel-title{color:#444}.uk-panel-box .uk-panel-badge{top:10px;right:10px}.uk-panel-box>.uk-panel-teaser{margin-top:-16px;margin-left:-16px;margin-right:-16px}.uk-panel-box>.uk-nav-side{margin:0 -15px}.uk-panel-box-primary{background-color:#ebf7fd;color:#2d7091;border-color:rgba(45,112,145,.3)}.uk-panel-box-primary-hover:hover{color:#2d7091}.uk-panel-box-primary .uk-panel-title{color:#2d7091}.uk-panel-box-secondary{background-color:#fff;color:#444}.uk-panel-box-secondary-hover:hover{color:#444}.uk-panel-box-secondary .uk-panel-title{color:#444}.uk-panel-hover{padding:15px;color:#444;border:1px solid transparent;border-radius:4px}.uk-panel-hover:hover{background:#fafafa;color:#444;border-color:#ddd}.uk-panel-hover .uk-panel-badge{top:10px;right:10px}.uk-panel-hover>.uk-panel-teaser{margin-top:-16px;margin-left:-16px;margin-right:-16px}.uk-panel-header .uk-panel-title{padding-bottom:10px;border-bottom:1px solid #ddd;color:#444}.uk-panel-space{padding:30px}.uk-panel-space .uk-panel-badge{top:30px;right:30px}.uk-panel+.uk-panel-divider{margin-top:50px!important}.uk-panel+.uk-panel-divider:before{content:"";display:block;position:absolute;top:-25px;left:0;right:0;border-top:1px solid #ddd}@media (min-width:1220px){.uk-panel+.uk-panel-divider{margin-top:70px!important}.uk-panel+.uk-panel-divider:before{top:-35px}}.uk-panel-box .uk-panel-teaser{border-top-left-radius:4px;border-top-right-radius:4px;overflow:hidden;-webkit-transform:translateZ(0)}.uk-block{position:relative;box-sizing:border-box;padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block{padding-top:50px;padding-bottom:50px}}.uk-block:after,.uk-block:before{content:"";display:table}.uk-block:after{clear:both}.uk-block>:last-child{margin-bottom:0}.uk-block-large{padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block-large{padding-top:50px;padding-bottom:50px}}@media (min-width:960px){.uk-block-large{padding-top:100px;padding-bottom:100px}}.uk-block-default{background:#fff}.uk-block-muted{background:#f9f9f9}.uk-block-primary{background:#00a8e6}.uk-block-secondary{background:#222}.uk-block-default+.uk-block-default,.uk-block-muted+.uk-block-muted,.uk-block-primary+.uk-block-primary,.uk-block-secondary+.uk-block-secondary{padding-top:0}.uk-article:after,.uk-article:before{content:"";display:table}.uk-article:after{clear:both}.uk-article>:last-child{margin-bottom:0}.uk-article+.uk-article{margin-top:25px}.uk-article-title{font-size:36px;line-height:42px;font-weight:400;text-transform:none}.uk-article-title a{color:inherit;text-decoration:none}.uk-article-meta{font-size:12px;line-height:18px;color:#999}.uk-article-lead{color:#444;font-size:18px;line-height:24px;font-weight:400}.uk-article-divider{margin-bottom:25px;border-color:#ddd}*+.uk-article-divider{margin-top:25px}.uk-article+.uk-article{padding-top:25px;border-top:1px solid #ddd}.uk-comment-header{margin-bottom:15px;padding:10px;border:1px solid #ddd;border-radius:4px;background:#fafafa}.uk-comment-header:after,.uk-comment-header:before{content:"";display:table}.uk-comment-header:after{clear:both}.uk-comment-avatar{margin-right:15px;float:left}.uk-comment-title{margin:5px 0 0 0;font-size:16px;line-height:22px}.uk-comment-meta{margin:2px 0 0 0;font-size:11px;line-height:16px;color:#999}.uk-comment-body{padding-left:10px;padding-right:10px}.uk-comment-body>:last-child{margin-bottom:0}.uk-comment-list{padding:0;list-style:none}.uk-comment-list .uk-comment+ul{margin:25px 0 0 0;list-style:none}.uk-comment-list .uk-comment+ul>li:nth-child(n+2),.uk-comment-list>li:nth-child(n+2){margin-top:25px}@media (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:100px}}.uk-comment-primary .uk-comment-header{border-color:rgba(45,112,145,.3);background-color:#ebf7fd;color:#2d7091;text-shadow:0 1px 0 #fff}.uk-cover-background{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.uk-cover{overflow:hidden}.uk-cover-object{width:auto;height:auto;min-width:100%;min-height:100%;max-width:none;position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}[data-uk-cover]{position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.uk-nav,.uk-nav ul{margin:0;padding:0;list-style:none}.uk-nav li>a{display:block;text-decoration:none}.uk-nav>li>a{padding:5px 15px}.uk-nav ul{padding-left:15px}.uk-nav ul a{padding:2px 0}.uk-nav li>a>div{font-size:12px;line-height:18px}.uk-nav-header{padding:5px 15px;text-transform:uppercase;font-weight:700;font-size:12px}.uk-nav-header:not(:first-child){margin-top:15px}.uk-nav-divider{margin:9px 15px}ul.uk-nav-sub{padding:5px 0 5px 15px}.uk-nav-parent-icon>.uk-parent>a:after{content:"\f104";width:20px;margin-right:-10px;float:right;font-family:FontAwesome;text-align:center}.uk-nav-parent-icon>.uk-parent.uk-open>a:after{content:"\f107"}.uk-nav-side>li>a{color:#444}.uk-nav-side>li>a:focus,.uk-nav-side>li>a:hover{background:rgba(0,0,0,.03);color:#444;outline:0;box-shadow:inset 0 0 1px rgba(0,0,0,.06);text-shadow:0 -1px 0 #fff}.uk-nav-side>li.uk-active>a{background:#00a8e6;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-nav-side .uk-nav-header{color:#444}.uk-nav-side .uk-nav-divider{border-top:1px solid #ddd;box-shadow:0 1px 0 #fff}.uk-nav-side ul a{color:#07D}.uk-nav-side ul a:hover{color:#059}.uk-nav-dropdown>li>a{color:#444}.uk-nav-dropdown>li>a:focus,.uk-nav-dropdown>li>a:hover{background:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-nav-dropdown .uk-nav-header{color:#999}.uk-nav-dropdown .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-dropdown ul a{color:#07D}.uk-nav-dropdown ul a:hover{color:#059}.uk-nav-navbar>li>a{color:#444}.uk-nav-navbar>li>a:focus,.uk-nav-navbar>li>a:hover{background:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-nav-navbar .uk-nav-header{color:#999}.uk-nav-navbar .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-navbar ul a{color:#07D}.uk-nav-navbar ul a:hover{color:#059}.uk-nav-offcanvas>li>a{color:#ccc;padding:10px 15px;border-top:1px solid rgba(0,0,0,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-nav-offcanvas>.uk-open>a,html:not(.uk-touch) .uk-nav-offcanvas>li>a:focus,html:not(.uk-touch) .uk-nav-offcanvas>li>a:hover{background:#404040;color:#fff;outline:0}html .uk-nav.uk-nav-offcanvas>li.uk-active>a{background:#1a1a1a;color:#fff;box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}.uk-nav-offcanvas .uk-nav-header{color:#777;margin-top:0;border-top:1px solid rgba(0,0,0,.3);background:#404040;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-nav-offcanvas .uk-nav-divider{border-top:1px solid rgba(255,255,255,.01);margin:0;height:4px;background:rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}.uk-nav-offcanvas ul a{color:#ccc}html:not(.uk-touch) .uk-nav-offcanvas ul a:hover{color:#fff}.uk-nav-offcanvas{border-bottom:1px solid rgba(0,0,0,.3);box-shadow:0 1px 0 rgba(255,255,255,.05)}.uk-nav-offcanvas .uk-nav-sub{border-top:1px solid rgba(0,0,0,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.uk-navbar{background:#f5f5f5;color:#444;border:1px solid rgba(0,0,0,.06);border-radius:4px}.uk-navbar:after,.uk-navbar:before{content:"";display:table}.uk-navbar:after{clear:both}.uk-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-navbar-nav>li{float:left;position:relative}.uk-navbar-nav>li>a{display:block;box-sizing:border-box;text-decoration:none;height:41px;padding:0 15px;line-height:40px;color:#444;font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;margin-top:-1px;margin-left:-1px;border:1px solid transparent;border-bottom-width:0;text-shadow:0 1px 0 #fff}.uk-navbar-nav>li>a[href='#']{cursor:text}.uk-navbar-nav>li.uk-open>a,.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus{background-color:#fafafa;color:#444;outline:0;position:relative;z-index:1;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.1)}.uk-navbar-nav>li>a:active{background-color:#eee;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2)}.uk-navbar-nav>li.uk-active>a{background-color:#fafafa;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.1)}.uk-navbar-nav .uk-navbar-nav-subtitle{line-height:28px}.uk-navbar-nav-subtitle>div{margin-top:-6px;font-size:10px;line-height:12px}.uk-navbar-brand,.uk-navbar-content,.uk-navbar-toggle{box-sizing:border-box;display:block;height:41px;padding:0 15px;float:left;margin-top:-1px;text-shadow:0 1px 0 #fff}.uk-navbar-brand:before,.uk-navbar-content:before,.uk-navbar-toggle:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-navbar-content+.uk-navbar-content:not(.uk-navbar-center){padding-left:0}.uk-navbar-content>a:not([class]){color:#07D}.uk-navbar-content>a:not([class]):hover{color:#059}.uk-navbar-brand{font-size:18px;color:#444;text-decoration:none}.uk-navbar-brand:focus,.uk-navbar-brand:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle{font-size:18px;color:#444;text-decoration:none}.uk-navbar-toggle:focus,.uk-navbar-toggle:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle:after{content:"\f0c9";font-family:FontAwesome;vertical-align:middle}.uk-navbar-toggle-alt:after{content:"\f002"}.uk-navbar-center{float:none;text-align:center;max-width:50%;margin-left:auto;margin-right:auto}.uk-navbar-flip{float:right}.uk-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.uk-navbar-flip .uk-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-navbar-flip .uk-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0;border-bottom-left-radius:0}.uk-navbar-flip .uk-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.uk-navbar-attached{border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;border-radius:0}.uk-navbar-attached .uk-navbar-nav>li>a{border-radius:0!important}.uk-subnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-subnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;position:relative}.uk-subnav:after,.uk-subnav:before{content:"";display:block;overflow:hidden}.uk-subnav:after{clear:both}.uk-subnav>*{float:left}.uk-subnav>*>*{display:inline-block;color:#444}.uk-subnav>*>:focus,.uk-subnav>*>:hover{color:#07D;text-decoration:none}.uk-subnav>.uk-active>*{color:#07D}.uk-subnav-line>:before{content:"";display:inline-block;height:10px;vertical-align:middle}.uk-subnav-line>:nth-child(n+2):before{margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>*>*{padding:3px 9px;border-radius:4px}.uk-subnav-pill>*>:focus,.uk-subnav-pill>*>:hover{background:#fafafa;color:#444;text-decoration:none;outline:0;box-shadow:0 0 0 1px rgba(0,0,0,.15)}.uk-subnav-pill>.uk-active>*{background:#00a8e6;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05)}.uk-subnav>.uk-disabled>*{background:0 0;color:#999;text-decoration:none;cursor:text;box-shadow:none}.uk-breadcrumb{padding:0;list-style:none;font-size:0}.uk-breadcrumb>li{font-size:1rem;vertical-align:top}.uk-breadcrumb>li,.uk-breadcrumb>li>a,.uk-breadcrumb>li>span{display:inline-block}.uk-breadcrumb>li:nth-child(n+2):before{content:"/";display:inline-block;margin:0 8px}.uk-breadcrumb>li:not(.uk-active)>span{color:#999}.uk-pagination{padding:0;list-style:none;text-align:center;font-size:0}.uk-pagination:after,.uk-pagination:before{content:"";display:table}.uk-pagination:after{clear:both}.uk-pagination>li{display:inline-block;font-size:1rem;vertical-align:top}.uk-pagination>li:nth-child(n+2){margin-left:5px}.uk-pagination>li>a,.uk-pagination>li>span{display:inline-block;min-width:16px;padding:3px 5px;line-height:20px;text-decoration:none;box-sizing:content-box;text-align:center;border:1px solid rgba(0,0,0,.06);border-radius:4px}.uk-pagination>li>a{background:#f5f5f5;color:#444;text-shadow:0 1px 0 #fff}.uk-pagination>li>a:focus,.uk-pagination>li>a:hover{background-color:#fafafa;color:#444;outline:0;border-color:rgba(0,0,0,.16)}.uk-pagination>li>a:active{background-color:#eee;color:#444}.uk-pagination>.uk-active>span{background:#00a8e6;color:#fff;border-color:transparent;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-pagination>.uk-disabled>span{background-color:#fafafa;color:#999;border:1px solid rgba(0,0,0,.06);text-shadow:0 1px 0 #fff}.uk-pagination-previous{float:left}.uk-pagination-next{float:right}.uk-pagination-left{text-align:left}.uk-pagination-right{text-align:right}.uk-tab{margin:0;padding:0;list-style:none;border-bottom:1px solid #ddd}.uk-tab:after,.uk-tab:before{content:"";display:table}.uk-tab:after{clear:both}.uk-tab>li{margin-bottom:-1px;float:left;position:relative}.uk-tab>li>a{display:block;padding:8px 12px 8px 12px;border:1px solid transparent;border-bottom-width:0;color:#07D;text-decoration:none;border-radius:4px 4px 0 0;text-shadow:0 1px 0 #fff}.uk-tab>li:nth-child(n+2)>a{margin-left:5px}.uk-tab>li.uk-open>a,.uk-tab>li>a:focus,.uk-tab>li>a:hover{border-color:rgba(0,0,0,.06);background:#f5f5f5;color:#059;outline:0}.uk-tab>li.uk-open:not(.uk-active)>a,.uk-tab>li:not(.uk-active)>a:focus,.uk-tab>li:not(.uk-active)>a:hover{margin-bottom:1px;padding-bottom:7px}.uk-tab>li.uk-active>a{border-color:#ddd;border-bottom-color:transparent;background:#fff;color:#444}.uk-tab>li.uk-disabled>a{color:#999;cursor:text}.uk-tab>li.uk-disabled.uk-active>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{background:0 0;border-color:transparent}.uk-tab-flip>li{float:right}.uk-tab-flip>li:nth-child(n+2)>a{margin-left:0;margin-right:5px}.uk-tab>li.uk-tab-responsive>a{margin-left:0;margin-right:0}.uk-tab-responsive>a:before{content:"\f0c9\00a0";font-family:FontAwesome}.uk-tab-center{border-bottom:1px solid #ddd}.uk-tab-center-bottom{border-bottom:none;border-top:1px solid #ddd}.uk-tab-center:after,.uk-tab-center:before{content:"";display:table}.uk-tab-center:after{clear:both}.uk-tab-center .uk-tab{position:relative;right:50%;border:none;float:right}.uk-tab-center .uk-tab>li{position:relative;right:-50%}.uk-tab-center .uk-tab>li>a{text-align:center}.uk-tab-bottom{border-top:1px solid #ddd;border-bottom:none}.uk-tab-bottom>li{margin-top:-1px;margin-bottom:0}.uk-tab-bottom>li>a{padding-top:8px;padding-bottom:8px;border-bottom-width:1px;border-top-width:0}.uk-tab-bottom>li.uk-open:not(.uk-active)>a,.uk-tab-bottom>li:not(.uk-active)>a:focus,.uk-tab-bottom>li:not(.uk-active)>a:hover{margin-bottom:0;margin-top:1px;padding-bottom:8px;padding-top:7px}.uk-tab-bottom>li.uk-active>a{border-top-color:transparent;border-bottom-color:#ddd}.uk-tab-grid{margin-left:-5px;border-bottom:none;position:relative;z-index:0}.uk-tab-grid:before{display:block;position:absolute;left:5px;right:0;bottom:-1px;border-top:1px solid #ddd;z-index:-1}.uk-tab-grid>li:first-child>a{margin-left:5px}.uk-tab-grid>li>a{text-align:center}.uk-tab-grid.uk-tab-bottom{border-top:none}.uk-tab-grid.uk-tab-bottom:before{top:-1px;bottom:auto}@media (min-width:768px){.uk-tab-left,.uk-tab-right{border-bottom:none}.uk-tab-left>li,.uk-tab-right>li{margin-bottom:0;float:none}.uk-tab-left>li>a,.uk-tab-right>li>a{padding-top:8px;padding-bottom:8px}.uk-tab-left>li:nth-child(n+2)>a,.uk-tab-right>li:nth-child(n+2)>a{margin-left:0;margin-top:5px}.uk-tab-left>li.uk-active>a,.uk-tab-right>li.uk-active>a{border-color:#ddd}.uk-tab-left{border-right:1px solid #ddd}.uk-tab-left>li{margin-right:-1px}.uk-tab-left>li>a{border-bottom-width:1px;border-right-width:0}.uk-tab-left>li:not(.uk-active)>a:focus,.uk-tab-left>li:not(.uk-active)>a:hover{margin-bottom:0;margin-right:1px;padding-bottom:8px;padding-right:11px}.uk-tab-left>li.uk-active>a{border-right-color:transparent}.uk-tab-right{border-left:1px solid #ddd}.uk-tab-right>li{margin-left:-1px}.uk-tab-right>li>a{border-bottom-width:1px;border-left-width:0}.uk-tab-right>li:not(.uk-active)>a:focus,.uk-tab-right>li:not(.uk-active)>a:hover{margin-bottom:0;margin-left:1px;padding-bottom:8px;padding-left:11px}.uk-tab-right>li.uk-active>a{border-left-color:transparent}}.uk-tab-bottom>li>a{border-radius:0 0 4px 4px}@media (min-width:768px){.uk-tab-left>li>a{border-radius:4px 0 0 4px}.uk-tab-right>li>a{border-radius:0 4px 4px 0}}.uk-thumbnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-thumbnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px}.uk-thumbnav:after,.uk-thumbnav:before{content:"";display:block;overflow:hidden}.uk-thumbnav:after{clear:both}.uk-thumbnav>*{float:left}.uk-thumbnav>*>*{display:block;background:#fff}.uk-thumbnav>*>*>img{opacity:.7;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-thumbnav>*>:focus>img,.uk-thumbnav>*>:hover>img{opacity:1}.uk-thumbnav>.uk-active>*>img{opacity:1}.uk-list{padding:0;list-style:none}.uk-list>li:after,.uk-list>li:before{content:"";display:table}.uk-list>li:after{clear:both}.uk-list>li>:last-child{margin-bottom:0}.uk-list ul{margin:0;padding-left:20px;list-style:none}.uk-list-line>li:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-list-striped>li{padding:5px 5px;border-bottom:1px solid #ddd}.uk-list-striped>li:nth-of-type(odd){background:#fafafa}.uk-list-space>li:nth-child(n+2){margin-top:10px}.uk-list-striped>li:first-child{border-top:1px solid #ddd}@media (min-width:768px){.uk-description-list-horizontal{overflow:hidden}.uk-description-list-horizontal>dt{width:160px;float:left;clear:both;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-description-list-horizontal>dd{margin-left:180px}}.uk-description-list-line>dt{font-weight:400}.uk-description-list-line>dt:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-description-list-line>dd{color:#999}.uk-table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:15px}*+.uk-table{margin-top:15px}.uk-table td,.uk-table th{padding:8px 8px;border-bottom:1px solid #ddd}.uk-table th{text-align:left}.uk-table td{vertical-align:top}.uk-table thead th{vertical-align:bottom}.uk-table caption,.uk-table tfoot{font-size:12px;font-style:italic}.uk-table caption{text-align:left;color:#999}.uk-table tbody tr.uk-active{background:#f0f0f0}.uk-table-middle,.uk-table-middle td{vertical-align:middle!important}.uk-table-striped tbody tr:nth-of-type(odd){background:#fafafa}.uk-table-condensed td{padding:4px 8px}.uk-table-hover tbody tr:hover{background:#f0f0f0}.uk-form input,.uk-form select,.uk-form textarea{box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:inherit}.uk-form select{text-transform:none}.uk-form optgroup{font:inherit;font-weight:700}.uk-form input::-moz-focus-inner{border:0;padding:0}.uk-form input[type=checkbox],.uk-form input[type=radio]{padding:0}.uk-form input[type=checkbox]:not(:disabled),.uk-form input[type=radio]:not(:disabled){cursor:pointer}.uk-form input:not([type]),.uk-form input[type=text],.uk-form input[type=password],.uk-form input[type=email],.uk-form input[type=url],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=number],.uk-form input[type=datetime],.uk-form textarea{-webkit-appearance:none}.uk-form input[type=search]::-webkit-search-cancel-button,.uk-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.uk-form input[type=number]::-webkit-inner-spin-button,.uk-form input[type=number]::-webkit-outer-spin-button{height:auto}.uk-form fieldset{border:none;margin:0;padding:0}.uk-form textarea{overflow:auto;vertical-align:top}.uk-form ::-moz-placeholder{opacity:1}.uk-form :invalid{box-shadow:none}.uk-form input:not([type=radio]):not([type=checkbox]),.uk-form select{vertical-align:middle}.uk-form>:last-child{margin-bottom:0}.uk-form input:not([type]),.uk-form input[type=text],.uk-form input[type=password],.uk-form input[type=email],.uk-form input[type=url],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=number],.uk-form input[type=datetime],.uk-form input[type=datetime-local],.uk-form input[type=date],.uk-form input[type=month],.uk-form input[type=time],.uk-form input[type=week],.uk-form input[type=color],.uk-form select,.uk-form textarea{height:30px;max-width:100%;padding:4px 6px;border:1px solid #ddd;background:#fff;color:#444;-webkit-transition:all .2s linear;-webkit-transition-property:border,background,color,box-shadow,padding;transition:all .2s linear;transition-property:border,background,color,box-shadow,padding;border-radius:4px}.uk-form input:not([type]):focus,.uk-form input[type=text]:focus,.uk-form input[type=password]:focus,.uk-form input[type=email]:focus,.uk-form input[type=url]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=number]:focus,.uk-form input[type=datetime]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=date]:focus,.uk-form input[type=month]:focus,.uk-form input[type=time]:focus,.uk-form input[type=week]:focus,.uk-form input[type=color]:focus,.uk-form select:focus,.uk-form textarea:focus{border-color:#99baca;outline:0;background:#f5fbfe;color:#444}.uk-form input:not([type]):disabled,.uk-form input[type=text]:disabled,.uk-form input[type=password]:disabled,.uk-form input[type=email]:disabled,.uk-form input[type=url]:disabled,.uk-form input[type=search]:disabled,.uk-form input[type=tel]:disabled,.uk-form input[type=number]:disabled,.uk-form input[type=datetime]:disabled,.uk-form input[type=datetime-local]:disabled,.uk-form input[type=date]:disabled,.uk-form input[type=month]:disabled,.uk-form input[type=time]:disabled,.uk-form input[type=week]:disabled,.uk-form input[type=color]:disabled,.uk-form select:disabled,.uk-form textarea:disabled{border-color:#ddd;background-color:#fafafa;color:#999}.uk-form :-ms-input-placeholder{color:#999!important}.uk-form ::-moz-placeholder{color:#999}.uk-form ::-webkit-input-placeholder{color:#999}.uk-form :disabled:-ms-input-placeholder{color:#999!important}.uk-form :disabled::-moz-placeholder{color:#999}.uk-form :disabled::-webkit-input-placeholder{color:#999}.uk-form legend{width:100%;border:0;padding:0;padding-bottom:15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd;width:100%}input:not([type]).uk-form-small,input[type].uk-form-small,select.uk-form-small,textarea.uk-form-small{height:25px;padding:3px 3px;font-size:12px}input:not([type]).uk-form-large,input[type].uk-form-large,select.uk-form-large,textarea.uk-form-large{height:40px;padding:8px 6px;font-size:16px}.uk-form select[multiple],.uk-form select[size],.uk-form textarea{height:auto}.uk-form-danger{border-color:#dc8d99!important;background:#fff7f8!important;color:#d85030!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#659f13!important}.uk-form-blank{border-color:transparent!important;border-style:dashed!important;background:0 0!important}.uk-form-blank:focus{border-color:#ddd!important}input.uk-form-width-mini{width:40px}select.uk-form-width-mini{width:65px}.uk-form-width-small{width:130px}.uk-form-width-medium{width:200px}.uk-form-width-large{width:500px}.uk-form-row:after,.uk-form-row:before{content:"";display:table}.uk-form-row:after{clear:both}.uk-form-row+.uk-form-row{margin-top:15px}.uk-form-help-inline{display:inline-block;margin:0 0 0 10px}.uk-form-help-block{margin:5px 0 0 0}.uk-form-controls>:first-child{margin-top:0}.uk-form-controls>:last-child{margin-bottom:0}.uk-form-controls-condensed{margin:5px 0}.uk-form-stacked .uk-form-label{display:block;margin-bottom:5px;font-weight:700}@media (max-width:959px){.uk-form-horizontal .uk-form-label{display:block;margin-bottom:5px;font-weight:700}}@media (min-width:960px){.uk-form-horizontal .uk-form-label{width:200px;margin-top:5px;float:left}.uk-form-horizontal .uk-form-controls{margin-left:215px}.uk-form-horizontal .uk-form-controls-text{padding-top:5px}}.uk-form-icon{display:inline-block;position:relative;max-width:100%}.uk-form-icon>[class*=uk-icon-]{position:absolute;top:50%;width:30px;margin-top:-7px;font-size:14px;color:#999;text-align:center;pointer-events:none}.uk-form-icon:not(.uk-form-icon-flip)>input{padding-left:30px!important}.uk-form-icon-flip>[class*=uk-icon-]{right:0}.uk-form-icon-flip>input{padding-right:30px!important}.uk-button::-moz-focus-inner{border:0;padding:0}.uk-button{-webkit-appearance:none;margin:0;border:none;overflow:visible;font:inherit;color:#444;text-transform:none;display:inline-block;box-sizing:border-box;padding:0 12px;background:#f5f5f5;vertical-align:middle;line-height:28px;min-height:30px;font-size:1rem;text-decoration:none;text-align:center;border:1px solid rgba(0,0,0,.06);border-radius:4px;text-shadow:0 1px 0 #fff}.uk-button:not(:disabled){cursor:pointer}.uk-button:focus,.uk-button:hover{background-color:#fafafa;color:#444;outline:0;text-decoration:none;border-color:rgba(0,0,0,.16)}.uk-button.uk-active,.uk-button:active{background-color:#eee;color:#444}.uk-button-primary{background-color:#00a8e6;color:#fff}.uk-button-primary:focus,.uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-button-primary.uk-active,.uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-button-success{background-color:#8cc14c;color:#fff}.uk-button-success:focus,.uk-button-success:hover{background-color:#8ec73b;color:#fff}.uk-button-success.uk-active,.uk-button-success:active{background-color:#72ae41;color:#fff}.uk-button-danger{background-color:#da314b;color:#fff}.uk-button-danger:focus,.uk-button-danger:hover{background-color:#e4354f;color:#fff}.uk-button-danger.uk-active,.uk-button-danger:active{background-color:#c91032;color:#fff}.uk-button:disabled{background-color:#fafafa;color:#999;border-color:rgba(0,0,0,.06);box-shadow:none;text-shadow:0 1px 0 #fff}.uk-button-link,.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:disabled,.uk-button-link:focus,.uk-button-link:hover{border-color:transparent;background:0 0;box-shadow:none;text-shadow:none}.uk-button-link{color:#07D}.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:focus,.uk-button-link:hover{color:#059;text-decoration:underline}.uk-button-link:disabled{color:#999}.uk-button-link:focus{outline:1px dotted}.uk-button-mini{min-height:20px;padding:0 6px;line-height:18px;font-size:11px}.uk-button-small{min-height:25px;padding:0 10px;line-height:23px;font-size:12px}.uk-button-large{min-height:40px;padding:0 15px;line-height:38px;font-size:16px;border-radius:5px}.uk-button-group{display:inline-block;vertical-align:middle;position:relative;font-size:0;white-space:nowrap}.uk-button-group>*{display:inline-block}.uk-button-group .uk-button{vertical-align:top}.uk-button-dropdown{display:inline-block;vertical-align:middle;position:relative}.uk-button-danger,.uk-button-primary,.uk-button-success{box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-button-danger:focus,.uk-button-danger:hover,.uk-button-primary:focus,.uk-button-primary:hover,.uk-button-success:focus,.uk-button-success:hover{border-color:rgba(0,0,0,.21)}.uk-button-group>.uk-button:not(:first-child):not(:last-child),.uk-button-group>div:not(:first-child):not(:last-child) .uk-button{border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-radius:0}.uk-button-group>.uk-button:first-child,.uk-button-group>div:first-child .uk-button{border-right-color:rgba(0,0,0,.1);border-top-right-radius:0;border-bottom-right-radius:0}.uk-button-group>.uk-button:last-child,.uk-button-group>div:last-child .uk-button{border-left-color:rgba(0,0,0,.1);border-top-left-radius:0;border-bottom-left-radius:0}.uk-button-group>.uk-button:nth-child(n+2),.uk-button-group>div:nth-child(n+2) .uk-button{margin-left:-1px}.uk-button-group .uk-button.uk-active,.uk-button-group .uk-button:active,.uk-button-group .uk-button:hover{position:relative}@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.woff2) format('woff2'),url(../fonts/fontawesome-webfont.woff) format("woff"),url(../fonts/fontawesome-webfont.ttf) format("truetype");font-weight:400;font-style:normal}[class*=uk-icon-]{font-family:FontAwesome;display:inline-block;font-weight:400;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=uk-icon-],[class*=uk-icon-]:focus,[class*=uk-icon-]:hover{text-decoration:none}.uk-icon-small{font-size:150%;vertical-align:-10%}.uk-icon-medium{font-size:200%;vertical-align:-16%}.uk-icon-large{font-size:250%;vertical-align:-22%}.uk-icon-justify{width:1em;text-align:center}.uk-icon-spin{display:inline-block;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-hover{color:#999}.uk-icon-hover:hover{color:#444}.uk-icon-button{box-sizing:border-box;display:inline-block;width:35px;height:35px;border-radius:100%;background:#f5f5f5;line-height:35px;color:#444;font-size:18px;text-align:center;border:1px solid #e7e7e7;text-shadow:0 1px 0 #fff}.uk-icon-button:focus,.uk-icon-button:hover{background-color:#fafafa;color:#444;outline:0;border-color:#d3d3d3}.uk-icon-button:active{background-color:#eee;color:#444}.uk-icon-glass:before{content:"\f000"}.uk-icon-music:before{content:"\f001"}.uk-icon-search:before{content:"\f002"}.uk-icon-envelope-o:before{content:"\f003"}.uk-icon-heart:before{content:"\f004"}.uk-icon-star:before{content:"\f005"}.uk-icon-star-o:before{content:"\f006"}.uk-icon-user:before{content:"\f007"}.uk-icon-film:before{content:"\f008"}.uk-icon-th-large:before{content:"\f009"}.uk-icon-th:before{content:"\f00a"}.uk-icon-th-list:before{content:"\f00b"}.uk-icon-check:before{content:"\f00c"}.uk-icon-close:before,.uk-icon-remove:before,.uk-icon-times:before{content:"\f00d"}.uk-icon-search-plus:before{content:"\f00e"}.uk-icon-search-minus:before{content:"\f010"}.uk-icon-power-off:before{content:"\f011"}.uk-icon-signal:before{content:"\f012"}.uk-icon-cog:before,.uk-icon-gear:before{content:"\f013"}.uk-icon-trash-o:before{content:"\f014"}.uk-icon-home:before{content:"\f015"}.uk-icon-file-o:before{content:"\f016"}.uk-icon-clock-o:before{content:"\f017"}.uk-icon-road:before{content:"\f018"}.uk-icon-download:before{content:"\f019"}.uk-icon-arrow-circle-o-down:before{content:"\f01a"}.uk-icon-arrow-circle-o-up:before{content:"\f01b"}.uk-icon-inbox:before{content:"\f01c"}.uk-icon-play-circle-o:before{content:"\f01d"}.uk-icon-repeat:before,.uk-icon-rotate-right:before{content:"\f01e"}.uk-icon-refresh:before{content:"\f021"}.uk-icon-list-alt:before{content:"\f022"}.uk-icon-lock:before{content:"\f023"}.uk-icon-flag:before{content:"\f024"}.uk-icon-headphones:before{content:"\f025"}.uk-icon-volume-off:before{content:"\f026"}.uk-icon-volume-down:before{content:"\f027"}.uk-icon-volume-up:before{content:"\f028"}.uk-icon-qrcode:before{content:"\f029"}.uk-icon-barcode:before{content:"\f02a"}.uk-icon-tag:before{content:"\f02b"}.uk-icon-tags:before{content:"\f02c"}.uk-icon-book:before{content:"\f02d"}.uk-icon-bookmark:before{content:"\f02e"}.uk-icon-print:before{content:"\f02f"}.uk-icon-camera:before{content:"\f030"}.uk-icon-font:before{content:"\f031"}.uk-icon-bold:before{content:"\f032"}.uk-icon-italic:before{content:"\f033"}.uk-icon-text-height:before{content:"\f034"}.uk-icon-text-width:before{content:"\f035"}.uk-icon-align-left:before{content:"\f036"}.uk-icon-align-center:before{content:"\f037"}.uk-icon-align-right:before{content:"\f038"}.uk-icon-align-justify:before{content:"\f039"}.uk-icon-list:before{content:"\f03a"}.uk-icon-dedent:before,.uk-icon-outdent:before{content:"\f03b"}.uk-icon-indent:before{content:"\f03c"}.uk-icon-video-camera:before{content:"\f03d"}.uk-icon-image:before,.uk-icon-photo:before,.uk-icon-picture-o:before{content:"\f03e"}.uk-icon-pencil:before{content:"\f040"}.uk-icon-map-marker:before{content:"\f041"}.uk-icon-adjust:before{content:"\f042"}.uk-icon-tint:before{content:"\f043"}.uk-icon-edit:before,.uk-icon-pencil-square-o:before{content:"\f044"}.uk-icon-share-square-o:before{content:"\f045"}.uk-icon-check-square-o:before{content:"\f046"}.uk-icon-arrows:before{content:"\f047"}.uk-icon-step-backward:before{content:"\f048"}.uk-icon-fast-backward:before{content:"\f049"}.uk-icon-backward:before{content:"\f04a"}.uk-icon-play:before{content:"\f04b"}.uk-icon-pause:before{content:"\f04c"}.uk-icon-stop:before{content:"\f04d"}.uk-icon-forward:before{content:"\f04e"}.uk-icon-fast-forward:before{content:"\f050"}.uk-icon-step-forward:before{content:"\f051"}.uk-icon-eject:before{content:"\f052"}.uk-icon-chevron-left:before{content:"\f053"}.uk-icon-chevron-right:before{content:"\f054"}.uk-icon-plus-circle:before{content:"\f055"}.uk-icon-minus-circle:before{content:"\f056"}.uk-icon-times-circle:before{content:"\f057"}.uk-icon-check-circle:before{content:"\f058"}.uk-icon-question-circle:before{content:"\f059"}.uk-icon-info-circle:before{content:"\f05a"}.uk-icon-crosshairs:before{content:"\f05b"}.uk-icon-times-circle-o:before{content:"\f05c"}.uk-icon-check-circle-o:before{content:"\f05d"}.uk-icon-ban:before{content:"\f05e"}.uk-icon-arrow-left:before{content:"\f060"}.uk-icon-arrow-right:before{content:"\f061"}.uk-icon-arrow-up:before{content:"\f062"}.uk-icon-arrow-down:before{content:"\f063"}.uk-icon-mail-forward:before,.uk-icon-share:before{content:"\f064"}.uk-icon-expand:before{content:"\f065"}.uk-icon-compress:before{content:"\f066"}.uk-icon-plus:before{content:"\f067"}.uk-icon-minus:before{content:"\f068"}.uk-icon-asterisk:before{content:"\f069"}.uk-icon-exclamation-circle:before{content:"\f06a"}.uk-icon-gift:before{content:"\f06b"}.uk-icon-leaf:before{content:"\f06c"}.uk-icon-fire:before{content:"\f06d"}.uk-icon-eye:before{content:"\f06e"}.uk-icon-eye-slash:before{content:"\f070"}.uk-icon-exclamation-triangle:before,.uk-icon-warning:before{content:"\f071"}.uk-icon-plane:before{content:"\f072"}.uk-icon-calendar:before{content:"\f073"}.uk-icon-random:before{content:"\f074"}.uk-icon-comment:before{content:"\f075"}.uk-icon-magnet:before{content:"\f076"}.uk-icon-chevron-up:before{content:"\f077"}.uk-icon-chevron-down:before{content:"\f078"}.uk-icon-retweet:before{content:"\f079"}.uk-icon-shopping-cart:before{content:"\f07a"}.uk-icon-folder:before{content:"\f07b"}.uk-icon-folder-open:before{content:"\f07c"}.uk-icon-arrows-v:before{content:"\f07d"}.uk-icon-arrows-h:before{content:"\f07e"}.uk-icon-bar-chart-o:before,.uk-icon-bar-chart:before{content:"\f080"}.uk-icon-twitter-square:before{content:"\f081"}.uk-icon-facebook-square:before{content:"\f082"}.uk-icon-camera-retro:before{content:"\f083"}.uk-icon-key:before{content:"\f084"}.uk-icon-cogs:before,.uk-icon-gears:before{content:"\f085"}.uk-icon-comments:before{content:"\f086"}.uk-icon-thumbs-o-up:before{content:"\f087"}.uk-icon-thumbs-o-down:before{content:"\f088"}.uk-icon-star-half:before{content:"\f089"}.uk-icon-heart-o:before{content:"\f08a"}.uk-icon-sign-out:before{content:"\f08b"}.uk-icon-linkedin-square:before{content:"\f08c"}.uk-icon-thumb-tack:before{content:"\f08d"}.uk-icon-external-link:before{content:"\f08e"}.uk-icon-sign-in:before{content:"\f090"}.uk-icon-trophy:before{content:"\f091"}.uk-icon-github-square:before{content:"\f092"}.uk-icon-upload:before{content:"\f093"}.uk-icon-lemon-o:before{content:"\f094"}.uk-icon-phone:before{content:"\f095"}.uk-icon-square-o:before{content:"\f096"}.uk-icon-bookmark-o:before{content:"\f097"}.uk-icon-phone-square:before{content:"\f098"}.uk-icon-twitter:before{content:"\f099"}.uk-icon-facebook-f:before,.uk-icon-facebook:before{content:"\f09a"}.uk-icon-github:before{content:"\f09b"}.uk-icon-unlock:before{content:"\f09c"}.uk-icon-credit-card:before{content:"\f09d"}.uk-icon-rss:before{content:"\f09e"}.uk-icon-hdd-o:before{content:"\f0a0"}.uk-icon-bullhorn:before{content:"\f0a1"}.uk-icon-bell:before{content:"\f0f3"}.uk-icon-certificate:before{content:"\f0a3"}.uk-icon-hand-o-right:before{content:"\f0a4"}.uk-icon-hand-o-left:before{content:"\f0a5"}.uk-icon-hand-o-up:before{content:"\f0a6"}.uk-icon-hand-o-down:before{content:"\f0a7"}.uk-icon-arrow-circle-left:before{content:"\f0a8"}.uk-icon-arrow-circle-right:before{content:"\f0a9"}.uk-icon-arrow-circle-up:before{content:"\f0aa"}.uk-icon-arrow-circle-down:before{content:"\f0ab"}.uk-icon-globe:before{content:"\f0ac"}.uk-icon-wrench:before{content:"\f0ad"}.uk-icon-tasks:before{content:"\f0ae"}.uk-icon-filter:before{content:"\f0b0"}.uk-icon-briefcase:before{content:"\f0b1"}.uk-icon-arrows-alt:before{content:"\f0b2"}.uk-icon-group:before,.uk-icon-users:before{content:"\f0c0"}.uk-icon-chain:before,.uk-icon-link:before{content:"\f0c1"}.uk-icon-cloud:before{content:"\f0c2"}.uk-icon-flask:before{content:"\f0c3"}.uk-icon-cut:before,.uk-icon-scissors:before{content:"\f0c4"}.uk-icon-copy:before,.uk-icon-files-o:before{content:"\f0c5"}.uk-icon-paperclip:before{content:"\f0c6"}.uk-icon-floppy-o:before,.uk-icon-save:before{content:"\f0c7"}.uk-icon-square:before{content:"\f0c8"}.uk-icon-bars:before,.uk-icon-navicon:before,.uk-icon-reorder:before{content:"\f0c9"}.uk-icon-list-ul:before{content:"\f0ca"}.uk-icon-list-ol:before{content:"\f0cb"}.uk-icon-strikethrough:before{content:"\f0cc"}.uk-icon-underline:before{content:"\f0cd"}.uk-icon-table:before{content:"\f0ce"}.uk-icon-magic:before{content:"\f0d0"}.uk-icon-truck:before{content:"\f0d1"}.uk-icon-pinterest:before{content:"\f0d2"}.uk-icon-pinterest-square:before{content:"\f0d3"}.uk-icon-google-plus-square:before{content:"\f0d4"}.uk-icon-google-plus:before{content:"\f0d5"}.uk-icon-money:before{content:"\f0d6"}.uk-icon-caret-down:before{content:"\f0d7"}.uk-icon-caret-up:before{content:"\f0d8"}.uk-icon-caret-left:before{content:"\f0d9"}.uk-icon-caret-right:before{content:"\f0da"}.uk-icon-columns:before{content:"\f0db"}.uk-icon-sort:before,.uk-icon-unsorted:before{content:"\f0dc"}.uk-icon-sort-desc:before,.uk-icon-sort-down:before{content:"\f0dd"}.uk-icon-sort-asc:before,.uk-icon-sort-up:before{content:"\f0de"}.uk-icon-envelope:before{content:"\f0e0"}.uk-icon-linkedin:before{content:"\f0e1"}.uk-icon-rotate-left:before,.uk-icon-undo:before{content:"\f0e2"}.uk-icon-gavel:before,.uk-icon-legal:before{content:"\f0e3"}.uk-icon-dashboard:before,.uk-icon-tachometer:before{content:"\f0e4"}.uk-icon-comment-o:before{content:"\f0e5"}.uk-icon-comments-o:before{content:"\f0e6"}.uk-icon-bolt:before,.uk-icon-flash:before{content:"\f0e7"}.uk-icon-sitemap:before{content:"\f0e8"}.uk-icon-umbrella:before{content:"\f0e9"}.uk-icon-clipboard:before,.uk-icon-paste:before{content:"\f0ea"}.uk-icon-lightbulb-o:before{content:"\f0eb"}.uk-icon-exchange:before{content:"\f0ec"}.uk-icon-cloud-download:before{content:"\f0ed"}.uk-icon-cloud-upload:before{content:"\f0ee"}.uk-icon-user-md:before{content:"\f0f0"}.uk-icon-stethoscope:before{content:"\f0f1"}.uk-icon-suitcase:before{content:"\f0f2"}.uk-icon-bell-o:before{content:"\f0a2"}.uk-icon-coffee:before{content:"\f0f4"}.uk-icon-cutlery:before{content:"\f0f5"}.uk-icon-file-text-o:before{content:"\f0f6"}.uk-icon-building-o:before{content:"\f0f7"}.uk-icon-hospital-o:before{content:"\f0f8"}.uk-icon-ambulance:before{content:"\f0f9"}.uk-icon-medkit:before{content:"\f0fa"}.uk-icon-fighter-jet:before{content:"\f0fb"}.uk-icon-beer:before{content:"\f0fc"}.uk-icon-h-square:before{content:"\f0fd"}.uk-icon-plus-square:before{content:"\f0fe"}.uk-icon-angle-double-left:before{content:"\f100"}.uk-icon-angle-double-right:before{content:"\f101"}.uk-icon-angle-double-up:before{content:"\f102"}.uk-icon-angle-double-down:before{content:"\f103"}.uk-icon-angle-left:before{content:"\f104"}.uk-icon-angle-right:before{content:"\f105"}.uk-icon-angle-up:before{content:"\f106"}.uk-icon-angle-down:before{content:"\f107"}.uk-icon-desktop:before{content:"\f108"}.uk-icon-laptop:before{content:"\f109"}.uk-icon-tablet:before{content:"\f10a"}.uk-icon-mobile-phone:before,.uk-icon-mobile:before{content:"\f10b"}.uk-icon-circle-o:before{content:"\f10c"}.uk-icon-quote-left:before{content:"\f10d"}.uk-icon-quote-right:before{content:"\f10e"}.uk-icon-spinner:before{content:"\f110"}.uk-icon-circle:before{content:"\f111"}.uk-icon-mail-reply:before,.uk-icon-reply:before{content:"\f112"}.uk-icon-github-alt:before{content:"\f113"}.uk-icon-folder-o:before{content:"\f114"}.uk-icon-folder-open-o:before{content:"\f115"}.uk-icon-smile-o:before{content:"\f118"}.uk-icon-frown-o:before{content:"\f119"}.uk-icon-meh-o:before{content:"\f11a"}.uk-icon-gamepad:before{content:"\f11b"}.uk-icon-keyboard-o:before{content:"\f11c"}.uk-icon-flag-o:before{content:"\f11d"}.uk-icon-flag-checkered:before{content:"\f11e"}.uk-icon-terminal:before{content:"\f120"}.uk-icon-code:before{content:"\f121"}.uk-icon-mail-reply-all:before,.uk-icon-reply-all:before{content:"\f122"}.uk-icon-star-half-empty:before,.uk-icon-star-half-full:before,.uk-icon-star-half-o:before{content:"\f123"}.uk-icon-location-arrow:before{content:"\f124"}.uk-icon-crop:before{content:"\f125"}.uk-icon-code-fork:before{content:"\f126"}.uk-icon-chain-broken:before,.uk-icon-unlink:before{content:"\f127"}.uk-icon-question:before{content:"\f128"}.uk-icon-info:before{content:"\f129"}.uk-icon-exclamation:before{content:"\f12a"}.uk-icon-superscript:before{content:"\f12b"}.uk-icon-subscript:before{content:"\f12c"}.uk-icon-eraser:before{content:"\f12d"}.uk-icon-puzzle-piece:before{content:"\f12e"}.uk-icon-microphone:before{content:"\f130"}.uk-icon-microphone-slash:before{content:"\f131"}.uk-icon-shield:before{content:"\f132"}.uk-icon-calendar-o:before{content:"\f133"}.uk-icon-fire-extinguisher:before{content:"\f134"}.uk-icon-rocket:before{content:"\f135"}.uk-icon-maxcdn:before{content:"\f136"}.uk-icon-chevron-circle-left:before{content:"\f137"}.uk-icon-chevron-circle-right:before{content:"\f138"}.uk-icon-chevron-circle-up:before{content:"\f139"}.uk-icon-chevron-circle-down:before{content:"\f13a"}.uk-icon-html5:before{content:"\f13b"}.uk-icon-css3:before{content:"\f13c"}.uk-icon-anchor:before{content:"\f13d"}.uk-icon-unlock-alt:before{content:"\f13e"}.uk-icon-bullseye:before{content:"\f140"}.uk-icon-ellipsis-h:before{content:"\f141"}.uk-icon-ellipsis-v:before{content:"\f142"}.uk-icon-rss-square:before{content:"\f143"}.uk-icon-play-circle:before{content:"\f144"}.uk-icon-ticket:before{content:"\f145"}.uk-icon-minus-square:before{content:"\f146"}.uk-icon-minus-square-o:before{content:"\f147"}.uk-icon-level-up:before{content:"\f148"}.uk-icon-level-down:before{content:"\f149"}.uk-icon-check-square:before{content:"\f14a"}.uk-icon-pencil-square:before{content:"\f14b"}.uk-icon-external-link-square:before{content:"\f14c"}.uk-icon-share-square:before{content:"\f14d"}.uk-icon-compass:before{content:"\f14e"}.uk-icon-caret-square-o-down:before,.uk-icon-toggle-down:before{content:"\f150"}.uk-icon-caret-square-o-up:before,.uk-icon-toggle-up:before{content:"\f151"}.uk-icon-caret-square-o-right:before,.uk-icon-toggle-right:before{content:"\f152"}.uk-icon-eur:before,.uk-icon-euro:before{content:"\f153"}.uk-icon-gbp:before{content:"\f154"}.uk-icon-dollar:before,.uk-icon-usd:before{content:"\f155"}.uk-icon-inr:before,.uk-icon-rupee:before{content:"\f156"}.uk-icon-cny:before,.uk-icon-jpy:before,.uk-icon-rmb:before,.uk-icon-yen:before{content:"\f157"}.uk-icon-rouble:before,.uk-icon-rub:before,.uk-icon-ruble:before{content:"\f158"}.uk-icon-krw:before,.uk-icon-won:before{content:"\f159"}.uk-icon-bitcoin:before,.uk-icon-btc:before{content:"\f15a"}.uk-icon-file:before{content:"\f15b"}.uk-icon-file-text:before{content:"\f15c"}.uk-icon-sort-alpha-asc:before{content:"\f15d"}.uk-icon-sort-alpha-desc:before{content:"\f15e"}.uk-icon-sort-amount-asc:before{content:"\f160"}.uk-icon-sort-amount-desc:before{content:"\f161"}.uk-icon-sort-numeric-asc:before{content:"\f162"}.uk-icon-sort-numeric-desc:before{content:"\f163"}.uk-icon-thumbs-up:before{content:"\f164"}.uk-icon-thumbs-down:before{content:"\f165"}.uk-icon-youtube-square:before{content:"\f166"}.uk-icon-youtube:before{content:"\f167"}.uk-icon-xing:before{content:"\f168"}.uk-icon-xing-square:before{content:"\f169"}.uk-icon-youtube-play:before{content:"\f16a"}.uk-icon-dropbox:before{content:"\f16b"}.uk-icon-stack-overflow:before{content:"\f16c"}.uk-icon-instagram:before{content:"\f16d"}.uk-icon-flickr:before{content:"\f16e"}.uk-icon-adn:before{content:"\f170"}.uk-icon-bitbucket:before{content:"\f171"}.uk-icon-bitbucket-square:before{content:"\f172"}.uk-icon-tumblr:before{content:"\f173"}.uk-icon-tumblr-square:before{content:"\f174"}.uk-icon-long-arrow-down:before{content:"\f175"}.uk-icon-long-arrow-up:before{content:"\f176"}.uk-icon-long-arrow-left:before{content:"\f177"}.uk-icon-long-arrow-right:before{content:"\f178"}.uk-icon-apple:before{content:"\f179"}.uk-icon-windows:before{content:"\f17a"}.uk-icon-android:before{content:"\f17b"}.uk-icon-linux:before{content:"\f17c"}.uk-icon-dribbble:before{content:"\f17d"}.uk-icon-skype:before{content:"\f17e"}.uk-icon-foursquare:before{content:"\f180"}.uk-icon-trello:before{content:"\f181"}.uk-icon-female:before{content:"\f182"}.uk-icon-male:before{content:"\f183"}.uk-icon-gittip:before,.uk-icon-gratipay:before{content:"\f184"}.uk-icon-sun-o:before{content:"\f185"}.uk-icon-moon-o:before{content:"\f186"}.uk-icon-archive:before{content:"\f187"}.uk-icon-bug:before{content:"\f188"}.uk-icon-vk:before{content:"\f189"}.uk-icon-weibo:before{content:"\f18a"}.uk-icon-renren:before{content:"\f18b"}.uk-icon-pagelines:before{content:"\f18c"}.uk-icon-stack-exchange:before{content:"\f18d"}.uk-icon-arrow-circle-o-right:before{content:"\f18e"}.uk-icon-arrow-circle-o-left:before{content:"\f190"}.uk-icon-caret-square-o-left:before,.uk-icon-toggle-left:before{content:"\f191"}.uk-icon-dot-circle-o:before{content:"\f192"}.uk-icon-wheelchair:before{content:"\f193"}.uk-icon-vimeo-square:before{content:"\f194"}.uk-icon-try:before,.uk-icon-turkish-lira:before{content:"\f195"}.uk-icon-plus-square-o:before{content:"\f196"}.uk-icon-space-shuttle:before{content:"\f197"}.uk-icon-slack:before{content:"\f198"}.uk-icon-envelope-square:before{content:"\f199"}.uk-icon-wordpress:before{content:"\f19a"}.uk-icon-openid:before{content:"\f19b"}.uk-icon-bank:before,.uk-icon-institution:before,.uk-icon-university:before{content:"\f19c"}.uk-icon-graduation-cap:before,.uk-icon-mortar-board:before{content:"\f19d"}.uk-icon-yahoo:before{content:"\f19e"}.uk-icon-google:before{content:"\f1a0"}.uk-icon-reddit:before{content:"\f1a1"}.uk-icon-reddit-square:before{content:"\f1a2"}.uk-icon-stumbleupon-circle:before{content:"\f1a3"}.uk-icon-stumbleupon:before{content:"\f1a4"}.uk-icon-delicious:before{content:"\f1a5"}.uk-icon-digg:before{content:"\f1a6"}.uk-icon-pied-piper:before{content:"\f1a7"}.uk-icon-pied-piper-alt:before{content:"\f1a8"}.uk-icon-drupal:before{content:"\f1a9"}.uk-icon-joomla:before{content:"\f1aa"}.uk-icon-language:before{content:"\f1ab"}.uk-icon-fax:before{content:"\f1ac"}.uk-icon-building:before{content:"\f1ad"}.uk-icon-child:before{content:"\f1ae"}.uk-icon-paw:before{content:"\f1b0"}.uk-icon-spoon:before{content:"\f1b1"}.uk-icon-cube:before{content:"\f1b2"}.uk-icon-cubes:before{content:"\f1b3"}.uk-icon-behance:before{content:"\f1b4"}.uk-icon-behance-square:before{content:"\f1b5"}.uk-icon-steam:before{content:"\f1b6"}.uk-icon-steam-square:before{content:"\f1b7"}.uk-icon-recycle:before{content:"\f1b8"}.uk-icon-automobile:before,.uk-icon-car:before{content:"\f1b9"}.uk-icon-cab:before,.uk-icon-taxi:before{content:"\f1ba"}.uk-icon-tree:before{content:"\f1bb"}.uk-icon-spotify:before{content:"\f1bc"}.uk-icon-deviantart:before{content:"\f1bd"}.uk-icon-soundcloud:before{content:"\f1be"}.uk-icon-database:before{content:"\f1c0"}.uk-icon-file-pdf-o:before{content:"\f1c1"}.uk-icon-file-word-o:before{content:"\f1c2"}.uk-icon-file-excel-o:before{content:"\f1c3"}.uk-icon-file-powerpoint-o:before{content:"\f1c4"}.uk-icon-file-image-o:before,.uk-icon-file-photo-o:before,.uk-icon-file-picture-o:before{content:"\f1c5"}.uk-icon-file-archive-o:before,.uk-icon-file-zip-o:before{content:"\f1c6"}.uk-icon-file-audio-o:before,.uk-icon-file-sound-o:before{content:"\f1c7"}.uk-icon-file-movie-o:before,.uk-icon-file-video-o:before{content:"\f1c8"}.uk-icon-file-code-o:before{content:"\f1c9"}.uk-icon-vine:before{content:"\f1ca"}.uk-icon-codepen:before{content:"\f1cb"}.uk-icon-jsfiddle:before{content:"\f1cc"}.uk-icon-life-bouy:before,.uk-icon-life-buoy:before,.uk-icon-life-ring:before,.uk-icon-life-saver:before,.uk-icon-support:before{content:"\f1cd"}.uk-icon-circle-o-notch:before{content:"\f1ce"}.uk-icon-ra:before,.uk-icon-rebel:before{content:"\f1d0"}.uk-icon-empire:before,.uk-icon-ge:before{content:"\f1d1"}.uk-icon-git-square:before{content:"\f1d2"}.uk-icon-git:before{content:"\f1d3"}.uk-icon-hacker-news:before{content:"\f1d4"}.uk-icon-tencent-weibo:before{content:"\f1d5"}.uk-icon-qq:before{content:"\f1d6"}.uk-icon-wechat:before,.uk-icon-weixin:before{content:"\f1d7"}.uk-icon-paper-plane:before,.uk-icon-send:before{content:"\f1d8"}.uk-icon-paper-plane-o:before,.uk-icon-send-o:before{content:"\f1d9"}.uk-icon-history:before{content:"\f1da"}.uk-icon-circle-thin:before,.uk-icon-genderless:before{content:"\f1db"}.uk-icon-header:before{content:"\f1dc"}.uk-icon-paragraph:before{content:"\f1dd"}.uk-icon-sliders:before{content:"\f1de"}.uk-icon-share-alt:before{content:"\f1e0"}.uk-icon-share-alt-square:before{content:"\f1e1"}.uk-icon-bomb:before{content:"\f1e2"}.uk-icon-futbol-o:before,.uk-icon-soccer-ball-o:before{content:"\f1e3"}.uk-icon-tty:before{content:"\f1e4"}.uk-icon-binoculars:before{content:"\f1e5"}.uk-icon-plug:before{content:"\f1e6"}.uk-icon-slideshare:before{content:"\f1e7"}.uk-icon-twitch:before{content:"\f1e8"}.uk-icon-yelp:before{content:"\f1e9"}.uk-icon-newspaper-o:before{content:"\f1ea"}.uk-icon-wifi:before{content:"\f1eb"}.uk-icon-calculator:before{content:"\f1ec"}.uk-icon-paypal:before{content:"\f1ed"}.uk-icon-google-wallet:before{content:"\f1ee"}.uk-icon-cc-visa:before{content:"\f1f0"}.uk-icon-cc-mastercard:before{content:"\f1f1"}.uk-icon-cc-discover:before{content:"\f1f2"}.uk-icon-cc-amex:before{content:"\f1f3"}.uk-icon-cc-paypal:before{content:"\f1f4"}.uk-icon-cc-stripe:before{content:"\f1f5"}.uk-icon-bell-slash:before{content:"\f1f6"}.uk-icon-bell-slash-o:before{content:"\f1f7"}.uk-icon-trash:before{content:"\f1f8"}.uk-icon-copyright:before{content:"\f1f9"}.uk-icon-at:before{content:"\f1fa"}.uk-icon-eyedropper:before{content:"\f1fb"}.uk-icon-paint-brush:before{content:"\f1fc"}.uk-icon-birthday-cake:before{content:"\f1fd"}.uk-icon-area-chart:before{content:"\f1fe"}.uk-icon-pie-chart:before{content:"\f200"}.uk-icon-line-chart:before{content:"\f201"}.uk-icon-lastfm:before{content:"\f202"}.uk-icon-lastfm-square:before{content:"\f203"}.uk-icon-toggle-off:before{content:"\f204"}.uk-icon-toggle-on:before{content:"\f205"}.uk-icon-bicycle:before{content:"\f206"}.uk-icon-bus:before{content:"\f207"}.uk-icon-ioxhost:before{content:"\f208"}.uk-icon-angellist:before{content:"\f209"}.uk-icon-cc:before{content:"\f20a"}.uk-icon-ils:before,.uk-icon-shekel:before,.uk-icon-sheqel:before{content:"\f20b"}.uk-icon-meanpath:before{content:"\f20c"}.uk-icon-buysellads:before{content:"\f20d"}.uk-icon-connectdevelop:before{content:"\f20e"}.uk-icon-dashcube:before{content:"\f210"}.uk-icon-forumbee:before{content:"\f211"}.uk-icon-leanpub:before{content:"\f212"}.uk-icon-sellsy:before{content:"\f213"}.uk-icon-shirtsinbulk:before{content:"\f214"}.uk-icon-simplybuilt:before{content:"\f215"}.uk-icon-skyatlas:before{content:"\f216"}.uk-icon-cart-plus:before{content:"\f217"}.uk-icon-cart-arrow-down:before{content:"\f218"}.uk-icon-diamond:before{content:"\f219"}.uk-icon-ship:before{content:"\f21a"}.uk-icon-user-secret:before{content:"\f21b"}.uk-icon-motorcycle:before{content:"\f21c"}.uk-icon-street-view:before{content:"\f21d"}.uk-icon-heartbeat:before{content:"\f21e"}.uk-icon-venus:before{content:"\f221"}.uk-icon-mars:before{content:"\f222"}.uk-icon-mercury:before{content:"\f223"}.uk-icon-transgender:before{content:"\f224"}.uk-icon-transgender-alt:before{content:"\f225"}.uk-icon-venus-double:before{content:"\f226"}.uk-icon-mars-double:before{content:"\f227"}.uk-icon-venus-mars:before{content:"\f228"}.uk-icon-mars-stroke:before{content:"\f229"}.uk-icon-mars-stroke-v:before{content:"\f22a"}.uk-icon-mars-stroke-h:before{content:"\f22b"}.uk-icon-neuter:before{content:"\f22c"}.uk-icon-facebook-official:before{content:"\f230"}.uk-icon-pinterest-p:before{content:"\f231"}.uk-icon-whatsapp:before{content:"\f232"}.uk-icon-server:before{content:"\f233"}.uk-icon-user-plus:before{content:"\f234"}.uk-icon-user-times:before{content:"\f235"}.uk-icon-bed:before,.uk-icon-hotel:before{content:"\f236"}.uk-icon-viacoin:before{content:"\f237"}.uk-icon-train:before{content:"\f238"}.uk-icon-subway:before{content:"\f239"}.uk-icon-medium-logo:before{content:"\f23a"}.uk-icon-500px:before{content:"\f26e"}.uk-icon-amazon:before{content:"\f270"}.uk-icon-balance-scale:before{content:"\f24e"}.uk-icon-battery-0:before,.uk-icon-battery-empty:before{content:"\f244"}.uk-icon-battery-1:before,.uk-icon-battery-quarter:before{content:"\f243"}.uk-icon-battery-2:before,.uk-icon-battery-half:before{content:"\f242"}.uk-icon-battery-3:before,.uk-icon-battery-three-quarters:before{content:"\f241"}.uk-icon-battery-4:before,.uk-icon-battery-full:before{content:"\f240"}.uk-icon-black-tie:before{content:"\f27e"}.uk-icon-calendar-check-o:before{content:"\f274"}.uk-icon-calendar-minus-o:before{content:"\f272"}.uk-icon-calendar-plus-o:before{content:"\f271"}.uk-icon-calendar-times-o:before{content:"\f273"}.uk-icon-cc-diners-club:before{content:"\f24c"}.uk-icon-cc-jcb:before{content:"\f24b"}.uk-icon-chrome:before{content:"\f268"}.uk-icon-clone:before{content:"\f24d"}.uk-icon-commenting:before{content:"\f27a"}.uk-icon-commenting-o:before{content:"\f27b"}.uk-icon-contao:before{content:"\f26d"}.uk-icon-creative-commons:before{content:"\f25e"}.uk-icon-expeditedssl:before{content:"\f23e"}.uk-icon-firefox:before{content:"\f269"}.uk-icon-fonticons:before{content:"\f280"}.uk-icon-get-pocket:before{content:"\f265"}.uk-icon-gg:before{content:"\f260"}.uk-icon-gg-circle:before{content:"\f261"}.uk-icon-hand-lizard-o:before{content:"\f258"}.uk-icon-hand-paper-o:before,.uk-icon-hand-stop-o:before{content:"\f256"}.uk-icon-hand-peace-o:before{content:"\f25b"}.uk-icon-hand-pointer-o:before{content:"\f25a"}.uk-icon-hand-grab-o:before,.uk-icon-hand-rock-o:before{content:"\f255"}.uk-icon-hand-scissors-o:before{content:"\f257"}.uk-icon-hand-spock-o:before{content:"\f259"}.uk-icon-hourglass:before{content:"\f254"}.uk-icon-hourglass-o:before{content:"\f250"}.uk-icon-hourglass-1:before,.uk-icon-hourglass-start:before{content:"\f251"}.uk-icon-hourglass-2:before,.uk-icon-hourglass-half:before{content:"\f252"}.uk-icon-hourglass-3:before,.uk-icon-hourglass-end:before{content:"\f253"}.uk-icon-houzz:before{content:"\f27c"}.uk-icon-i-cursor:before{content:"\f246"}.uk-icon-industry:before{content:"\f275"}.uk-icon-internet-explorer:before{content:"\f26b"}.uk-icon-map:before{content:"\f279"}.uk-icon-map-o:before{content:"\f278"}.uk-icon-map-pin:before{content:"\f276"}.uk-icon-map-signs:before{content:"\f277"}.uk-icon-mouse-pointer:before{content:"\f245"}.uk-icon-object-group:before{content:"\f247"}.uk-icon-object-ungroup:before{content:"\f248"}.uk-icon-odnoklassniki:before{content:"\f263"}.uk-icon-odnoklassniki-square:before{content:"\f264"}.uk-icon-opencart:before{content:"\f23d"}.uk-icon-opera:before{content:"\f26a"}.uk-icon-optin-monster:before{content:"\f23c"}.uk-icon-registered:before{content:"\f25d"}.uk-icon-safari:before{content:"\f267"}.uk-icon-sticky-note:before{content:"\f249"}.uk-icon-sticky-note-o:before{content:"\f24a"}.uk-icon-television:before,.uk-icon-tv:before{content:"\f26c"}.uk-icon-trademark:before{content:"\f25c"}.uk-icon-tripadvisor:before{content:"\f262"}.uk-icon-vimeo:before{content:"\f27d"}.uk-icon-wikipedia-w:before{content:"\f266"}.uk-icon-y-combinator:before,.uk-icon-yc:before{content:"\f23b"}.uk-icon-y-combinator-square:before,.uk-icon-yc-square:before{content:"\f1d4"}.uk-icon-bluetooth:before{content:"\f293"}.uk-icon-bluetooth-b:before{content:"\f294"}.uk-icon-codiepie:before{content:"\f284"}.uk-icon-credit-card-alt:before{content:"\f283"}.uk-icon-edge:before{content:"\f282"}.uk-icon-fort-awesome:before{content:"\f286"}.uk-icon-hashtag:before{content:"\f292"}.uk-icon-mixcloud:before{content:"\f289"}.uk-icon-modx:before{content:"\f285"}.uk-icon-pause-circle:before{content:"\f28b"}.uk-icon-pause-circle-o:before{content:"\f28c"}.uk-icon-percent:before{content:"\f295"}.uk-icon-product-hunt:before{content:"\f288"}.uk-icon-reddit-alien:before{content:"\f281"}.uk-icon-scribd:before{content:"\f28a"}.uk-icon-shopping-bag:before{content:"\f290"}.uk-icon-shopping-basket:before{content:"\f291"}.uk-icon-stop-circle:before{content:"\f28d"}.uk-icon-stop-circle-o:before{content:"\f28e"}.uk-icon-usb:before{content:"\f287"}.uk-icon-american-sign-language-interpreting:before,.uk-icon-asl-interpreting:before{content:"\f2a3"}.uk-icon-assistive-listening-systems:before{content:"\f2a2"}.uk-icon-audio-description:before{content:"\f29e"}.uk-icon-blind:before{content:"\f29d"}.uk-icon-braille:before{content:"\f2a1"}.uk-icon-deaf:before,.uk-icon-deafness:before{content:"\f2a4"}.uk-icon-envira:before{content:"\f299"}.uk-icon-fa:before,.uk-icon-font-awesome:before{content:"\f2b4"}.uk-icon-first-order:before{content:"\f2b0"}.uk-icon-gitlab:before{content:"\f296"}.uk-icon-glide:before{content:"\f2a5"}.uk-icon-glide-g:before{content:"\f2a6"}.uk-icon-hard-of-hearing:before{content:"\f2a4"}.uk-icon-low-vision:before{content:"\f2a8"}.uk-icon-question-circle-o:before{content:"\f29c"}.uk-icon-sign-language:before,.uk-icon-signing:before{content:"\f2a7"}.uk-icon-snapchat:before{content:"\f2ab"}.uk-icon-snapchat-ghost:before{content:"\f2ac"}.uk-icon-snapchat-square:before{content:"\f2ad"}.uk-icon-themeisle:before{content:"\f2b2"}.uk-icon-universal-access:before{content:"\f29a"}.uk-icon-viadeo:before{content:"\f2a9"}.uk-icon-viadeo-square:before{content:"\f2aa"}.uk-icon-volume-control-phone:before{content:"\f2a0"}.uk-icon-wheelchair-alt:before{content:"\f29b"}.uk-icon-wpbeginner:before{content:"\f297"}.uk-icon-wpforms:before{content:"\f298"}.uk-icon-yoast:before{content:"\f2b1"}.uk-icon-adress-book:before{content:"\f2b9"}.uk-icon-adress-book-o:before{content:"\f2ba"}.uk-icon-adress-card:before{content:"\f2bb"}.uk-icon-adress-card-o:before{content:"\f2bc"}.uk-icon-bandcamp:before{content:"\f2d5"}.uk-icon-bath:before{content:"\f2cd"}.uk-icon-bathub:before{content:"\f2cd"}.uk-icon-drivers-license:before{content:"\f2c2"}.uk-icon-drivers-license-o:before{content:"\f2c3"}.uk-icon-eercast:before{content:"\f2da"}.uk-icon-envelope-open:before{content:"\f2b6"}.uk-icon-envelope-open-o:before{content:"\f2b7"}.uk-icon-etsy:before{content:"\f2d7"}.uk-icon-free-code-camp:before{content:"\f2c5"}.uk-icon-grav:before{content:"\f2d6"}.uk-icon-handshake-o:before{content:"\f2b5"}.uk-icon-id-badge:before{content:"\f2c1"}.uk-icon-id-card:before{content:"\f2c2"}.uk-icon-id-card-o:before{content:"\f2c3"}.uk-icon-imdb:before{content:"\f2d8"}.uk-icon-linode:before{content:"\f2b8"}.uk-icon-meetup:before{content:"\f2e0"}.uk-icon-microchip:before{content:"\f2db"}.uk-icon-podcast:before{content:"\f2ce"}.uk-icon-quora:before{content:"\f2c4"}.uk-icon-ravelry:before{content:"\f2d9"}.uk-icon-s15:before{content:"\f2cd"}.uk-icon-shower:before{content:"\f2cc"}.uk-icon-snowflake-o:before{content:"\f2dc"}.uk-icon-superpowers:before{content:"\f2dd"}.uk-icon-telegram:before{content:"\f2c6"}.uk-icon-thermometer:before{content:"\f2c7"}.uk-icon-thermometer-0:before{content:"\f2cb"}.uk-icon-thermometer-1:before{content:"\f2ca"}.uk-icon-thermometer-2:before{content:"\f2c9"}.uk-icon-thermometer-3:before{content:"\f2c8"}.uk-icon-thermometer-4:before{content:"\f2c7"}.uk-icon-thermometer-empty:before{content:"\f2cb"}.uk-icon-thermometer-full:before{content:"\f2c7"}.uk-icon-thermometer-half:before{content:"\f2c9"}.uk-icon-thermometer-quarter:before{content:"\f2ca"}.uk-icon-thermometer-three-quarters:before{content:"\f2c8"}.uk-icon-times-rectangle:before{content:"\f2d3"}.uk-icon-times-rectangle-o:before{content:"\f2d4"}.uk-icon-user-circle:before{content:"\f2bd"}.uk-icon-user-circle-o:before{content:"\f2be"}.uk-icon-user-o:before{content:"\f2c0"}.uk-icon-vcard:before{content:"\f2bb"}.uk-icon-vcard-o:before{content:"\f2bc"}.uk-icon-widow-close:before{content:"\f2d3"}.uk-icon-widow-close-o:before{content:"\f2d4"}.uk-icon-window-maximize:before{content:"\f2d0"}.uk-icon-window-minimize:before{content:"\f2d1"}.uk-icon-window-restore:before{content:"\f2d2"}.uk-icon-wpexplorer:before{content:"\f2de"}.uk-close::-moz-focus-inner{border:0;padding:0}.uk-close{-webkit-appearance:none;margin:0;border:none;overflow:visible;font:inherit;color:inherit;text-transform:none;padding:0;background:0 0;display:inline-block;box-sizing:content-box;width:20px;line-height:20px;text-align:center;vertical-align:middle;opacity:.3}.uk-close:after{display:block;content:"\f00d";font-family:FontAwesome}.uk-close:focus,.uk-close:hover{opacity:.5;outline:0;color:inherit;text-decoration:none;cursor:pointer}.uk-close-alt{padding:2px;border-radius:50%;background:#fff;opacity:1;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 0 6px rgba(0,0,0,.3)}.uk-close-alt:focus,.uk-close-alt:hover{opacity:1}.uk-close-alt:after{opacity:.5}.uk-close-alt:focus:after,.uk-close-alt:hover:after{opacity:.8}.uk-badge{display:inline-block;padding:0 5px;background:#00a8e6;font-size:10px;font-weight:700;line-height:14px;color:#fff;text-align:center;vertical-align:middle;text-transform:none;border:1px solid rgba(0,0,0,.06);border-radius:2px;text-shadow:0 1px 0 rgba(0,0,0,.1)}a.uk-badge:hover{color:#fff}.uk-badge-notification{box-sizing:border-box;min-width:18px;border-radius:500px;font-size:12px;line-height:18px}.uk-badge-success{background-color:#8cc14c}.uk-badge-warning{background-color:#faa732}.uk-badge-danger{background-color:#da314b}.uk-alert{margin-bottom:15px;padding:10px;background:#ebf7fd;color:#2d7091;border:1px solid rgba(45,112,145,.3);border-radius:4px;text-shadow:0 1px 0 #fff}*+.uk-alert{margin-top:15px}.uk-alert>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6{color:inherit}.uk-alert>.uk-close:first-child{float:right}.uk-alert>.uk-close:first-child+*{margin-top:0}.uk-alert-success{background:#f2fae3;color:#659f13;border-color:rgba(101,159,19,.3)}.uk-alert-warning{background:#fffceb;color:#e28327;border-color:rgba(226,131,39,.3)}.uk-alert-danger{background:#fff1f0;color:#d85030;border-color:rgba(216,80,48,.3)}.uk-alert-large{padding:20px}.uk-alert-large>.uk-close:first-child{margin:-10px -10px 0 0}.uk-thumbnail{display:inline-block;max-width:100%;box-sizing:border-box;margin:0;padding:4px;border:1px solid #ddd;background:#fff;border-radius:4px}a.uk-thumbnail:focus,a.uk-thumbnail:hover{border-color:#aaa;background-color:#fff;text-decoration:none;outline:0}.uk-thumbnail-caption{padding-top:4px;text-align:center;color:#444}.uk-thumbnail-mini{width:150px}.uk-thumbnail-small{width:200px}.uk-thumbnail-medium{width:300px}.uk-thumbnail-large{width:400px}.uk-thumbnail-expand,.uk-thumbnail-expand>img{width:100%}.uk-overlay{display:inline-block;position:relative;max-width:100%;vertical-align:middle;overflow:hidden;-webkit-transform:translateZ(0);margin:0}.uk-overlay.uk-border-circle{-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.uk-overlay>:first-child{margin-bottom:0}.uk-overlay-panel{position:absolute;top:0;bottom:0;left:0;right:0;padding:20px;color:#fff}.uk-overlay-panel.uk-flex>*>:last-child,.uk-overlay-panel>:last-child{margin-bottom:0}.uk-overlay-panel h1,.uk-overlay-panel h2,.uk-overlay-panel h3,.uk-overlay-panel h4,.uk-overlay-panel h5,.uk-overlay-panel h6{color:inherit}.uk-overlay-panel a:not([class]){color:inherit;text-decoration:underline}.uk-overlay-panel a[class*=uk-icon-]:not(.uk-icon-button){color:inherit}.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-active :not(.uk-active)>.uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-background{background:rgba(0,0,0,.5)}.uk-overlay-image{padding:0}.uk-overlay-top{bottom:auto}.uk-overlay-bottom{top:auto}.uk-overlay-left{right:auto}.uk-overlay-right{left:auto}.uk-overlay-icon:before{content:"\f002";position:absolute;top:50%;left:50%;width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;font-family:FontAwesome;text-align:center;color:#fff}.uk-overlay-blur,.uk-overlay-fade,.uk-overlay-grayscale,.uk-overlay-scale,.uk-overlay-spin,[class*=uk-overlay-slide]{transition-duration:.3s;transition-timing-function:ease-out;transition-property:opacity,transform,filter}.uk-overlay-active .uk-overlay-fade,.uk-overlay-active .uk-overlay-scale,.uk-overlay-active .uk-overlay-spin,.uk-overlay-active [class*=uk-overlay-slide]{transition-duration:.8s}.uk-overlay-fade{opacity:.7}.uk-overlay-active .uk-active>.uk-overlay-fade,.uk-overlay-hover.uk-hover .uk-overlay-fade,.uk-overlay-hover:hover .uk-overlay-fade{opacity:1}.uk-overlay-scale{-webkit-transform:scale(1);transform:scale(1)}.uk-overlay-active .uk-active>.uk-overlay-scale,.uk-overlay-hover.uk-hover .uk-overlay-scale,.uk-overlay-hover:hover .uk-overlay-scale{-webkit-transform:scale(1.1);transform:scale(1.1)}.uk-overlay-spin{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}.uk-overlay-active .uk-active>.uk-overlay-spin,.uk-overlay-hover.uk-hover .uk-overlay-spin,.uk-overlay-hover:hover .uk-overlay-spin{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}.uk-overlay-grayscale{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.uk-overlay-active .uk-active>.uk-overlay-grayscale,.uk-overlay-hover.uk-hover .uk-overlay-grayscale,.uk-overlay-hover:hover .uk-overlay-grayscale{-webkit-filter:grayscale(0);filter:grayscale(0)}[class*=uk-overlay-slide]{opacity:0}.uk-overlay-slide-top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.uk-overlay-slide-bottom{-webkit-transform:translateY(100%);transform:translateY(100%)}.uk-overlay-slide-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.uk-overlay-slide-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-overlay-active .uk-active>[class*=uk-overlay-slide],.uk-overlay-hover.uk-hover [class*=uk-overlay-slide],.uk-overlay-hover:hover [class*=uk-overlay-slide]{opacity:1;-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}.uk-overlay-area{position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,.3);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;-webkit-transform:translate3d(0,0,0)}.uk-overlay-toggle.uk-hover .uk-overlay-area,.uk-overlay-toggle:hover .uk-overlay-area,.uk-overlay.uk-hover .uk-overlay-area,.uk-overlay:hover .uk-overlay-area{opacity:1}.uk-overlay-area:empty:before{content:"\f002";position:absolute;top:50%;left:50%;width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;font-family:FontAwesome;text-align:center;color:#fff}.uk-overlay-area:not(:empty){font-size:0}.uk-overlay-area:not(:empty):before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-overlay-area-content{display:inline-block;box-sizing:border-box;width:100%;vertical-align:middle;font-size:1rem;text-align:center;padding:0 15px;color:#fff}.uk-overlay-area-content>:last-child{margin-bottom:0}.uk-overlay-area-content a:not([class]),.uk-overlay-area-content a:not([class]):hover{color:inherit}.uk-overlay-caption{position:absolute;bottom:0;left:0;right:0;padding:15px;background:rgba(0,0,0,.5);color:#fff;opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;-webkit-transform:translate3d(0,0,0)}.uk-overlay-toggle.uk-hover .uk-overlay-caption,.uk-overlay-toggle:hover .uk-overlay-caption,.uk-overlay.uk-hover .uk-overlay-caption,.uk-overlay:hover .uk-overlay-caption{opacity:1}[class*=uk-column-]{-webkit-column-gap:25px;-moz-column-gap:25px;column-gap:25px}.uk-column-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}@media (min-width:480px){.uk-column-small-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-small-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-small-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-small-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-small-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:768px){.uk-column-medium-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-medium-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-medium-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-medium-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-medium-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:960px){.uk-column-large-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-large-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-large-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-large-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-large-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:1220px){.uk-column-xlarge-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-xlarge-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-xlarge-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-xlarge-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-xlarge-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}[class*=uk-animation-]{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@media screen{[data-uk-scrollspy*=uk-animation-]:not([data-uk-scrollspy*=target]){opacity:0}}.uk-animation-fade{-webkit-animation-name:uk-fade;animation-name:uk-fade;-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-timing-function:linear!important;animation-timing-function:linear!important}.uk-animation-scale-up{-webkit-animation-name:uk-fade-scale-02;animation-name:uk-fade-scale-02}.uk-animation-scale-down{-webkit-animation-name:uk-fade-scale-18;animation-name:uk-fade-scale-18}.uk-animation-slide-top{-webkit-animation-name:uk-fade-top;animation-name:uk-fade-top}.uk-animation-slide-bottom{-webkit-animation-name:uk-fade-bottom;animation-name:uk-fade-bottom}.uk-animation-slide-left{-webkit-animation-name:uk-fade-left;animation-name:uk-fade-left}.uk-animation-slide-right{-webkit-animation-name:uk-fade-right;animation-name:uk-fade-right}.uk-animation-scale{-webkit-animation-name:uk-scale-12;animation-name:uk-scale-12}.uk-animation-shake{-webkit-animation-name:uk-shake;animation-name:uk-shake}.uk-animation-reverse{-webkit-animation-direction:reverse;animation-direction:reverse;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}.uk-animation-15{-webkit-animation-duration:15s;animation-duration:15s}.uk-animation-top-left{-webkit-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.uk-animation-hover:not(:hover),.uk-animation-hover:not(:hover) [class*=uk-animation-],.uk-touch .uk-animation-hover:not(.uk-hover),.uk-touch .uk-animation-hover:not(.uk-hover) [class*=uk-animation-]{-webkit-animation-name:none;animation-name:none}@-webkit-keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes uk-fade-top{0%{opacity:0;-webkit-transform:translateY(-100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-top{0%{opacity:0;transform:translateY(-100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-bottom{0%{opacity:0;-webkit-transform:translateY(100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-bottom{0%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-left{0%{opacity:0;-webkit-transform:translateX(-100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-left{0%{opacity:0;transform:translateX(-100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-right{0%{opacity:0;-webkit-transform:translateX(100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-right{0%{opacity:0;transform:translateX(100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(.2)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-02{0%{opacity:0;transform:scale(.2)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-15{0%{opacity:0;-webkit-transform:scale(1.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-15{0%{opacity:0;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-18{0%{opacity:0;-webkit-transform:scale(1.8)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-18{0%{opacity:0;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-left-33{0%{-webkit-transform:translateX(33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left-33{0%{transform:translateX(33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right-33{0%{-webkit-transform:translateX(-33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right-33{0%{transform:translateX(-33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{transform:scale(1.2)}100%{transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}@-webkit-keyframes uk-shake{0%,100%{-webkit-transform:translateX(0)}10%{-webkit-transform:translateX(-9px)}20%{-webkit-transform:translateX(8px)}30%{-webkit-transform:translateX(-7px)}40%{-webkit-transform:translateX(6px)}50%{-webkit-transform:translateX(-5px)}60%{-webkit-transform:translateX(4px)}70%{-webkit-transform:translateX(-3px)}80%{-webkit-transform:translateX(2px)}90%{-webkit-transform:translateX(-1px)}}@keyframes uk-shake{0%,100%{transform:translateX(0)}10%{transform:translateX(-9px)}20%{transform:translateX(8px)}30%{transform:translateX(-7px)}40%{transform:translateX(6px)}50%{transform:translateX(-5px)}60%{transform:translateX(4px)}70%{transform:translateX(-3px)}80%{transform:translateX(2px)}90%{transform:translateX(-1px)}}@-webkit-keyframes uk-slide-top-fixed{0%{opacity:0;-webkit-transform:translateY(-10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-top-fixed{0%{opacity:0;transform:translateY(-10px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-slide-bottom-fixed{0%{opacity:0;-webkit-transform:translateY(10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-bottom-fixed{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.uk-dropdown,.uk-dropdown-blank{display:none;position:absolute;z-index:1020;box-sizing:border-box;width:200px}.uk-dropdown{padding:15px;background:#fff;color:#444;font-size:1rem;vertical-align:top;border:1px solid #ddd;border-radius:4px}.uk-dropdown:focus{outline:0}.uk-open>.uk-dropdown,.uk-open>.uk-dropdown-blank{display:block;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-dropdown-top{margin-top:-5px}.uk-dropdown-bottom{margin-top:5px}.uk-dropdown-left{margin-left:-5px}.uk-dropdown-right{margin-left:5px}.uk-dropdown .uk-nav{margin:0 -15px}.uk-grid .uk-dropdown-grid+.uk-dropdown-grid{margin-top:15px}.uk-dropdown-grid>[class*=uk-width-]>.uk-panel+.uk-panel{margin-top:15px}@media (min-width:768px){.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid{margin-left:-15px;margin-right:-15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]{padding-left:15px;padding-right:15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){border-left:1px solid #ddd}.uk-dropdown-width-2:not(.uk-dropdown-stack){width:400px}.uk-dropdown-width-3:not(.uk-dropdown-stack){width:600px}.uk-dropdown-width-4:not(.uk-dropdown-stack){width:800px}.uk-dropdown-width-5:not(.uk-dropdown-stack){width:1000px}}@media (max-width:767px){.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){margin-top:15px}}.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){margin-top:15px}.uk-dropdown-small{min-width:150px;width:auto;padding:5px;white-space:nowrap}.uk-dropdown-small .uk-nav{margin:0 -5px}.uk-dropdown-navbar{margin-top:6px;background:#fff;color:#444;left:-1px}.uk-open>.uk-dropdown-navbar{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-dropdown-scrollable{overflow-y:auto;max-height:200px}.uk-dropdown-navbar.uk-dropdown-flip{left:auto}.uk-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1010;overflow-y:auto;-webkit-overflow-scrolling:touch;background:rgba(0,0,0,.6);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;touch-action:cross-slide-y pinch-zoom double-tap-zoom;-webkit-transform:translateZ(0);transform:translateZ(0)}.uk-modal.uk-open{opacity:1}.uk-modal-page,.uk-modal-page body{overflow:hidden}.uk-modal-dialog{position:relative;box-sizing:border-box;margin:50px auto;padding:20px;width:600px;max-width:100%;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-transform:translateY(-100px);transform:translateY(-100px);-webkit-transition:opacity .3s linear,-webkit-transform .3s ease-out;transition:opacity .3s linear,transform .3s ease-out;border-radius:4px;box-shadow:0 0 10px rgba(0,0,0,.3)}@media (max-width:767px){.uk-modal-dialog{width:auto;margin:10px auto}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:not([class*=uk-modal-]):last-child{margin-bottom:0}.uk-modal-dialog>.uk-close:first-child{margin:-10px -10px 0 0;float:right}.uk-modal-dialog>.uk-close:first-child+:not([class*=uk-modal-]){margin-top:0}.uk-modal-dialog-lightbox{margin:15px auto;padding:0;max-width:95%;max-width:calc(100% - 30px);min-height:50px;border-radius:0}.uk-modal-dialog-lightbox>.uk-close:first-child{position:absolute;top:-12px;right:-12px;margin:0;float:none}@media (max-width:767px){.uk-modal-dialog-lightbox>.uk-close:first-child{top:-7px;right:-7px}}.uk-modal-dialog-blank{margin:0;padding:0;width:100%;max-width:100%;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.uk-modal-dialog-blank>.uk-close:first-child{position:absolute;top:20px;right:20px;z-index:1;margin:0;float:none}@media (min-width:768px){.uk-modal-dialog-large{width:930px}}@media (min-width:1220px){.uk-modal-dialog-large{width:1130px}}.uk-modal-header{margin-bottom:15px;margin:-20px -20px 15px -20px;padding:20px;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0;background:#fafafa}.uk-modal-footer{margin-top:15px;margin:15px -20px -20px -20px;padding:20px;border-top:1px solid #ddd;border-radius:0 0 4px 4px;background:#fafafa}.uk-modal-footer>:last-child,.uk-modal-header>:last-child{margin-bottom:0}.uk-modal-caption{position:absolute;left:0;right:0;bottom:-20px;margin-bottom:-10px;color:#fff;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-modal-spinner{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:25px;color:#ddd}.uk-modal-spinner:after{content:"\f110";display:block;font-family:FontAwesome;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-offcanvas{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;touch-action:none;background:rgba(0,0,0,.1)}.uk-offcanvas.uk-active{display:block}.uk-offcanvas-page{position:fixed;-webkit-transition:margin-left .3s ease-in-out;transition:margin-left .3s ease-in-out;margin-left:0}.uk-offcanvas-bar{position:fixed;top:0;bottom:0;left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);z-index:1001;width:270px;max-width:100%;background:#333;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-ms-scroll-chaining:none}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0);transform:translateX(0)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas-bar[mode=none]{-webkit-transition:none;transition:none}.uk-offcanvas-bar[mode=reveal]{-webkit-transform:translateX(0);transform:translateX(0);clip:rect(0,0,100vh,0);-webkit-transition:-webkit-transform .3s ease-in-out,clip .3s ease-in-out;transition:transform .3s ease-in-out,clip .3s ease-in-out}.uk-offcanvas-bar-flip[mode=reveal]{clip:none;-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas-bar-flip[mode=reveal]>*{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.uk-offcanvas.uk-active .uk-offcanvas-bar-flip[mode=reveal].uk-offcanvas-bar-show>*{-webkit-transform:translateX(0);transform:translateX(0)}.uk-offcanvas .uk-panel{margin:20px 15px;color:#777;text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-offcanvas .uk-panel-title{color:#ccc}.uk-offcanvas .uk-panel a:not([class]){color:#ccc}.uk-offcanvas .uk-panel a:not([class]):hover{color:#fff}.uk-offcanvas-bar:after{content:"";display:block;position:absolute;top:0;bottom:0;right:0;width:1px;background:rgba(0,0,0,.6);box-shadow:0 0 5px 2px rgba(0,0,0,.6)}.uk-offcanvas-bar-flip:after{right:auto;left:0;width:1px;background:rgba(0,0,0,.6);box-shadow:0 0 5px 2px rgba(0,0,0,.6)}.uk-switcher{margin:0;padding:0;list-style:none;touch-action:cross-slide-y pinch-zoom double-tap-zoom}.uk-switcher>:not(.uk-active){display:none}.uk-text-small{font-size:11px;line-height:16px}.uk-text-large{font-size:18px;line-height:24px;font-weight:400}.uk-text-bold{font-weight:700}.uk-text-muted{color:#999!important}.uk-text-primary{color:#2d7091!important}.uk-text-success{color:#659f13!important}.uk-text-warning{color:#e28327!important}.uk-text-danger{color:#d85030!important}.uk-text-contrast{color:#fff!important}.uk-text-left{text-align:left!important}.uk-text-right{text-align:right!important}.uk-text-center{text-align:center!important}.uk-text-justify{text-align:justify!important}.uk-text-top{vertical-align:top!important}.uk-text-middle{vertical-align:middle!important}.uk-text-bottom{vertical-align:bottom!important}@media (max-width:959px){.uk-text-center-medium{text-align:center!important}.uk-text-left-medium{text-align:left!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}.uk-text-left-small{text-align:left!important}}.uk-text-nowrap{white-space:nowrap}.uk-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-text-break{word-wrap:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.uk-text-capitalize{text-transform:capitalize!important}.uk-text-lowercase{text-transform:lowercase!important}.uk-text-uppercase{text-transform:uppercase!important}.uk-container{box-sizing:border-box;max-width:980px;padding:0 25px}@media (min-width:1220px){.uk-container{max-width:1200px;padding:0 35px}}.uk-container:after,.uk-container:before{content:"";display:table}.uk-container:after{clear:both}.uk-container-center{margin-left:auto;margin-right:auto}.uk-clearfix:before{content:"";display:table-cell}.uk-clearfix:after{content:"";display:table;clear:both}.uk-nbfc{overflow:hidden}.uk-nbfc-alt{display:table-cell;width:10000px}.uk-float-left{float:left}.uk-float-right{float:right}[class*=uk-float-]{max-width:100%}[class*=uk-align-]{display:block;margin-bottom:15px}.uk-align-left{margin-right:15px;float:left}.uk-align-right{margin-left:15px;float:right}@media (min-width:768px){.uk-align-medium-left{margin-right:15px;float:left}.uk-align-medium-right{margin-left:15px;float:right}}.uk-align-center{margin-left:auto;margin-right:auto}.uk-vertical-align{font-size:0}.uk-vertical-align:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-vertical-align-bottom,.uk-vertical-align-middle{display:inline-block;max-width:100%;font-size:1rem}.uk-vertical-align-middle{vertical-align:middle}.uk-vertical-align-bottom{vertical-align:bottom}[class*=uk-height]{box-sizing:border-box}.uk-height-1-1{height:100%}.uk-height-viewport{height:100vh;min-height:600px}.uk-responsive-height,.uk-responsive-width{box-sizing:border-box}.uk-responsive-width{max-width:100%!important;height:auto}.uk-responsive-height{max-height:100%;width:auto}.uk-margin{margin-bottom:15px}*+.uk-margin{margin-top:15px}.uk-margin-top{margin-top:15px!important}.uk-margin-bottom{margin-bottom:15px!important}.uk-margin-left{margin-left:15px!important}.uk-margin-right{margin-right:15px!important}.uk-margin-large{margin-bottom:50px}*+.uk-margin-large{margin-top:50px}.uk-margin-large-top{margin-top:50px!important}.uk-margin-large-bottom{margin-bottom:50px!important}.uk-margin-large-left{margin-left:50px!important}.uk-margin-large-right{margin-right:50px!important}.uk-margin-small{margin-bottom:5px}*+.uk-margin-small{margin-top:5px}.uk-margin-small-top{margin-top:5px!important}.uk-margin-small-bottom{margin-bottom:5px!important}.uk-margin-small-left{margin-left:5px!important}.uk-margin-small-right{margin-right:5px!important}.uk-margin-remove{margin:0!important}.uk-margin-top-remove{margin-top:0!important}.uk-margin-bottom-remove{margin-bottom:0!important}.uk-padding-remove{padding:0!important}.uk-padding-top-remove{padding-top:0!important}.uk-padding-bottom-remove{padding-bottom:0!important}.uk-padding-vertical-remove{padding-top:0!important;padding-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}.uk-heading-large{font-size:36px;line-height:42px}@media (min-width:768px){.uk-heading-large{font-size:52px;line-height:64px}}.uk-link-muted,.uk-link-muted a{color:#444}.uk-link-muted a:hover,.uk-link-muted:hover{color:#444}.uk-link-reset,.uk-link-reset a,.uk-link-reset a:focus,.uk-link-reset a:hover,.uk-link-reset:focus,.uk-link-reset:hover{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll;-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box{box-sizing:border-box;height:170px;padding:10px;border:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch;resize:both;border-radius:3px}.uk-scrollable-box>:last-child{margin-bottom:0}.uk-overflow-hidden{overflow:hidden}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-overflow-container>:last-child{margin-bottom:0}.uk-position-absolute,[class*=uk-position-top],[class*=uk-position-bottom]{position:absolute!important}.uk-position-top{top:0;left:0;right:0}.uk-position-bottom{bottom:0;left:0;right:0}.uk-position-top-left{top:0;left:0}.uk-position-top-right{top:0;right:0}.uk-position-bottom-left{bottom:0;left:0}.uk-position-bottom-right{bottom:0;right:0}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-position-relative{position:relative!important}.uk-position-z-index{z-index:1}.uk-display-block{display:block!important}.uk-display-inline{display:inline!important}.uk-display-inline-block{display:inline-block!important;max-width:100%}@media (min-width:960px){.uk-visible-small{display:none!important}.uk-visible-medium{display:none!important}.uk-hidden-large{display:none!important}}@media (min-width:768px) and (max-width:959px){.uk-visible-small{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-medium{display:none!important}}@media (max-width:767px){.uk-visible-medium{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-small{display:none!important}}.uk-hidden{display:none!important;visibility:hidden!important}.uk-invisible{visibility:hidden!important}.uk-visible-hover:hover .uk-hidden,.uk-visible-hover:hover .uk-invisible{display:block!important;visibility:visible!important}.uk-visible-hover-inline:hover .uk-hidden,.uk-visible-hover-inline:hover .uk-invisible{display:inline-block!important;visibility:visible!important}.uk-notouch .uk-hidden-notouch,.uk-touch .uk-hidden-touch{display:none!important}.uk-flex{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-flex-inline{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.uk-flex-inline>*,.uk-flex>*{-ms-flex-negative:1}.uk-flex-top{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.uk-flex-middle{-ms-flex-align:center;-webkit-align-items:center;align-items:center}.uk-flex-bottom{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.uk-flex-center{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.uk-flex-right{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.uk-flex-space-between{-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.uk-flex-space-around{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.uk-flex-row-reverse{-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.uk-flex-column{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-flex-column-reverse{-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}.uk-flex-nowrap{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.uk-flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.uk-flex-wrap-top{-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start}.uk-flex-wrap-middle{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.uk-flex-wrap-bottom{-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end}.uk-flex-wrap-space-between{-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between}.uk-flex-wrap-space-around{-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around}.uk-flex-order-first{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last{-ms-flex-order:99;-webkit-order:99;order:99}@media (min-width:480px){.uk-flex-order-first-small{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-small{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:768px){.uk-flex-order-first-medium{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-medium{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:960px){.uk-flex-order-first-large{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-large{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:1220px){.uk-flex-order-first-xlarge{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-xlarge{-ms-flex-order:99;-webkit-order:99;order:99}}.uk-flex-item-none{-ms-flex:none;-webkit-flex:none;flex:none}.uk-flex-item-auto{-ms-flex:auto;-webkit-flex:auto;flex:auto;-ms-flex-negative:1}.uk-flex-item-1{-ms-flex:1;-webkit-flex:1;flex:1}.uk-contrast{color:#fff}.uk-contrast .uk-link,.uk-contrast a:not([class]){color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-link:hover,.uk-contrast a:not([class]):hover{color:#fff;text-decoration:underline}.uk-contrast :not(pre)>code,.uk-contrast :not(pre)>kbd,.uk-contrast :not(pre)>samp{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.1)}.uk-contrast em{color:#fff}.uk-contrast h1,.uk-contrast h2,.uk-contrast h3,.uk-contrast h4,.uk-contrast h5,.uk-contrast h6{color:#fff}.uk-contrast hr{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-nav li>a,.uk-contrast .uk-nav li>a:hover{text-decoration:none}.uk-contrast .uk-nav-side>li>a{color:#fff}.uk-contrast .uk-nav-side>li>a:focus,.uk-contrast .uk-nav-side>li>a:hover{background:rgba(255,255,255,.1);color:#fff;text-shadow:none}.uk-contrast .uk-nav-side>li.uk-active>a{background:#fff;color:#444;text-shadow:none}.uk-contrast .uk-nav-side .uk-nav-header{color:#fff}.uk-contrast .uk-nav-side .uk-nav-divider{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-nav-side ul a{color:rgba(255,255,255,.7)}.uk-contrast .uk-nav-side ul a:hover{color:#fff}.uk-contrast .uk-subnav>*>a{color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-subnav>*>a:focus,.uk-contrast .uk-subnav>*>a:hover{color:#fff;text-decoration:none}.uk-contrast .uk-subnav>.uk-active>a{color:#fff}.uk-contrast .uk-subnav-line>:nth-child(n+2):before{border-left-color:rgba(255,255,255,.2)}.uk-contrast .uk-subnav-pill>*>a:focus,.uk-contrast .uk-subnav-pill>*>a:hover{background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-subnav-pill>.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-tab{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-tab>li>a{border-color:transparent;color:rgba(255,255,255,.7);text-shadow:none}.uk-contrast .uk-tab>li.uk-open>a,.uk-contrast .uk-tab>li>a:focus,.uk-contrast .uk-tab>li>a:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-tab>li.uk-active>a{border-color:rgba(255,255,255,.2);border-bottom-color:transparent;background:#fff;color:#444}.uk-contrast .uk-tab-center{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-tab-grid:before{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-list-line>li:nth-child(n+2){border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-form input:not([type]),.uk-contrast .uk-form input[type=text],.uk-contrast .uk-form input[type=password],.uk-contrast .uk-form input[type=email],.uk-contrast .uk-form input[type=url],.uk-contrast .uk-form input[type=search],.uk-contrast .uk-form input[type=tel],.uk-contrast .uk-form input[type=number],.uk-contrast .uk-form input[type=datetime],.uk-contrast .uk-form input[type=datetime-local],.uk-contrast .uk-form input[type=date],.uk-contrast .uk-form input[type=month],.uk-contrast .uk-form input[type=time],.uk-contrast .uk-form input[type=week],.uk-contrast .uk-form input[type=color],.uk-contrast .uk-form select,.uk-contrast .uk-form textarea{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.8);color:#444;background-clip:padding-box}.uk-contrast .uk-form input:not([type]):focus,.uk-contrast .uk-form input[type=text]:focus,.uk-contrast .uk-form input[type=password]:focus,.uk-contrast .uk-form input[type=email]:focus,.uk-contrast .uk-form input[type=url]:focus,.uk-contrast .uk-form input[type=search]:focus,.uk-contrast .uk-form input[type=tel]:focus,.uk-contrast .uk-form input[type=number]:focus,.uk-contrast .uk-form input[type=datetime]:focus,.uk-contrast .uk-form input[type=datetime-local]:focus,.uk-contrast .uk-form input[type=date]:focus,.uk-contrast .uk-form input[type=month]:focus,.uk-contrast .uk-form input[type=time]:focus,.uk-contrast .uk-form input[type=week]:focus,.uk-contrast .uk-form input[type=color]:focus,.uk-contrast .uk-form select:focus,.uk-contrast .uk-form textarea:focus{border-color:#fff;background:#fff;color:#444}.uk-contrast .uk-form :-ms-input-placeholder{color:rgba(68,68,68,.7)!important}.uk-contrast .uk-form ::-moz-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-form ::-webkit-input-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-button{color:#444;background:#fff;border-color:transparent}.uk-contrast .uk-button:focus,.uk-contrast .uk-button:hover{background-color:rgba(255,255,255,.8);color:#444;border-color:transparent}.uk-contrast .uk-button.uk-active,.uk-contrast .uk-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-button-primary{background-color:#00a8e6;color:#fff}.uk-contrast .uk-button-primary:focus,.uk-contrast .uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-contrast .uk-button-primary.uk-active,.uk-contrast .uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-contrast .uk-icon-hover{color:rgba(255,255,255,.7)}.uk-contrast .uk-icon-hover:hover{color:#fff}.uk-contrast .uk-icon-button{background:#fff;color:#444;border-color:transparent}.uk-contrast .uk-icon-button:focus,.uk-contrast .uk-icon-button:hover{background-color:rgba(255,255,255,.8);color:#444;border-color:transparent}.uk-contrast .uk-icon-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-text-muted{color:rgba(255,255,255,.6)!important}.uk-contrast .uk-text-primary{color:#2d7091!important}@media print{*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}} \ No newline at end of file diff --git a/bower_components/uikit/css/uikit.css b/bower_components/uikit/css/uikit.css new file mode 100644 index 0000000..75a0fa9 --- /dev/null +++ b/bower_components/uikit/css/uikit.css @@ -0,0 +1,8965 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Base + ========================================================================== */ +/* + * 1. Normalize default `font-family` and set `font-size` to support `rem` units + * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom + * 3. Style + */ +html { + /* 1 */ + font: normal 14px / 20px "Helvetica Neue", Helvetica, Arial, sans-serif; + /* 2 */ + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + /* 3 */ + background: #fff; + color: #444; +} +/* + * Removes default margin. + */ +body { + margin: 0; +} +/* Links + ========================================================================== */ +/* + * Remove the gray background color from active links in IE 10. + */ +a { + background: transparent; +} +/* + * Improve readability of focused elements when they are also in an active/hover state. + */ +a:active, +a:hover { + outline: 0; +} +/* + * Style + */ +a, +.uk-link { + color: #07D; + text-decoration: none; + cursor: pointer; +} +a:hover, +.uk-link:hover { + color: #059; + text-decoration: underline; +} +/* Text-level semantics + ========================================================================== */ +/* + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; +} +/* + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ +b, +strong { + font-weight: bold; +} +/* + * 1. Address odd `em`-unit font size rendering in all browsers. + * 2. Consolas has a better baseline in running text compared to `Courier` + */ +:not(pre) > code, +:not(pre) > kbd, +:not(pre) > samp { + /* 1 */ + font-size: 12px; + /* 2 */ + font-family: Consolas, monospace, serif; + /* 3 */ + color: #D05; + white-space: nowrap; +} +/* + * Emphasize + */ +em { + color: #D05; +} +/* + * Insert + */ +ins { + background: #ffa; + color: #444; + text-decoration: none; +} +/* + * Mark + * Note: Addresses styling not present in IE 8/9. + */ +mark { + background: #ffa; + color: #444; +} +/* + * Quote + */ +q { + font-style: italic; +} +/* + * Addresses inconsistent and variable font size in all browsers. + */ +small { + font-size: 80%; +} +/* + * Prevents `sub` and `sup` affecting `line-height` in all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Embedded content + ========================================================================== */ +/* + * Remove the gap between embedded content and the bottom of their containers. + */ +audio, +canvas, +iframe, +img, +svg, +video { + vertical-align: middle; +} +/* + * Responsiveness + * 1. Sets a maximum width relative to the parent and auto scales the height + * 2. Corrects `max-width` behavior if padding and border are used + */ +audio, +canvas, +img, +svg, +video { + /* 1 */ + max-width: 100%; + height: auto; + /* 2 */ + box-sizing: border-box; +} +/* + * Preserve original dimensions + */ +.uk-img-preserve, +.uk-img-preserve audio, +.uk-img-preserve canvas, +.uk-img-preserve img, +.uk-img-preserve svg, +.uk-img-preserve video { + max-width: none; +} +/* + * Remove border when inside `a` element in IE 8/9/10. + */ +img { + border: 0; +} +/* + * Correct overflow not hidden in IE 9/10/11. + */ +svg:not(:root) { + overflow: hidden; +} +/* Block elements + ========================================================================== */ +/* + * Reset margin + */ +blockquote, +figure { + margin: 0; +} +/* + * Margins + */ +p, +ul, +ol, +dl, +blockquote, +pre, +address, +fieldset, +figure { + margin: 0 0 15px 0; +} +* + p, +* + ul, +* + ol, +* + dl, +* + blockquote, +* + pre, +* + address, +* + fieldset, +* + figure { + margin-top: 15px; +} +/* Headings + ========================================================================== */ +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0 0 15px 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: normal; + color: #444; + text-transform: none; +} +/* + * Margins + */ +* + h1, +* + h2, +* + h3, +* + h4, +* + h5, +* + h6 { + margin-top: 25px; +} +/* + * Sizes + */ +h1, +.uk-h1 { + font-size: 36px; + line-height: 42px; +} +h2, +.uk-h2 { + font-size: 24px; + line-height: 30px; +} +h3, +.uk-h3 { + font-size: 18px; + line-height: 24px; +} +h4, +.uk-h4 { + font-size: 16px; + line-height: 22px; +} +h5, +.uk-h5 { + font-size: 14px; + line-height: 20px; +} +h6, +.uk-h6 { + font-size: 12px; + line-height: 18px; +} +/* Lists + ========================================================================== */ +ul, +ol { + padding-left: 30px; +} +/* + * Reset margin for nested lists + */ +ul > li > ul, +ul > li > ol, +ol > li > ol, +ol > li > ul { + margin: 0; +} +/* Description lists + ========================================================================== */ +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +/* Horizontal rules + ========================================================================== */ +/* + * 1. Address differences between Firefox and other browsers. + * 2. Style + */ +hr { + /* 1 */ + box-sizing: content-box; + height: 0; + /* 2 */ + margin: 15px 0; + border: 0; + border-top: 1px solid #ddd; +} +/* Address + ========================================================================== */ +address { + font-style: normal; +} +/* Blockquotes + ========================================================================== */ +blockquote { + padding-left: 15px; + border-left: 5px solid #ddd; + font-size: 16px; + line-height: 22px; + font-style: italic; +} +/* Preformatted text + ========================================================================== */ +/* + * 1. Contain overflow in all browsers. + */ +pre { + padding: 10px; + background: #f5f5f5; + font: 12px / 18px Consolas, monospace, serif; + color: #444; + -moz-tab-size: 4; + tab-size: 4; + /* 1 */ + overflow: auto; +} +/* Selection pseudo-element + ========================================================================== */ +::-moz-selection { + background: #39f; + color: #fff; + text-shadow: none; +} +::selection { + background: #39f; + color: #fff; + text-shadow: none; +} +/* HTML5 elements + ========================================================================== */ +/* + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +nav, +section, +summary { + display: block; +} +/* + * Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +progress { + vertical-align: baseline; +} +/* + * Prevent displaying `audio` without controls in Chrome, Safari and Opera + */ +audio:not([controls]) { + display: none; +} +/* + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; +} +/* Iframe + ========================================================================== */ +iframe { + border: 0; +} +/* Fix viewport for IE10 snap mode + ========================================================================== */ +@media screen and (max-width: 400px) { + @-ms-viewport { + width: device-width; + } +} +/* ======================================================================== + Component: Grid + ========================================================================== */ +/* + * 1. Makes grid more robust so that it can be used with other block elements like lists + */ +.uk-grid { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin: 0; + padding: 0; + list-style: none; +} +/* + * DEPRECATED + * Micro clearfix + * Can't use `table` because it creates a 1px gap when it becomes a flex item, only in Webkit + */ +.uk-grid:before, +.uk-grid:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-grid:after { + clear: both; +} +/* + * Grid cell + * 1. Space is allocated solely based on content dimensions + * 2. Makes grid more robust so that it can be used with other block elements + * 3. DEPRECATED Using `float` to support IE9 + */ +.uk-grid > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + margin: 0; + /* 3 */ + float: left; +} +/* + * Remove margin from the last-child + */ +.uk-grid > * > :last-child { + margin-bottom: 0; +} +/* Grid gutter + ========================================================================== */ +/* + * Default gutter + */ +/* Horizontal */ +.uk-grid { + margin-left: -25px; +} +.uk-grid > * { + padding-left: 25px; +} +/* Vertical */ +.uk-grid + .uk-grid, +.uk-grid-margin, +.uk-grid > * > .uk-panel + .uk-panel { + margin-top: 25px; +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + /* Horizontal */ + .uk-grid { + margin-left: -35px; + } + .uk-grid > * { + padding-left: 35px; + } + /* Vertical */ + .uk-grid + .uk-grid, + .uk-grid-margin, + .uk-grid > * > .uk-panel + .uk-panel { + margin-top: 35px; + } +} +/* + * Collapse gutter + */ +/* Horizontal */ +.uk-grid-collapse { + margin-left: 0; +} +.uk-grid-collapse > * { + padding-left: 0; +} +/* Vertical */ +.uk-grid-collapse + .uk-grid-collapse, +.uk-grid-collapse > .uk-grid-margin, +.uk-grid-collapse > * > .uk-panel + .uk-panel { + margin-top: 0; +} +/* + * Small gutter + */ +/* Horizontal */ +.uk-grid-small { + margin-left: -10px; +} +.uk-grid-small > * { + padding-left: 10px; +} +/* Vertical */ +.uk-grid-small + .uk-grid-small, +.uk-grid-small > .uk-grid-margin, +.uk-grid-small > * > .uk-panel + .uk-panel { + margin-top: 10px; +} +/* + * Medium gutter + */ +/* Horizontal */ +.uk-grid-medium { + margin-left: -25px; +} +.uk-grid-medium > * { + padding-left: 25px; +} +/* Vertical */ +.uk-grid-medium + .uk-grid-medium, +.uk-grid-medium > .uk-grid-margin, +.uk-grid-medium > * > .uk-panel + .uk-panel { + margin-top: 25px; +} +/* + * Large gutter + */ +/* Large screen and bigger */ +@media (min-width: 960px) { + /* Horizontal */ + .uk-grid-large { + margin-left: -35px; + } + .uk-grid-large > * { + padding-left: 35px; + } + /* Vertical */ + .uk-grid-large + .uk-grid-large, + .uk-grid-large-margin, + .uk-grid-large > * > .uk-panel + .uk-panel { + margin-top: 35px; + } +} +/* Extra Large screens */ +@media (min-width: 1220px) { + /* Horizontal */ + .uk-grid-large { + margin-left: -50px; + } + .uk-grid-large > * { + padding-left: 50px; + } + /* Vertical */ + .uk-grid-large + .uk-grid-large, + .uk-grid-large-margin, + .uk-grid-large > * > .uk-panel + .uk-panel { + margin-top: 50px; + } +} +/* Modifier: `uk-grid-divider` + ========================================================================== */ +/* + * Horizontal divider + * Only works with the default gutter. Does not work with gutter collapse, small or large. + * Does not work with `uk-push-*`, `uk-pull-*` and not if the columns float into the next row. + */ +.uk-grid-divider:not(:empty) { + margin-left: -25px; + margin-right: -25px; +} +.uk-grid-divider > * { + padding-left: 25px; + padding-right: 25px; +} +.uk-grid-divider > [class*='uk-width-1-']:not(.uk-width-1-1):nth-child(n+2), +.uk-grid-divider > [class*='uk-width-2-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-3-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-4-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-5-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-6-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-7-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-8-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-9-']:nth-child(n+2) { + border-left: 1px solid #ddd; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-grid-divider > [class*='uk-width-medium-']:not(.uk-width-medium-1-1):nth-child(n+2) { + border-left: 1px solid #ddd; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-grid-divider > [class*='uk-width-large-']:not(.uk-width-large-1-1):nth-child(n+2) { + border-left: 1px solid #ddd; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + /* + * Large gutter + */ + .uk-grid-divider:not(:empty) { + margin-left: -35px; + margin-right: -35px; + } + .uk-grid-divider > * { + padding-left: 35px; + padding-right: 35px; + } + .uk-grid-divider:empty { + margin-top: 35px; + margin-bottom: 35px; + } +} +/* + * Vertical divider + */ +.uk-grid-divider:empty { + margin-top: 25px; + margin-bottom: 25px; + border-top: 1px solid #ddd; +} +/* Match panels in grids + ========================================================================== */ +/* + * 1. Behave like a block element + */ +.uk-grid-match > * { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + /* 1 */ + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; +} +.uk-grid-match > * > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + box-sizing: border-box; + width: 100%; +} +/* Even grid cell widths + ========================================================================== */ +[class*='uk-grid-width'] > * { + box-sizing: border-box; + width: 100%; +} +.uk-grid-width-1-2 > * { + width: 50%; +} +.uk-grid-width-1-3 > * { + width: 33.333%; +} +.uk-grid-width-1-4 > * { + width: 25%; +} +.uk-grid-width-1-5 > * { + width: 20%; +} +.uk-grid-width-1-6 > * { + width: 16.666%; +} +.uk-grid-width-1-10 > * { + width: 10%; +} +.uk-grid-width-auto > * { + width: auto; +} +/* Phone landscape and bigger */ +@media (min-width: 480px) { + .uk-grid-width-small-1-1 > * { + width: 100%; + } + .uk-grid-width-small-1-2 > * { + width: 50%; + } + .uk-grid-width-small-1-3 > * { + width: 33.333%; + } + .uk-grid-width-small-1-4 > * { + width: 25%; + } + .uk-grid-width-small-1-5 > * { + width: 20%; + } + .uk-grid-width-small-1-6 > * { + width: 16.666%; + } + .uk-grid-width-small-1-10 > * { + width: 10%; + } +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-grid-width-medium-1-1 > * { + width: 100%; + } + .uk-grid-width-medium-1-2 > * { + width: 50%; + } + .uk-grid-width-medium-1-3 > * { + width: 33.333%; + } + .uk-grid-width-medium-1-4 > * { + width: 25%; + } + .uk-grid-width-medium-1-5 > * { + width: 20%; + } + .uk-grid-width-medium-1-6 > * { + width: 16.666%; + } + .uk-grid-width-medium-1-10 > * { + width: 10%; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-grid-width-large-1-1 > * { + width: 100%; + } + .uk-grid-width-large-1-2 > * { + width: 50%; + } + .uk-grid-width-large-1-3 > * { + width: 33.333%; + } + .uk-grid-width-large-1-4 > * { + width: 25%; + } + .uk-grid-width-large-1-5 > * { + width: 20%; + } + .uk-grid-width-large-1-6 > * { + width: 16.666%; + } + .uk-grid-width-large-1-10 > * { + width: 10%; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-grid-width-xlarge-1-1 > * { + width: 100%; + } + .uk-grid-width-xlarge-1-2 > * { + width: 50%; + } + .uk-grid-width-xlarge-1-3 > * { + width: 33.333%; + } + .uk-grid-width-xlarge-1-4 > * { + width: 25%; + } + .uk-grid-width-xlarge-1-5 > * { + width: 20%; + } + .uk-grid-width-xlarge-1-6 > * { + width: 16.666%; + } + .uk-grid-width-xlarge-1-10 > * { + width: 10%; + } +} +/* Sub-objects: `uk-width-*` + ========================================================================== */ +[class*='uk-width'] { + box-sizing: border-box; + width: 100%; +} +/* + * Widths + */ +/* Whole */ +.uk-width-1-1 { + width: 100%; +} +/* Halves */ +.uk-width-1-2, +.uk-width-2-4, +.uk-width-3-6, +.uk-width-5-10 { + width: 50%; +} +/* Thirds */ +.uk-width-1-3, +.uk-width-2-6 { + width: 33.333%; +} +.uk-width-2-3, +.uk-width-4-6 { + width: 66.666%; +} +/* Quarters */ +.uk-width-1-4 { + width: 25%; +} +.uk-width-3-4 { + width: 75%; +} +/* Fifths */ +.uk-width-1-5, +.uk-width-2-10 { + width: 20%; +} +.uk-width-2-5, +.uk-width-4-10 { + width: 40%; +} +.uk-width-3-5, +.uk-width-6-10 { + width: 60%; +} +.uk-width-4-5, +.uk-width-8-10 { + width: 80%; +} +/* Sixths */ +.uk-width-1-6 { + width: 16.666%; +} +.uk-width-5-6 { + width: 83.333%; +} +/* Tenths */ +.uk-width-1-10 { + width: 10%; +} +.uk-width-3-10 { + width: 30%; +} +.uk-width-7-10 { + width: 70%; +} +.uk-width-9-10 { + width: 90%; +} +/* Phone landscape and bigger */ +@media (min-width: 480px) { + /* Whole */ + .uk-width-small-1-1 { + width: 100%; + } + /* Halves */ + .uk-width-small-1-2, + .uk-width-small-2-4, + .uk-width-small-3-6, + .uk-width-small-5-10 { + width: 50%; + } + /* Thirds */ + .uk-width-small-1-3, + .uk-width-small-2-6 { + width: 33.333%; + } + .uk-width-small-2-3, + .uk-width-small-4-6 { + width: 66.666%; + } + /* Quarters */ + .uk-width-small-1-4 { + width: 25%; + } + .uk-width-small-3-4 { + width: 75%; + } + /* Fifths */ + .uk-width-small-1-5, + .uk-width-small-2-10 { + width: 20%; + } + .uk-width-small-2-5, + .uk-width-small-4-10 { + width: 40%; + } + .uk-width-small-3-5, + .uk-width-small-6-10 { + width: 60%; + } + .uk-width-small-4-5, + .uk-width-small-8-10 { + width: 80%; + } + /* Sixths */ + .uk-width-small-1-6 { + width: 16.666%; + } + .uk-width-small-5-6 { + width: 83.333%; + } + /* Tenths */ + .uk-width-small-1-10 { + width: 10%; + } + .uk-width-small-3-10 { + width: 30%; + } + .uk-width-small-7-10 { + width: 70%; + } + .uk-width-small-9-10 { + width: 90%; + } +} +/* Tablet and bigger */ +@media (min-width: 768px) { + /* Whole */ + .uk-width-medium-1-1 { + width: 100%; + } + /* Halves */ + .uk-width-medium-1-2, + .uk-width-medium-2-4, + .uk-width-medium-3-6, + .uk-width-medium-5-10 { + width: 50%; + } + /* Thirds */ + .uk-width-medium-1-3, + .uk-width-medium-2-6 { + width: 33.333%; + } + .uk-width-medium-2-3, + .uk-width-medium-4-6 { + width: 66.666%; + } + /* Quarters */ + .uk-width-medium-1-4 { + width: 25%; + } + .uk-width-medium-3-4 { + width: 75%; + } + /* Fifths */ + .uk-width-medium-1-5, + .uk-width-medium-2-10 { + width: 20%; + } + .uk-width-medium-2-5, + .uk-width-medium-4-10 { + width: 40%; + } + .uk-width-medium-3-5, + .uk-width-medium-6-10 { + width: 60%; + } + .uk-width-medium-4-5, + .uk-width-medium-8-10 { + width: 80%; + } + /* Sixths */ + .uk-width-medium-1-6 { + width: 16.666%; + } + .uk-width-medium-5-6 { + width: 83.333%; + } + /* Tenths */ + .uk-width-medium-1-10 { + width: 10%; + } + .uk-width-medium-3-10 { + width: 30%; + } + .uk-width-medium-7-10 { + width: 70%; + } + .uk-width-medium-9-10 { + width: 90%; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + /* Whole */ + .uk-width-large-1-1 { + width: 100%; + } + /* Halves */ + .uk-width-large-1-2, + .uk-width-large-2-4, + .uk-width-large-3-6, + .uk-width-large-5-10 { + width: 50%; + } + /* Thirds */ + .uk-width-large-1-3, + .uk-width-large-2-6 { + width: 33.333%; + } + .uk-width-large-2-3, + .uk-width-large-4-6 { + width: 66.666%; + } + /* Quarters */ + .uk-width-large-1-4 { + width: 25%; + } + .uk-width-large-3-4 { + width: 75%; + } + /* Fifths */ + .uk-width-large-1-5, + .uk-width-large-2-10 { + width: 20%; + } + .uk-width-large-2-5, + .uk-width-large-4-10 { + width: 40%; + } + .uk-width-large-3-5, + .uk-width-large-6-10 { + width: 60%; + } + .uk-width-large-4-5, + .uk-width-large-8-10 { + width: 80%; + } + /* Sixths */ + .uk-width-large-1-6 { + width: 16.666%; + } + .uk-width-large-5-6 { + width: 83.333%; + } + /* Tenths */ + .uk-width-large-1-10 { + width: 10%; + } + .uk-width-large-3-10 { + width: 30%; + } + .uk-width-large-7-10 { + width: 70%; + } + .uk-width-large-9-10 { + width: 90%; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + /* Whole */ + .uk-width-xlarge-1-1 { + width: 100%; + } + /* Halves */ + .uk-width-xlarge-1-2, + .uk-width-xlarge-2-4, + .uk-width-xlarge-3-6, + .uk-width-xlarge-5-10 { + width: 50%; + } + /* Thirds */ + .uk-width-xlarge-1-3, + .uk-width-xlarge-2-6 { + width: 33.333%; + } + .uk-width-xlarge-2-3, + .uk-width-xlarge-4-6 { + width: 66.666%; + } + /* Quarters */ + .uk-width-xlarge-1-4 { + width: 25%; + } + .uk-width-xlarge-3-4 { + width: 75%; + } + /* Fifths */ + .uk-width-xlarge-1-5, + .uk-width-xlarge-2-10 { + width: 20%; + } + .uk-width-xlarge-2-5, + .uk-width-xlarge-4-10 { + width: 40%; + } + .uk-width-xlarge-3-5, + .uk-width-xlarge-6-10 { + width: 60%; + } + .uk-width-xlarge-4-5, + .uk-width-xlarge-8-10 { + width: 80%; + } + /* Sixths */ + .uk-width-xlarge-1-6 { + width: 16.666%; + } + .uk-width-xlarge-5-6 { + width: 83.333%; + } + /* Tenths */ + .uk-width-xlarge-1-10 { + width: 10%; + } + .uk-width-xlarge-3-10 { + width: 30%; + } + .uk-width-xlarge-7-10 { + width: 70%; + } + .uk-width-xlarge-9-10 { + width: 90%; + } +} +/* Sub-object: `uk-push-*` and `uk-pull-*` + ========================================================================== */ +/* + * Source ordering + * Works only with `uk-width-medium-*` + */ +/* Tablet and bigger */ +@media (min-width: 768px) { + [class*='uk-push-'], + [class*='uk-pull-'] { + position: relative; + } + /* + * Push + */ + /* Halves */ + .uk-push-1-2, + .uk-push-2-4, + .uk-push-3-6, + .uk-push-5-10 { + left: 50%; + } + /* Thirds */ + .uk-push-1-3, + .uk-push-2-6 { + left: 33.333%; + } + .uk-push-2-3, + .uk-push-4-6 { + left: 66.666%; + } + /* Quarters */ + .uk-push-1-4 { + left: 25%; + } + .uk-push-3-4 { + left: 75%; + } + /* Fifths */ + .uk-push-1-5, + .uk-push-2-10 { + left: 20%; + } + .uk-push-2-5, + .uk-push-4-10 { + left: 40%; + } + .uk-push-3-5, + .uk-push-6-10 { + left: 60%; + } + .uk-push-4-5, + .uk-push-8-10 { + left: 80%; + } + /* Sixths */ + .uk-push-1-6 { + left: 16.666%; + } + .uk-push-5-6 { + left: 83.333%; + } + /* Tenths */ + .uk-push-1-10 { + left: 10%; + } + .uk-push-3-10 { + left: 30%; + } + .uk-push-7-10 { + left: 70%; + } + .uk-push-9-10 { + left: 90%; + } + /* + * Pull + */ + /* Halves */ + .uk-pull-1-2, + .uk-pull-2-4, + .uk-pull-3-6, + .uk-pull-5-10 { + left: -50%; + } + /* Thirds */ + .uk-pull-1-3, + .uk-pull-2-6 { + left: -33.333%; + } + .uk-pull-2-3, + .uk-pull-4-6 { + left: -66.666%; + } + /* Quarters */ + .uk-pull-1-4 { + left: -25%; + } + .uk-pull-3-4 { + left: -75%; + } + /* Fifths */ + .uk-pull-1-5, + .uk-pull-2-10 { + left: -20%; + } + .uk-pull-2-5, + .uk-pull-4-10 { + left: -40%; + } + .uk-pull-3-5, + .uk-pull-6-10 { + left: -60%; + } + .uk-pull-4-5, + .uk-pull-8-10 { + left: -80%; + } + /* Sixths */ + .uk-pull-1-6 { + left: -16.666%; + } + .uk-pull-5-6 { + left: -83.333%; + } + /* Tenths */ + .uk-pull-1-10 { + left: -10%; + } + .uk-pull-3-10 { + left: -30%; + } + .uk-pull-7-10 { + left: -70%; + } + .uk-pull-9-10 { + left: -90%; + } +} +/* ======================================================================== + Component: Panel + ========================================================================== */ +/* + * 1. Needed for `a` elements + * 2. Create position context for badges + */ +.uk-panel { + /* 1 */ + display: block; + /* 2 */ + position: relative; +} +/* + * Allow panels to be anchors + */ +.uk-panel, +.uk-panel:hover { + text-decoration: none; +} +/* + * Micro clearfix to make panels more robust + */ +.uk-panel:before, +.uk-panel:after { + content: ""; + display: table; +} +.uk-panel:after { + clear: both; +} +/* + * Remove margin from the last-child if not `uk-widget-title` + */ +.uk-panel > :not(.uk-panel-title):last-child { + margin-bottom: 0; +} +/* Sub-object: `uk-panel-title` + ========================================================================== */ +.uk-panel-title { + margin-top: 0; + margin-bottom: 15px; + font-size: 18px; + line-height: 24px; + font-weight: normal; + text-transform: none; + color: #444; +} +/* Sub-object: `uk-panel-badge` + ========================================================================== */ +.uk-panel-badge { + position: absolute; + top: 0; + right: 0; + z-index: 1; +} +/* Sub-object: `uk-panel-teaser` + ========================================================================== */ +.uk-panel-teaser { + margin-bottom: 15px; +} +/* Sub-object: `uk-panel-body` + ========================================================================== */ +.uk-panel-body { + padding: 15px; +} +/* Modifier: `uk-panel-box` + ========================================================================== */ +.uk-panel-box { + padding: 15px; + background: #f5f5f5; + color: #444; +} +.uk-panel-box-hover:hover { + color: #444; +} +.uk-panel-box .uk-panel-title { + color: #444; +} +.uk-panel-box .uk-panel-badge { + top: 10px; + right: 10px; +} +.uk-panel-box > .uk-panel-teaser { + margin-top: -15px; + margin-left: -15px; + margin-right: -15px; +} +/* + * Nav in panel + */ +.uk-panel-box > .uk-nav-side { + margin: 0 -15px; +} +/* + * Sub-modifier: `uk-panel-box-primary` + */ +.uk-panel-box-primary { + background-color: #ebf7fd; + color: #2d7091; +} +.uk-panel-box-primary-hover:hover { + color: #2d7091; +} +.uk-panel-box-primary .uk-panel-title { + color: #2d7091; +} +/* + * Sub-modifier: `uk-panel-box-secondary` + */ +.uk-panel-box-secondary { + background-color: #eee; + color: #444; +} +.uk-panel-box-secondary-hover:hover { + color: #444; +} +.uk-panel-box-secondary .uk-panel-title { + color: #444; +} +/* Modifier: `uk-panel-hover` + ========================================================================== */ +.uk-panel-hover { + padding: 15px; + color: #444; +} +.uk-panel-hover:hover { + background: #f5f5f5; + color: #444; +} +.uk-panel-hover .uk-panel-badge { + top: 10px; + right: 10px; +} +.uk-panel-hover > .uk-panel-teaser { + margin-top: -15px; + margin-left: -15px; + margin-right: -15px; +} +/* Modifier: `uk-panel-header` + ========================================================================== */ +.uk-panel-header .uk-panel-title { + padding-bottom: 10px; + border-bottom: 1px solid #ddd; + color: #444; +} +/* Modifier: `uk-panel-space` + ========================================================================== */ +.uk-panel-space { + padding: 30px; +} +.uk-panel-space .uk-panel-badge { + top: 30px; + right: 30px; +} +/* Modifier: `uk-panel-divider` + ========================================================================== */ +.uk-panel + .uk-panel-divider { + margin-top: 50px !important; +} +.uk-panel + .uk-panel-divider:before { + content: ""; + display: block; + position: absolute; + top: -25px; + left: 0; + right: 0; + border-top: 1px solid #ddd; +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-panel + .uk-panel-divider { + margin-top: 70px !important; + } + .uk-panel + .uk-panel-divider:before { + top: -35px; + } +} +/* ======================================================================== + Component: Block + ========================================================================== */ +.uk-block { + position: relative; + box-sizing: border-box; + padding-top: 20px; + padding-bottom: 20px; +} +/* Phone landscape and bigger */ +@media (min-width: 768px) { + .uk-block { + padding-top: 50px; + padding-bottom: 50px; + } +} +/* + * Micro clearfix to make blocks more robust + */ +.uk-block:before, +.uk-block:after { + content: ""; + display: table; +} +.uk-block:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-block > :last-child { + margin-bottom: 0; +} +/* Padding Modifier + ========================================================================== */ +/* + * Large padding + */ +.uk-block-large { + padding-top: 20px; + padding-bottom: 20px; +} +/* Tablets and bigger */ +@media (min-width: 768px) { + .uk-block-large { + padding-top: 50px; + padding-bottom: 50px; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-block-large { + padding-top: 100px; + padding-bottom: 100px; + } +} +/* Color Modifier + ========================================================================== */ +/* + * Default + */ +.uk-block-default { + background: #fff; +} +/* + * Muted + */ +.uk-block-muted { + background: #f9f9f9; +} +/* + * Primary + */ +.uk-block-primary { + background: #00a8e6; +} +/* + * Secondary + */ +.uk-block-secondary { + background: #222; +} +/* + * Adjust padding between equal colored blocks + */ +.uk-block-default + .uk-block-default, +.uk-block-muted + .uk-block-muted, +.uk-block-primary + .uk-block-primary, +.uk-block-secondary + .uk-block-secondary { + padding-top: 0; +} +/* ======================================================================== + Component: Article + ========================================================================== */ +/* + * Micro clearfix to make articles more robust + */ +.uk-article:before, +.uk-article:after { + content: ""; + display: table; +} +.uk-article:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-article > :last-child { + margin-bottom: 0; +} +/* + * Vertical gutter for articles + */ +.uk-article + .uk-article { + margin-top: 25px; +} +/* Sub-object `uk-article-title` + ========================================================================== */ +.uk-article-title { + font-size: 36px; + line-height: 42px; + font-weight: normal; + text-transform: none; +} +.uk-article-title a { + color: inherit; + text-decoration: none; +} +/* Sub-object `uk-article-meta` + ========================================================================== */ +.uk-article-meta { + font-size: 12px; + line-height: 18px; + color: #999; +} +/* Sub-object `uk-article-lead` + ========================================================================== */ +.uk-article-lead { + color: #444; + font-size: 18px; + line-height: 24px; + font-weight: normal; +} +/* Sub-object `uk-article-divider` + ========================================================================== */ +.uk-article-divider { + margin-bottom: 25px; + border-color: #ddd; +} +* + .uk-article-divider { + margin-top: 25px; +} +/* ======================================================================== + Component: Comment + ========================================================================== */ +/* Sub-object `uk-comment-header` + ========================================================================== */ +.uk-comment-header { + margin-bottom: 15px; +} +/* + * Micro clearfix + */ +.uk-comment-header:before, +.uk-comment-header:after { + content: ""; + display: table; +} +.uk-comment-header:after { + clear: both; +} +/* Sub-object `uk-comment-avatar` + ========================================================================== */ +.uk-comment-avatar { + margin-right: 15px; + float: left; +} +/* Sub-object `uk-comment-title` + ========================================================================== */ +.uk-comment-title { + margin: 5px 0 0 0; + font-size: 16px; + line-height: 22px; +} +/* Sub-object `uk-comment-meta` + ========================================================================== */ +.uk-comment-meta { + margin: 2px 0 0 0; + font-size: 11px; + line-height: 16px; + color: #999; +} +/* Sub-object `uk-comment-body` + ========================================================================== */ +/* + * Remove margin from the last-child + */ +.uk-comment-body > :last-child { + margin-bottom: 0; +} +/* Sub-object `uk-comment-list` + ========================================================================== */ +.uk-comment-list { + padding: 0; + list-style: none; +} +.uk-comment-list .uk-comment + ul { + margin: 15px 0 0 0; + list-style: none; +} +.uk-comment-list > li:nth-child(n+2), +.uk-comment-list .uk-comment + ul > li:nth-child(n+2) { + margin-top: 15px; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-comment-list .uk-comment + ul { + padding-left: 100px; + } +} +/* Modifier `uk-comment-primary` + ========================================================================== */ +/* ======================================================================== + Component: Cover + ========================================================================== */ +/* + * Background image always covers and centers its element + */ +.uk-cover-background { + background-position: 50% 50%; + background-size: cover; + background-repeat: no-repeat; +} +/* + * Emulates image cover, works with video and image elements + * 1. Parent container which clips resized object + * 2. Resizes the object to always covers its container + * 3. Reset the responsive image CSS + * 4. Center object + */ +/* 1 */ +.uk-cover { + overflow: hidden; +} +.uk-cover-object { + /* 2 */ + width: auto; + height: auto; + min-width: 100%; + min-height: 100%; + /* 3 */ + max-width: none; + /* 4 */ + position: relative; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} +/* + * To center iframes use `data-uk-cover` JavaScript + */ +[data-uk-cover] { + position: relative; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} +/* ======================================================================== + Component: Nav + ========================================================================== */ +.uk-nav, +.uk-nav ul { + margin: 0; + padding: 0; + list-style: none; +} +/* + * Items + */ +.uk-nav li > a { + display: block; + text-decoration: none; +} +.uk-nav > li > a { + padding: 5px 15px; +} +/* + * Nested items + */ +.uk-nav ul { + padding-left: 15px; +} +.uk-nav ul a { + padding: 2px 0; +} +/* + * Item subtitle + */ +.uk-nav li > a > div { + font-size: 12px; + line-height: 18px; +} +/* Sub-object: `uk-nav-header` + ========================================================================== */ +.uk-nav-header { + padding: 5px 15px; + text-transform: uppercase; + font-weight: bold; + font-size: 12px; +} +.uk-nav-header:not(:first-child) { + margin-top: 15px; +} +/* Sub-object: `uk-nav-divider` + ========================================================================== */ +.uk-nav-divider { + margin: 9px 15px; +} +/* Sub-object: `uk-nav-sub` + ========================================================================== */ +/* + * `ul` needed for higher specificity to override padding + */ +ul.uk-nav-sub { + padding: 5px 0 5px 15px; +} +/* Modifier: `uk-nav-parent-icon` + ========================================================================== */ +.uk-nav-parent-icon > .uk-parent > a:after { + content: "\f104"; + width: 20px; + margin-right: -10px; + float: right; + font-family: FontAwesome; + text-align: center; +} +.uk-nav-parent-icon > .uk-parent.uk-open > a:after { + content: "\f107"; +} +/* Modifier `uk-nav-side` + ========================================================================== */ +/* + * Items + */ +.uk-nav-side > li > a { + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-nav-side > li > a:hover, +.uk-nav-side > li > a:focus { + background: rgba(0, 0, 0, 0.05); + color: #444; + /* 2 */ + outline: none; +} +/* Active */ +.uk-nav-side > li.uk-active > a { + background: #00a8e6; + color: #fff; +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-side .uk-nav-header { + color: #444; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-side .uk-nav-divider { + border-top: 1px solid #ddd; +} +/* + * Nested items + */ +.uk-nav-side ul a { + color: #07D; +} +.uk-nav-side ul a:hover { + color: #059; +} +/* Modifier `uk-nav-dropdown` + ========================================================================== */ +/* + * Items + */ +.uk-nav-dropdown > li > a { + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-nav-dropdown > li > a:hover, +.uk-nav-dropdown > li > a:focus { + background: #00a8e6; + color: #fff; + /* 2 */ + outline: none; +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-dropdown .uk-nav-header { + color: #999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-dropdown .uk-nav-divider { + border-top: 1px solid #ddd; +} +/* + * Nested items + */ +.uk-nav-dropdown ul a { + color: #07D; +} +.uk-nav-dropdown ul a:hover { + color: #059; +} +/* Modifier `uk-nav-navbar` + ========================================================================== */ +/* + * Items + */ +.uk-nav-navbar > li > a { + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-nav-navbar > li > a:hover, +.uk-nav-navbar > li > a:focus { + background: #00a8e6; + color: #fff; + /* 2 */ + outline: none; +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-navbar .uk-nav-header { + color: #999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-navbar .uk-nav-divider { + border-top: 1px solid #ddd; +} +/* + * Nested items + */ +.uk-nav-navbar ul a { + color: #07D; +} +.uk-nav-navbar ul a:hover { + color: #059; +} +/* Modifier `uk-nav-offcanvas` + ========================================================================== */ +/* + * Items + */ +.uk-nav-offcanvas > li > a { + color: #ccc; + padding: 10px 15px; +} +/* + * Hover + * No hover on touch devices because it behaves buggy in fixed offcanvas + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-nav-offcanvas > .uk-open > a, +html:not(.uk-touch) .uk-nav-offcanvas > li > a:hover, +html:not(.uk-touch) .uk-nav-offcanvas > li > a:focus { + background: #404040; + color: #fff; + /* 2 */ + outline: none; +} +/* + * Active + * `html .uk-nav` needed for higher specificity to override hover + */ +html .uk-nav.uk-nav-offcanvas > li.uk-active > a { + background: #1a1a1a; + color: #fff; +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-offcanvas .uk-nav-header { + color: #777; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-offcanvas .uk-nav-divider { + border-top: 1px solid #1a1a1a; +} +/* + * Nested items + * No hover on touch devices because it behaves buggy in fixed offcanvas + */ +.uk-nav-offcanvas ul a { + color: #ccc; +} +html:not(.uk-touch) .uk-nav-offcanvas ul a:hover { + color: #fff; +} +/* ======================================================================== + Component: Navbar + ========================================================================== */ +.uk-navbar { + background: #eee; + color: #444; +} +/* + * Micro clearfix + */ +.uk-navbar:before, +.uk-navbar:after { + content: ""; + display: table; +} +.uk-navbar:after { + clear: both; +} +/* Sub-object: `uk-navbar-nav` + ========================================================================== */ +.uk-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} +/* + * 1. Create position context for dropdowns + */ +.uk-navbar-nav > li { + float: left; + /* 1 */ + position: relative; +} +/* + * 1. Dimensions + * 2. Style + */ +.uk-navbar-nav > li > a { + display: block; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: 40px; + padding: 0 15px; + line-height: 40px; + /* 2 */ + color: #444; + font-size: 14px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: normal; +} +/* Appear not as link */ +.uk-navbar-nav > li > a[href='#'] { + cursor: text; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Also apply if dropdown is opened + * 3. Remove default focus style + */ +.uk-navbar-nav > li:hover > a, +.uk-navbar-nav > li > a:focus, +.uk-navbar-nav > li.uk-open > a { + background-color: #f5f5f5; + color: #444; + /* 3 */ + outline: none; +} +/* OnClick */ +.uk-navbar-nav > li > a:active { + background-color: #ddd; + color: #444; +} +/* Active */ +.uk-navbar-nav > li.uk-active > a { + background-color: #f5f5f5; + color: #444; +} +/* Sub-objects: `uk-navbar-nav-subtitle` + ========================================================================== */ +.uk-navbar-nav .uk-navbar-nav-subtitle { + line-height: 28px; +} +.uk-navbar-nav-subtitle > div { + margin-top: -6px; + font-size: 10px; + line-height: 12px; +} +/* Sub-objects: `uk-navbar-content`, `uk-navbar-brand`, `uk-navbar-toggle` + ========================================================================== */ +/* + * Imitate navbar items + */ +.uk-navbar-content, +.uk-navbar-brand, +.uk-navbar-toggle { + box-sizing: border-box; + display: block; + height: 40px; + padding: 0 15px; + float: left; +} +/* + * Helper to center all child elements vertically + */ +.uk-navbar-content:before, +.uk-navbar-brand:before, +.uk-navbar-toggle:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} +/* Sub-objects: `uk-navbar-content` + ========================================================================== */ +/* + * Better sibling spacing + */ +.uk-navbar-content + .uk-navbar-content:not(.uk-navbar-center) { + padding-left: 0; +} +/* + * Link colors + */ +.uk-navbar-content > a:not([class]) { + color: #07D; +} +.uk-navbar-content > a:not([class]):hover { + color: #059; +} +/* Sub-objects: `uk-navbar-brand` + ========================================================================== */ +.uk-navbar-brand { + font-size: 18px; + color: #444; + text-decoration: none; +} +/* + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-navbar-brand:hover, +.uk-navbar-brand:focus { + color: #444; + text-decoration: none; + /* 2 */ + outline: none; +} +/* Sub-object: `uk-navbar-toggle` + ========================================================================== */ +.uk-navbar-toggle { + font-size: 18px; + color: #444; + text-decoration: none; +} +/* + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-navbar-toggle:hover, +.uk-navbar-toggle:focus { + color: #444; + text-decoration: none; + /* 2 */ + outline: none; +} +/* + * 1. Center icon vertically + */ +.uk-navbar-toggle:after { + content: "\f0c9"; + font-family: FontAwesome; + /* 1 */ + vertical-align: middle; +} +.uk-navbar-toggle-alt:after { + content: "\f002"; +} +/* Sub-object: `uk-navbar-center` + ========================================================================== */ +/* + * The element with this class needs to be last child in the navbar + * 1. This hack is needed because other float elements shift centered text + */ +.uk-navbar-center { + float: none; + text-align: center; + /* 1 */ + max-width: 50%; + margin-left: auto; + margin-right: auto; +} +/* Sub-object: `uk-navbar-flip` + ========================================================================== */ +.uk-navbar-flip { + float: right; +} +/* ======================================================================== + Component: Subnav + ========================================================================== */ +/* + * 1. Gutter + * 2. Remove default list style + */ +.uk-subnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -10px; + margin-top: -10px; + /* 2 */ + padding: 0; + list-style: none; +} +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + * 3. Create position context for dropdowns + */ +.uk-subnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: 10px; + margin-top: 10px; + /* 3 */ + position: relative; +} +/* + * DEPRECATED IE9 Support + */ +.uk-subnav:before, +.uk-subnav:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-subnav:after { + clear: both; +} +.uk-subnav > * { + float: left; +} +/* Items + ========================================================================== */ +.uk-subnav > * > * { + display: inline-block; + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + */ +.uk-subnav > * > :hover, +.uk-subnav > * > :focus { + color: #07D; + text-decoration: none; +} +/* + * Active + */ +.uk-subnav > .uk-active > * { + color: #07D; +} +/* Modifier: 'subnav-line' + ========================================================================== */ +.uk-subnav-line > :before { + content: ""; + display: inline-block; + height: 10px; + vertical-align: middle; +} +.uk-subnav-line > :nth-child(n+2):before { + margin-right: 10px; + border-left: 1px solid #ddd; +} +/* Modifier: 'subnav-pill' + ========================================================================== */ +.uk-subnav-pill > * > * { + padding: 3px 9px; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-subnav-pill > * > :hover, +.uk-subnav-pill > * > :focus { + background: #eee; + color: #444; + text-decoration: none; + /* 2 */ + outline: none; +} +/* + * Active + * `li` needed for higher specificity to override hover + */ +.uk-subnav-pill > .uk-active > * { + background: #00a8e6; + color: #fff; +} +/* Disabled state + ========================================================================== */ +.uk-subnav > .uk-disabled > * { + background: none; + color: #999; + text-decoration: none; + cursor: text; +} +/* ======================================================================== + Component: Breadcrumb + ========================================================================== */ +/* + * 1. Remove default list style + * 2. Remove whitespace between child elements when using `inline-block` + */ +.uk-breadcrumb { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + font-size: 0.001px; +} +/* Items + ========================================================================== */ +/* + * Reset whitespace hack + */ +.uk-breadcrumb > li { + font-size: 1rem; + vertical-align: top; +} +.uk-breadcrumb > li, +.uk-breadcrumb > li > a, +.uk-breadcrumb > li > span { + display: inline-block; +} +.uk-breadcrumb > li:nth-child(n+2):before { + content: "/"; + display: inline-block; + margin: 0 8px; +} +/* + * Disabled + */ +.uk-breadcrumb > li:not(.uk-active) > span { + color: #999; +} +/* ======================================================================== + Component: Pagination + ========================================================================== */ +/* + * 1. Remove default list style + * 2. Center pagination by default + * 3. Remove whitespace between child elements when using `inline-block` + */ +.uk-pagination { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + text-align: center; + /* 3 */ + font-size: 0.001px; +} +/* + * Micro clearfix + * Needed if `uk-pagination-previous` or `uk-pagination-next` sub-objects are used + */ +.uk-pagination:before, +.uk-pagination:after { + content: ""; + display: table; +} +.uk-pagination:after { + clear: both; +} +/* Items + ========================================================================== */ +/* + * 1. Reset whitespace hack + * 2. Remove the gap at the bottom of it container + */ +.uk-pagination > li { + display: inline-block; + /* 1 */ + font-size: 1rem; + /* 2 */ + vertical-align: top; +} +.uk-pagination > li:nth-child(n+2) { + margin-left: 5px; +} +/* + * 1. Makes pagination more robust against different box-sizing use + * 2. Reset text-align to center if alignment modifier is used + */ +.uk-pagination > li > a, +.uk-pagination > li > span { + display: inline-block; + min-width: 16px; + padding: 3px 5px; + line-height: 20px; + text-decoration: none; + /* 1 */ + box-sizing: content-box; + /* 2 */ + text-align: center; +} +/* + * Links + */ +.uk-pagination > li > a { + background: #eee; + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-pagination > li > a:hover, +.uk-pagination > li > a:focus { + background-color: #f5f5f5; + color: #444; + /* 2 */ + outline: none; +} +/* OnClick */ +.uk-pagination > li > a:active { + background-color: #ddd; + color: #444; +} +/* + * Active + */ +.uk-pagination > .uk-active > span { + background: #00a8e6; + color: #fff; +} +/* + * Disabled + */ +.uk-pagination > .uk-disabled > span { + background-color: #f5f5f5; + color: #999; +} +/* Previous and next navigation + ========================================================================== */ +.uk-pagination-previous { + float: left; +} +.uk-pagination-next { + float: right; +} +/* Alignment modifiers + ========================================================================== */ +.uk-pagination-left { + text-align: left; +} +.uk-pagination-right { + text-align: right; +} +/* ======================================================================== + Component: Tab + ========================================================================== */ +.uk-tab { + margin: 0; + padding: 0; + list-style: none; + border-bottom: 1px solid #ddd; +} +/* + * Micro clearfix on the deepest container + */ +.uk-tab:before, +.uk-tab:after { + content: ""; + display: table; +} +.uk-tab:after { + clear: both; +} +/* + * Items + * 1. Create position context for dropdowns + */ +.uk-tab > li { + margin-bottom: -1px; + float: left; + /* 1 */ + position: relative; +} +.uk-tab > li > a { + display: block; + padding: 8px 12px 8px 12px; + border: 1px solid transparent; + border-bottom-width: 0; + color: #07D; + text-decoration: none; +} +.uk-tab > li:nth-child(n+2) > a { + margin-left: 5px; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Also apply if dropdown is opened + * 3. Remove default focus style + */ +.uk-tab > li > a:hover, +.uk-tab > li > a:focus, +.uk-tab > li.uk-open > a { + border-color: #f5f5f5; + background: #f5f5f5; + color: #059; + /* 2 */ + outline: none; +} +.uk-tab > li:not(.uk-active) > a:hover, +.uk-tab > li:not(.uk-active) > a:focus, +.uk-tab > li.uk-open:not(.uk-active) > a { + margin-bottom: 1px; + padding-bottom: 7px; +} +/* Active */ +.uk-tab > li.uk-active > a { + border-color: #ddd; + border-bottom-color: transparent; + background: #fff; + color: #444; +} +/* Disabled */ +.uk-tab > li.uk-disabled > a { + color: #999; + cursor: text; +} +.uk-tab > li.uk-disabled > a:hover, +.uk-tab > li.uk-disabled > a:focus, +.uk-tab > li.uk-disabled.uk-active > a { + background: none; + border-color: transparent; +} +/* Modifier: 'tab-flip' + ========================================================================== */ +.uk-tab-flip > li { + float: right; +} +.uk-tab-flip > li:nth-child(n+2) > a { + margin-left: 0; + margin-right: 5px; +} +/* Modifier: 'tab-responsive' + ========================================================================== */ +.uk-tab > li.uk-tab-responsive > a { + margin-left: 0; + margin-right: 0; +} +/* + * Icon + */ +.uk-tab-responsive > a:before { + content: "\f0c9\00a0"; + font-family: FontAwesome; +} +/* Modifier: 'tab-center' + ========================================================================== */ +.uk-tab-center { + border-bottom: 1px solid #ddd; +} +.uk-tab-center-bottom { + border-bottom: none; + border-top: 1px solid #ddd; +} +.uk-tab-center:before, +.uk-tab-center:after { + content: ""; + display: table; +} +.uk-tab-center:after { + clear: both; +} +/* + * 1. Using `right` to prevent vertical scrollbar caused by centering if to many tabs + */ +.uk-tab-center .uk-tab { + position: relative; + right: 50%; + border: none; + float: right; +} +.uk-tab-center .uk-tab > li { + position: relative; + right: -50%; +} +.uk-tab-center .uk-tab > li > a { + text-align: center; +} +/* Modifier: 'tab-bottom' + ========================================================================== */ +.uk-tab-bottom { + border-top: 1px solid #ddd; + border-bottom: none; +} +.uk-tab-bottom > li { + margin-top: -1px; + margin-bottom: 0; +} +.uk-tab-bottom > li > a { + padding-top: 8px; + padding-bottom: 8px; + border-bottom-width: 1px; + border-top-width: 0; +} +.uk-tab-bottom > li:not(.uk-active) > a:hover, +.uk-tab-bottom > li:not(.uk-active) > a:focus, +.uk-tab-bottom > li.uk-open:not(.uk-active) > a { + margin-bottom: 0; + margin-top: 1px; + padding-bottom: 8px; + padding-top: 7px; +} +.uk-tab-bottom > li.uk-active > a { + border-top-color: transparent; + border-bottom-color: #ddd; +} +/* Modifier: 'tab-grid' + ========================================================================== */ +/* + * 1. Create position context to prevent hidden border because of negative `z-index` + */ +.uk-tab-grid { + margin-left: -5px; + border-bottom: none; + /* 1 */ + position: relative; + z-index: 0; +} +.uk-tab-grid:before { + display: block; + position: absolute; + left: 5px; + right: 0; + bottom: -1px; + border-top: 1px solid #ddd; + /* 1 */ + z-index: -1; +} +.uk-tab-grid > li:first-child > a { + margin-left: 5px; +} +.uk-tab-grid > li > a { + text-align: center; +} +/* + * If `uk-tab-bottom` + */ +.uk-tab-grid.uk-tab-bottom { + border-top: none; +} +.uk-tab-grid.uk-tab-bottom:before { + top: -1px; + bottom: auto; +} +/* Modifier: 'tab-left', 'tab-right' + ========================================================================== */ +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-tab-left, + .uk-tab-right { + border-bottom: none; + } + .uk-tab-left > li, + .uk-tab-right > li { + margin-bottom: 0; + float: none; + } + .uk-tab-left > li > a, + .uk-tab-right > li > a { + padding-top: 8px; + padding-bottom: 8px; + } + .uk-tab-left > li:nth-child(n+2) > a, + .uk-tab-right > li:nth-child(n+2) > a { + margin-left: 0; + margin-top: 5px; + } + .uk-tab-left > li.uk-active > a, + .uk-tab-right > li.uk-active > a { + border-color: #ddd; + } + /* + * Modifier: 'tab-left' + */ + .uk-tab-left { + border-right: 1px solid #ddd; + } + .uk-tab-left > li { + margin-right: -1px; + } + .uk-tab-left > li > a { + border-bottom-width: 1px; + border-right-width: 0; + } + .uk-tab-left > li:not(.uk-active) > a:hover, + .uk-tab-left > li:not(.uk-active) > a:focus { + margin-bottom: 0; + margin-right: 1px; + padding-bottom: 8px; + padding-right: 11px; + } + .uk-tab-left > li.uk-active > a { + border-right-color: transparent; + } + /* + * Modifier: 'tab-right' + */ + .uk-tab-right { + border-left: 1px solid #ddd; + } + .uk-tab-right > li { + margin-left: -1px; + } + .uk-tab-right > li > a { + border-bottom-width: 1px; + border-left-width: 0; + } + .uk-tab-right > li:not(.uk-active) > a:hover, + .uk-tab-right > li:not(.uk-active) > a:focus { + margin-bottom: 0; + margin-left: 1px; + padding-bottom: 8px; + padding-left: 11px; + } + .uk-tab-right > li.uk-active > a { + border-left-color: transparent; + } +} +/* ======================================================================== + Component: Thumbnav + ========================================================================== */ +/* + * 1. Gutter + * 2. Remove default list style + */ +.uk-thumbnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -10px; + margin-top: -10px; + /* 2 */ + padding: 0; + list-style: none; +} +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + */ +.uk-thumbnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: 10px; + margin-top: 10px; +} +/* + * DEPRECATED IE9 Support + */ +.uk-thumbnav:before, +.uk-thumbnav:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-thumbnav:after { + clear: both; +} +.uk-thumbnav > * { + float: left; +} +/* Items + ========================================================================== */ +.uk-thumbnav > * > * { + display: block; + background: #fff; +} +.uk-thumbnav > * > * > img { + opacity: 0.7; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +/* + * Hover + */ +.uk-thumbnav > * > :hover > img, +.uk-thumbnav > * > :focus > img { + opacity: 1; +} +/* + * Active + */ +.uk-thumbnav > .uk-active > * > img { + opacity: 1; +} +/* ======================================================================== + Component: List + ========================================================================== */ +.uk-list { + padding: 0; + list-style: none; +} +/* + * Micro clearfix to make list more robust + */ +.uk-list > li:before, +.uk-list > li:after { + content: ""; + display: table; +} +.uk-list > li:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-list > li > :last-child { + margin-bottom: 0; +} +/* + * Nested lists + */ +.uk-list ul { + margin: 0; + padding-left: 20px; + list-style: none; +} +/* Modifier: `uk-list-line` + ========================================================================== */ +.uk-list-line > li:nth-child(n+2) { + margin-top: 5px; + padding-top: 5px; + border-top: 1px solid #ddd; +} +/* Modifier: `uk-list-striped` + ========================================================================== */ +.uk-list-striped > li { + padding: 5px 5px; +} +.uk-list-striped > li:nth-of-type(odd) { + background: #f5f5f5; +} +/* Modifier: `uk-list-space` + ========================================================================== */ +.uk-list-space > li:nth-child(n+2) { + margin-top: 10px; +} +/* ======================================================================== + Component: Description list + ========================================================================== */ +/* Modifier: `uk-description-list-horizontal` + ========================================================================== */ +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-description-list-horizontal { + overflow: hidden; + } + .uk-description-list-horizontal > dt { + width: 160px; + float: left; + clear: both; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .uk-description-list-horizontal > dd { + margin-left: 180px; + } +} +/* Modifier: `uk-description-list-line` + ========================================================================== */ +.uk-description-list-line > dt { + font-weight: normal; +} +.uk-description-list-line > dt:nth-child(n+2) { + margin-top: 5px; + padding-top: 5px; + border-top: 1px solid #ddd; +} +.uk-description-list-line > dd { + color: #999; +} +/* ======================================================================== + Component: Table + ========================================================================== */ +/* + * 1. Remove most spacing between table cells. + * 2. Block element behavior + * 3. Style + */ +.uk-table { + /* 1 */ + border-collapse: collapse; + border-spacing: 0; + /* 2 */ + width: 100%; + /* 3 */ + margin-bottom: 15px; +} +/* + * Add margin if adjacent element + */ +* + .uk-table { + margin-top: 15px; +} +.uk-table th, +.uk-table td { + padding: 8px 8px; +} +/* + * Set alignment + */ +.uk-table th { + text-align: left; +} +.uk-table td { + vertical-align: top; +} +.uk-table thead th { + vertical-align: bottom; +} +/* + * Caption and footer + */ +.uk-table caption, +.uk-table tfoot { + font-size: 12px; + font-style: italic; +} +.uk-table caption { + text-align: left; + color: #999; +} +/* + * Active State + */ +.uk-table tbody tr.uk-active { + background: #EEE; +} +/* Sub-modifier: `uk-table-middle` + ========================================================================== */ +.uk-table-middle, +.uk-table-middle td { + vertical-align: middle !important; +} +/* Modifier: `uk-table-striped` + ========================================================================== */ +.uk-table-striped tbody tr:nth-of-type(odd) { + background: #f5f5f5; +} +/* Modifier: `uk-table-condensed` + ========================================================================== */ +.uk-table-condensed td { + padding: 4px 8px; +} +/* Modifier: `uk-table-hover` + ========================================================================== */ +.uk-table-hover tbody tr:hover { + background: #EEE; +} +/* ======================================================================== + Component: Form + ========================================================================== */ +/* + * 1. Define consistent box sizing. + * Default is `content-box` with following exceptions set to `border-box` + * `button`, `select`, `input[type="checkbox"]` and `input[type="radio"]` + * `input[type="search"]` in Chrome, Safari and Opera + * `input[type="color"]` in Firefox + * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera. + * 3. Remove `border-radius` in iOS. + * 4. Correct `font` properties and `color` not being inherited. + */ +.uk-form input, +.uk-form select, +.uk-form textarea { + /* 1 */ + box-sizing: border-box; + /* 2 */ + margin: 0; + /* 3 */ + border-radius: 0; + /* 4 */ + font: inherit; + color: inherit; +} +/* + * Address inconsistent `text-transform` inheritance which is only inherit in Firefox + */ +.uk-form select { + text-transform: none; +} +/* + * 1. Correct `font` properties not being inherited. + * 2. Don't inherit the `font-weight` and use `bold` instead. + * NOTE: Both declarations don't work in Chrome, Safari and Opera. + */ +.uk-form optgroup { + /* 1 */ + font: inherit; + /* 2 */ + font-weight: bold; +} +/* + * Removes inner padding and border in Firefox 4+. + */ +.uk-form input::-moz-focus-inner { + border: 0; + padding: 0; +} +/* + * Removes excess padding in IE 8/9/10. + */ +.uk-form input[type="checkbox"], +.uk-form input[type="radio"] { + padding: 0; +} +/* + * Improves consistency of cursor style for clickable elements + */ +.uk-form input[type="checkbox"]:not(:disabled), +.uk-form input[type="radio"]:not(:disabled) { + cursor: pointer; +} +/* + * Remove default style in iOS. + */ +.uk-form textarea, +.uk-form input:not([type]), +.uk-form input[type="text"], +.uk-form input[type="password"], +.uk-form input[type="email"], +.uk-form input[type="url"], +.uk-form input[type="search"], +.uk-form input[type="tel"], +.uk-form input[type="number"], +.uk-form input[type="datetime"] { + -webkit-appearance: none; +} +/* + * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X. + */ +.uk-form input[type="search"]::-webkit-search-cancel-button, +.uk-form input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +/* + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +.uk-form input[type="number"]::-webkit-inner-spin-button, +.uk-form input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +/* + * Define consistent border, margin, and padding. + */ +.uk-form fieldset { + border: none; + margin: 0; + padding: 0; +} +/* + * 1. Remove default vertical scrollbar in IE 8/9/10/11. + * 2. Improve readability and alignment in all browsers. + */ +.uk-form textarea { + /* 1 */ + overflow: auto; + /* 2 */ + vertical-align: top; +} +/* + * Removes placeholder transparency in Firefox. + */ +.uk-form ::-moz-placeholder { + opacity: 1; +} +/* + * Removes `box-shadow` for invalid controls in Firefox. + */ +.uk-form :invalid { + box-shadow: none; +} +/* + * Vertical alignment + */ +.uk-form input:not([type="radio"]):not([type="checkbox"]), +.uk-form select { + vertical-align: middle; +} +/* Style + ========================================================================== */ +/* + * Remove margin from the last-child + */ +.uk-form > :last-child { + margin-bottom: 0; +} +/* + * Controls + * Except for `range`, `radio`, `checkbox`, `file`, `submit`, `reset`, `button` and `image` + * 1. Must be `height` because `min-height` is not working in OSX + * 2. Responsiveness: Sets a maximum width relative to the parent to scale on narrower viewports + * 3. Vertical `padding` needed for `select` elements in Firefox + * 4. Style + */ +.uk-form select, +.uk-form textarea, +.uk-form input:not([type]), +.uk-form input[type="text"], +.uk-form input[type="password"], +.uk-form input[type="datetime"], +.uk-form input[type="datetime-local"], +.uk-form input[type="date"], +.uk-form input[type="month"], +.uk-form input[type="time"], +.uk-form input[type="week"], +.uk-form input[type="number"], +.uk-form input[type="email"], +.uk-form input[type="url"], +.uk-form input[type="search"], +.uk-form input[type="tel"], +.uk-form input[type="color"] { + /* 1 */ + height: 30px; + /* 2 */ + max-width: 100%; + /* 3 */ + padding: 4px 6px; + /* 4 */ + border: 1px solid #ddd; + background: #fff; + color: #444; + -webkit-transition: all 0.2s linear; + -webkit-transition-property: border, background, color, box-shadow, padding; + transition: all 0.2s linear; + transition-property: border, background, color, box-shadow, padding; +} +.uk-form select:focus, +.uk-form textarea:focus, +.uk-form input:not([type]):focus, +.uk-form input[type="text"]:focus, +.uk-form input[type="password"]:focus, +.uk-form input[type="datetime"]:focus, +.uk-form input[type="datetime-local"]:focus, +.uk-form input[type="date"]:focus, +.uk-form input[type="month"]:focus, +.uk-form input[type="time"]:focus, +.uk-form input[type="week"]:focus, +.uk-form input[type="number"]:focus, +.uk-form input[type="email"]:focus, +.uk-form input[type="url"]:focus, +.uk-form input[type="search"]:focus, +.uk-form input[type="tel"]:focus, +.uk-form input[type="color"]:focus { + border-color: #99baca; + outline: 0; + background: #f5fbfe; + color: #444; +} +.uk-form select:disabled, +.uk-form textarea:disabled, +.uk-form input:not([type]):disabled, +.uk-form input[type="text"]:disabled, +.uk-form input[type="password"]:disabled, +.uk-form input[type="datetime"]:disabled, +.uk-form input[type="datetime-local"]:disabled, +.uk-form input[type="date"]:disabled, +.uk-form input[type="month"]:disabled, +.uk-form input[type="time"]:disabled, +.uk-form input[type="week"]:disabled, +.uk-form input[type="number"]:disabled, +.uk-form input[type="email"]:disabled, +.uk-form input[type="url"]:disabled, +.uk-form input[type="search"]:disabled, +.uk-form input[type="tel"]:disabled, +.uk-form input[type="color"]:disabled { + border-color: #ddd; + background-color: #f5f5f5; + color: #999; +} +/* + * Placeholder + */ +.uk-form :-ms-input-placeholder { + color: #999 !important; +} +.uk-form ::-moz-placeholder { + color: #999; +} +.uk-form ::-webkit-input-placeholder { + color: #999; +} +.uk-form :disabled:-ms-input-placeholder { + color: #999 !important; +} +.uk-form :disabled::-moz-placeholder { + color: #999; +} +.uk-form :disabled::-webkit-input-placeholder { + color: #999; +} +/* + * Legend + * 1. Behave like block element + * 2. Correct `color` not being inherited in IE 8/9/10/11. + * 3. Remove padding + * 4. `margin-bottom` is not working in Safari and Opera. + * Using `padding` and :after instead to create the border + * 5. Style + */ +.uk-form legend { + /* 1 */ + width: 100%; + /* 2 */ + border: 0; + /* 3 */ + padding: 0; + /* 4 */ + padding-bottom: 15px; + /* 5 */ + font-size: 18px; + line-height: 30px; +} +/* + * 1. Fixes IE9 + */ +.uk-form legend:after { + content: ""; + display: block; + border-bottom: 1px solid #ddd; + /* 1 */ + width: 100%; +} +/* Size modifiers + * Higher specificity needed to override defaults + ========================================================================== */ +select.uk-form-small, +textarea.uk-form-small, +input[type].uk-form-small, +input:not([type]).uk-form-small { + height: 25px; + padding: 3px 3px; + font-size: 12px; +} +select.uk-form-large, +textarea.uk-form-large, +input[type].uk-form-large, +input:not([type]).uk-form-large { + height: 40px; + padding: 8px 6px; + font-size: 16px; +} +/* Reset height + * Must be after size modifiers + ========================================================================== */ +.uk-form textarea, +.uk-form select[multiple], +.uk-form select[size] { + height: auto; +} +/* Validation states + * Using !important to keep the selector simple + ========================================================================== */ +/* + * Error state + */ +.uk-form-danger { + border-color: #dc8d99 !important; + background: #fff7f8 !important; + color: #d85030 !important; +} +/* + * Success state + */ +.uk-form-success { + border-color: #8ec73b !important; + background: #fafff2 !important; + color: #659f13 !important; +} +/* Style modifiers + * Using !important to keep the selector simple + ========================================================================== */ +/* + * Blank form + */ +.uk-form-blank { + border-color: transparent !important; + border-style: dashed !important; + background: none !important; +} +.uk-form-blank:focus { + border-color: #ddd !important; +} +/* Size sub-modifiers + ========================================================================== */ +/* + * Fixed widths + * Different widths for mini sized `input` and `select` elements + */ +input.uk-form-width-mini { + width: 40px; +} +select.uk-form-width-mini { + width: 65px; +} +.uk-form-width-small { + width: 130px; +} +.uk-form-width-medium { + width: 200px; +} +.uk-form-width-large { + width: 500px; +} +/* Sub-objects: `uk-form-row` + * Groups labels and controls in rows + ========================================================================== */ +/* + * Micro clearfix + * Needed for `uk-form-horizontal` modifier + */ +.uk-form-row:before, +.uk-form-row:after { + content: ""; + display: table; +} +.uk-form-row:after { + clear: both; +} +/* + * Vertical gutter + */ +.uk-form-row + .uk-form-row { + margin-top: 15px; +} +/* Help text + * Sub-object: `uk-form-help-inline`, `uk-form-help-block` + ========================================================================== */ +.uk-form-help-inline { + display: inline-block; + margin: 0 0 0 10px; +} +.uk-form-help-block { + margin: 5px 0 0 0; +} +/* Controls content + * Sub-object: `uk-form-controls`, `uk-form-controls-condensed` + ========================================================================== */ +/* + * Remove margins + */ +.uk-form-controls > :first-child { + margin-top: 0; +} +.uk-form-controls > :last-child { + margin-bottom: 0; +} +/* + * Group controls and text into blocks with a small spacing between blocks + */ +.uk-form-controls-condensed { + margin: 5px 0; +} +/* Modifier: `uk-form-stacked` + * Requires sub-object: `uk-form-label` + ========================================================================== */ +.uk-form-stacked .uk-form-label { + display: block; + margin-bottom: 5px; + font-weight: bold; +} +/* Modifier: `uk-form-horizontal` + * Requires sub-objects: `uk-form-label`, `uk-form-controls` + ========================================================================== */ +/* Tablet portrait and smaller */ +@media (max-width: 959px) { + /* Behave like `uk-form-stacked` */ + .uk-form-horizontal .uk-form-label { + display: block; + margin-bottom: 5px; + font-weight: bold; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-form-horizontal .uk-form-label { + width: 200px; + margin-top: 5px; + float: left; + } + .uk-form-horizontal .uk-form-controls { + margin-left: 215px; + } + /* Better vertical alignment if controls are checkboxes and radio buttons with text */ + .uk-form-horizontal .uk-form-controls-text { + padding-top: 5px; + } +} +/* Sub-object: `uk-form-icon` + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + */ +.uk-form-icon { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; +} +/* + * 1. Make form element clickable through icon + */ +.uk-form-icon > [class*='uk-icon-'] { + position: absolute; + top: 50%; + width: 30px; + margin-top: -7px; + font-size: 14px; + color: #999; + text-align: center; + /* 1 */ + pointer-events: none; +} +.uk-form-icon:not(.uk-form-icon-flip) > input { + padding-left: 30px !important; +} +/* + * Sub-modifier: `uk-form-icon-flip` + */ +.uk-form-icon-flip > [class*='uk-icon-'] { + right: 0; +} +.uk-form-icon-flip > input { + padding-right: 30px !important; +} +/* ======================================================================== + Component: Button + ========================================================================== */ +/* + * Removes inner padding and border in Firefox 4+. + */ +.uk-button::-moz-focus-inner { + border: 0; + padding: 0; +} +/* + * 1. Correct inability to style clickable `input` types in iOS. + * 2. Remove margins in Chrome, Safari and Opera. + * 3. Remove borders for `button`. + * 4. Address `overflow` set to `hidden` in IE 8/9/10/11. + * 5. Correct `font` properties and `color` not being inherited for `button`. + * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE + * 7. Style + * 8. `line-height` is used to create a height + * 9. `min-height` is necessary for `input` elements in Firefox and Opera because `line-height` is not working. + * 10. Reset button group whitespace hack + * 11. Required for `a`. + */ +.uk-button { + /* 1 */ + -webkit-appearance: none; + /* 2 */ + margin: 0; + /* 3 */ + border: none; + /* 4 */ + overflow: visible; + /* 5 */ + font: inherit; + color: #444; + /* 6 */ + text-transform: none; + /* 7 */ + display: inline-block; + box-sizing: border-box; + padding: 0 12px; + background: #eee; + vertical-align: middle; + /* 8 */ + line-height: 30px; + /* 9 */ + min-height: 30px; + /* 10 */ + font-size: 1rem; + /* 11 */ + text-decoration: none; + text-align: center; +} +.uk-button:not(:disabled) { + cursor: pointer; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + */ +.uk-button:hover, +.uk-button:focus { + background-color: #f5f5f5; + color: #444; + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; +} +/* Active */ +.uk-button:active, +.uk-button.uk-active { + background-color: #ddd; + color: #444; +} +/* Color modifiers + ========================================================================== */ +/* + * Modifier: `uk-button-primary` + */ +.uk-button-primary { + background-color: #00a8e6; + color: #fff; +} +/* Hover */ +.uk-button-primary:hover, +.uk-button-primary:focus { + background-color: #35b3ee; + color: #fff; +} +/* Active */ +.uk-button-primary:active, +.uk-button-primary.uk-active { + background-color: #0091ca; + color: #fff; +} +/* + * Modifier: `uk-button-success` + */ +.uk-button-success { + background-color: #8cc14c; + color: #fff; +} +/* Hover */ +.uk-button-success:hover, +.uk-button-success:focus { + background-color: #8ec73b; + color: #fff; +} +/* Active */ +.uk-button-success:active, +.uk-button-success.uk-active { + background-color: #72ae41; + color: #fff; +} +/* + * Modifier: `uk-button-danger` + */ +.uk-button-danger { + background-color: #da314b; + color: #fff; +} +/* Hover */ +.uk-button-danger:hover, +.uk-button-danger:focus { + background-color: #e4354f; + color: #fff; +} +/* Active */ +.uk-button-danger:active, +.uk-button-danger.uk-active { + background-color: #c91032; + color: #fff; +} +/* Disabled state + * Overrides also the color modifiers + ========================================================================== */ +/* Equal for all button types */ +.uk-button:disabled { + background-color: #f5f5f5; + color: #999; +} +/* Modifier: `uk-button-link` + ========================================================================== */ +/* Reset */ +.uk-button-link, +.uk-button-link:hover, +.uk-button-link:focus, +.uk-button-link:active, +.uk-button-link.uk-active, +.uk-button-link:disabled { + border-color: transparent; + background: none; +} +/* Color */ +.uk-button-link { + color: #07D; +} +.uk-button-link:hover, +.uk-button-link:focus, +.uk-button-link:active, +.uk-button-link.uk-active { + color: #059; + text-decoration: underline; +} +.uk-button-link:disabled { + color: #999; +} +/* Focus */ +.uk-button-link:focus { + outline: 1px dotted; +} +/* Size modifiers + ========================================================================== */ +.uk-button-mini { + min-height: 20px; + padding: 0 6px; + line-height: 20px; + font-size: 11px; +} +.uk-button-small { + min-height: 25px; + padding: 0 10px; + line-height: 25px; + font-size: 12px; +} +.uk-button-large { + min-height: 40px; + padding: 0 15px; + line-height: 40px; + font-size: 16px; +} +/* Sub-object `uk-button-group` + ========================================================================== */ +/* + * 1. Behave like buttons + * 2. Create position context for dropdowns + * 3. Remove whitespace between child elements when using `inline-block` + * 4. Prevent buttons from wrapping + * 5. Remove whitespace between child elements when using `inline-block` + */ +.uk-button-group { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + font-size: 0.001px; + /* 4 */ + white-space: nowrap; +} +.uk-button-group > * { + display: inline-block; +} +/* 5 */ +.uk-button-group .uk-button { + vertical-align: top; +} +/* Sub-object: `uk-button-dropdown` + ========================================================================== */ +/* + * 1. Behave like buttons + * 2. Create position context for dropdowns + */ +.uk-button-dropdown { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; +} +/* ======================================================================== + Component: Icon + ========================================================================== */ +@font-face { + font-family: 'FontAwesome'; + src: url("../fonts/fontawesome-webfont.woff2") format('woff2'), url("../fonts/fontawesome-webfont.woff") format("woff"), url("../fonts/fontawesome-webfont.ttf") format("truetype"); + font-weight: normal; + font-style: normal; +} +/* + * 1. Allow margin + * 2. Prevent inherit font style + * 4. Correct line-height + * 5. Better font rendering + * 6. Remove `text-decoration` for anchors + */ +[class*='uk-icon-'] { + font-family: FontAwesome; + /* 1 */ + display: inline-block; + /* 2 */ + font-weight: normal; + font-style: normal; + /* 4 */ + line-height: 1; + /* 5 */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* 6 */ +[class*='uk-icon-'], +[class*='uk-icon-']:hover, +[class*='uk-icon-']:focus { + text-decoration: none; +} +/* Size modifiers + ========================================================================== */ +.uk-icon-small { + font-size: 150%; + vertical-align: -10%; +} +.uk-icon-medium { + font-size: 200%; + vertical-align: -16%; +} +.uk-icon-large { + font-size: 250%; + vertical-align: -22%; +} +/* Modifier: `uk-icon-justify` + ========================================================================== */ +.uk-icon-justify { + width: 1em; + text-align: center; +} +/* Modifier: `uk-icon-spin` + ========================================================================== */ +.uk-icon-spin { + display: inline-block; + -webkit-animation: uk-rotate 2s infinite linear; + animation: uk-rotate 2s infinite linear; +} +/* Modifier: `uk-icon-hover` + ========================================================================== */ +.uk-icon-hover { + color: #999; +} +/* + * Hover + */ +.uk-icon-hover:hover { + color: #444; +} +/* Modifier: `uk-icon-button` + ========================================================================== */ +.uk-icon-button { + box-sizing: border-box; + display: inline-block; + width: 35px; + height: 35px; + border-radius: 100%; + background: #eee; + line-height: 35px; + color: #444; + font-size: 18px; + text-align: center; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-icon-button:hover, +.uk-icon-button:focus { + background-color: #f5f5f5; + color: #444; + /* 2 */ + outline: none; +} +/* Active */ +.uk-icon-button:active { + background-color: #ddd; + color: #444; +} +/* Icon mapping + ========================================================================== */ +.uk-icon-glass:before { + content: "\f000"; +} +.uk-icon-music:before { + content: "\f001"; +} +.uk-icon-search:before { + content: "\f002"; +} +.uk-icon-envelope-o:before { + content: "\f003"; +} +.uk-icon-heart:before { + content: "\f004"; +} +.uk-icon-star:before { + content: "\f005"; +} +.uk-icon-star-o:before { + content: "\f006"; +} +.uk-icon-user:before { + content: "\f007"; +} +.uk-icon-film:before { + content: "\f008"; +} +.uk-icon-th-large:before { + content: "\f009"; +} +.uk-icon-th:before { + content: "\f00a"; +} +.uk-icon-th-list:before { + content: "\f00b"; +} +.uk-icon-check:before { + content: "\f00c"; +} +.uk-icon-remove:before, +.uk-icon-close:before, +.uk-icon-times:before { + content: "\f00d"; +} +.uk-icon-search-plus:before { + content: "\f00e"; +} +.uk-icon-search-minus:before { + content: "\f010"; +} +.uk-icon-power-off:before { + content: "\f011"; +} +.uk-icon-signal:before { + content: "\f012"; +} +.uk-icon-gear:before, +.uk-icon-cog:before { + content: "\f013"; +} +.uk-icon-trash-o:before { + content: "\f014"; +} +.uk-icon-home:before { + content: "\f015"; +} +.uk-icon-file-o:before { + content: "\f016"; +} +.uk-icon-clock-o:before { + content: "\f017"; +} +.uk-icon-road:before { + content: "\f018"; +} +.uk-icon-download:before { + content: "\f019"; +} +.uk-icon-arrow-circle-o-down:before { + content: "\f01a"; +} +.uk-icon-arrow-circle-o-up:before { + content: "\f01b"; +} +.uk-icon-inbox:before { + content: "\f01c"; +} +.uk-icon-play-circle-o:before { + content: "\f01d"; +} +.uk-icon-rotate-right:before, +.uk-icon-repeat:before { + content: "\f01e"; +} +.uk-icon-refresh:before { + content: "\f021"; +} +.uk-icon-list-alt:before { + content: "\f022"; +} +.uk-icon-lock:before { + content: "\f023"; +} +.uk-icon-flag:before { + content: "\f024"; +} +.uk-icon-headphones:before { + content: "\f025"; +} +.uk-icon-volume-off:before { + content: "\f026"; +} +.uk-icon-volume-down:before { + content: "\f027"; +} +.uk-icon-volume-up:before { + content: "\f028"; +} +.uk-icon-qrcode:before { + content: "\f029"; +} +.uk-icon-barcode:before { + content: "\f02a"; +} +.uk-icon-tag:before { + content: "\f02b"; +} +.uk-icon-tags:before { + content: "\f02c"; +} +.uk-icon-book:before { + content: "\f02d"; +} +.uk-icon-bookmark:before { + content: "\f02e"; +} +.uk-icon-print:before { + content: "\f02f"; +} +.uk-icon-camera:before { + content: "\f030"; +} +.uk-icon-font:before { + content: "\f031"; +} +.uk-icon-bold:before { + content: "\f032"; +} +.uk-icon-italic:before { + content: "\f033"; +} +.uk-icon-text-height:before { + content: "\f034"; +} +.uk-icon-text-width:before { + content: "\f035"; +} +.uk-icon-align-left:before { + content: "\f036"; +} +.uk-icon-align-center:before { + content: "\f037"; +} +.uk-icon-align-right:before { + content: "\f038"; +} +.uk-icon-align-justify:before { + content: "\f039"; +} +.uk-icon-list:before { + content: "\f03a"; +} +.uk-icon-dedent:before, +.uk-icon-outdent:before { + content: "\f03b"; +} +.uk-icon-indent:before { + content: "\f03c"; +} +.uk-icon-video-camera:before { + content: "\f03d"; +} +.uk-icon-photo:before, +.uk-icon-image:before, +.uk-icon-picture-o:before { + content: "\f03e"; +} +.uk-icon-pencil:before { + content: "\f040"; +} +.uk-icon-map-marker:before { + content: "\f041"; +} +.uk-icon-adjust:before { + content: "\f042"; +} +.uk-icon-tint:before { + content: "\f043"; +} +.uk-icon-edit:before, +.uk-icon-pencil-square-o:before { + content: "\f044"; +} +.uk-icon-share-square-o:before { + content: "\f045"; +} +.uk-icon-check-square-o:before { + content: "\f046"; +} +.uk-icon-arrows:before { + content: "\f047"; +} +.uk-icon-step-backward:before { + content: "\f048"; +} +.uk-icon-fast-backward:before { + content: "\f049"; +} +.uk-icon-backward:before { + content: "\f04a"; +} +.uk-icon-play:before { + content: "\f04b"; +} +.uk-icon-pause:before { + content: "\f04c"; +} +.uk-icon-stop:before { + content: "\f04d"; +} +.uk-icon-forward:before { + content: "\f04e"; +} +.uk-icon-fast-forward:before { + content: "\f050"; +} +.uk-icon-step-forward:before { + content: "\f051"; +} +.uk-icon-eject:before { + content: "\f052"; +} +.uk-icon-chevron-left:before { + content: "\f053"; +} +.uk-icon-chevron-right:before { + content: "\f054"; +} +.uk-icon-plus-circle:before { + content: "\f055"; +} +.uk-icon-minus-circle:before { + content: "\f056"; +} +.uk-icon-times-circle:before { + content: "\f057"; +} +.uk-icon-check-circle:before { + content: "\f058"; +} +.uk-icon-question-circle:before { + content: "\f059"; +} +.uk-icon-info-circle:before { + content: "\f05a"; +} +.uk-icon-crosshairs:before { + content: "\f05b"; +} +.uk-icon-times-circle-o:before { + content: "\f05c"; +} +.uk-icon-check-circle-o:before { + content: "\f05d"; +} +.uk-icon-ban:before { + content: "\f05e"; +} +.uk-icon-arrow-left:before { + content: "\f060"; +} +.uk-icon-arrow-right:before { + content: "\f061"; +} +.uk-icon-arrow-up:before { + content: "\f062"; +} +.uk-icon-arrow-down:before { + content: "\f063"; +} +.uk-icon-mail-forward:before, +.uk-icon-share:before { + content: "\f064"; +} +.uk-icon-expand:before { + content: "\f065"; +} +.uk-icon-compress:before { + content: "\f066"; +} +.uk-icon-plus:before { + content: "\f067"; +} +.uk-icon-minus:before { + content: "\f068"; +} +.uk-icon-asterisk:before { + content: "\f069"; +} +.uk-icon-exclamation-circle:before { + content: "\f06a"; +} +.uk-icon-gift:before { + content: "\f06b"; +} +.uk-icon-leaf:before { + content: "\f06c"; +} +.uk-icon-fire:before { + content: "\f06d"; +} +.uk-icon-eye:before { + content: "\f06e"; +} +.uk-icon-eye-slash:before { + content: "\f070"; +} +.uk-icon-warning:before, +.uk-icon-exclamation-triangle:before { + content: "\f071"; +} +.uk-icon-plane:before { + content: "\f072"; +} +.uk-icon-calendar:before { + content: "\f073"; +} +.uk-icon-random:before { + content: "\f074"; +} +.uk-icon-comment:before { + content: "\f075"; +} +.uk-icon-magnet:before { + content: "\f076"; +} +.uk-icon-chevron-up:before { + content: "\f077"; +} +.uk-icon-chevron-down:before { + content: "\f078"; +} +.uk-icon-retweet:before { + content: "\f079"; +} +.uk-icon-shopping-cart:before { + content: "\f07a"; +} +.uk-icon-folder:before { + content: "\f07b"; +} +.uk-icon-folder-open:before { + content: "\f07c"; +} +.uk-icon-arrows-v:before { + content: "\f07d"; +} +.uk-icon-arrows-h:before { + content: "\f07e"; +} +.uk-icon-bar-chart-o:before, +.uk-icon-bar-chart:before { + content: "\f080"; +} +.uk-icon-twitter-square:before { + content: "\f081"; +} +.uk-icon-facebook-square:before { + content: "\f082"; +} +.uk-icon-camera-retro:before { + content: "\f083"; +} +.uk-icon-key:before { + content: "\f084"; +} +.uk-icon-gears:before, +.uk-icon-cogs:before { + content: "\f085"; +} +.uk-icon-comments:before { + content: "\f086"; +} +.uk-icon-thumbs-o-up:before { + content: "\f087"; +} +.uk-icon-thumbs-o-down:before { + content: "\f088"; +} +.uk-icon-star-half:before { + content: "\f089"; +} +.uk-icon-heart-o:before { + content: "\f08a"; +} +.uk-icon-sign-out:before { + content: "\f08b"; +} +.uk-icon-linkedin-square:before { + content: "\f08c"; +} +.uk-icon-thumb-tack:before { + content: "\f08d"; +} +.uk-icon-external-link:before { + content: "\f08e"; +} +.uk-icon-sign-in:before { + content: "\f090"; +} +.uk-icon-trophy:before { + content: "\f091"; +} +.uk-icon-github-square:before { + content: "\f092"; +} +.uk-icon-upload:before { + content: "\f093"; +} +.uk-icon-lemon-o:before { + content: "\f094"; +} +.uk-icon-phone:before { + content: "\f095"; +} +.uk-icon-square-o:before { + content: "\f096"; +} +.uk-icon-bookmark-o:before { + content: "\f097"; +} +.uk-icon-phone-square:before { + content: "\f098"; +} +.uk-icon-twitter:before { + content: "\f099"; +} +.uk-icon-facebook-f:before, +.uk-icon-facebook:before { + content: "\f09a"; +} +.uk-icon-github:before { + content: "\f09b"; +} +.uk-icon-unlock:before { + content: "\f09c"; +} +.uk-icon-credit-card:before { + content: "\f09d"; +} +.uk-icon-rss:before { + content: "\f09e"; +} +.uk-icon-hdd-o:before { + content: "\f0a0"; +} +.uk-icon-bullhorn:before { + content: "\f0a1"; +} +.uk-icon-bell:before { + content: "\f0f3"; +} +.uk-icon-certificate:before { + content: "\f0a3"; +} +.uk-icon-hand-o-right:before { + content: "\f0a4"; +} +.uk-icon-hand-o-left:before { + content: "\f0a5"; +} +.uk-icon-hand-o-up:before { + content: "\f0a6"; +} +.uk-icon-hand-o-down:before { + content: "\f0a7"; +} +.uk-icon-arrow-circle-left:before { + content: "\f0a8"; +} +.uk-icon-arrow-circle-right:before { + content: "\f0a9"; +} +.uk-icon-arrow-circle-up:before { + content: "\f0aa"; +} +.uk-icon-arrow-circle-down:before { + content: "\f0ab"; +} +.uk-icon-globe:before { + content: "\f0ac"; +} +.uk-icon-wrench:before { + content: "\f0ad"; +} +.uk-icon-tasks:before { + content: "\f0ae"; +} +.uk-icon-filter:before { + content: "\f0b0"; +} +.uk-icon-briefcase:before { + content: "\f0b1"; +} +.uk-icon-arrows-alt:before { + content: "\f0b2"; +} +.uk-icon-group:before, +.uk-icon-users:before { + content: "\f0c0"; +} +.uk-icon-chain:before, +.uk-icon-link:before { + content: "\f0c1"; +} +.uk-icon-cloud:before { + content: "\f0c2"; +} +.uk-icon-flask:before { + content: "\f0c3"; +} +.uk-icon-cut:before, +.uk-icon-scissors:before { + content: "\f0c4"; +} +.uk-icon-copy:before, +.uk-icon-files-o:before { + content: "\f0c5"; +} +.uk-icon-paperclip:before { + content: "\f0c6"; +} +.uk-icon-save:before, +.uk-icon-floppy-o:before { + content: "\f0c7"; +} +.uk-icon-square:before { + content: "\f0c8"; +} +.uk-icon-navicon:before, +.uk-icon-reorder:before, +.uk-icon-bars:before { + content: "\f0c9"; +} +.uk-icon-list-ul:before { + content: "\f0ca"; +} +.uk-icon-list-ol:before { + content: "\f0cb"; +} +.uk-icon-strikethrough:before { + content: "\f0cc"; +} +.uk-icon-underline:before { + content: "\f0cd"; +} +.uk-icon-table:before { + content: "\f0ce"; +} +.uk-icon-magic:before { + content: "\f0d0"; +} +.uk-icon-truck:before { + content: "\f0d1"; +} +.uk-icon-pinterest:before { + content: "\f0d2"; +} +.uk-icon-pinterest-square:before { + content: "\f0d3"; +} +.uk-icon-google-plus-square:before { + content: "\f0d4"; +} +.uk-icon-google-plus:before { + content: "\f0d5"; +} +.uk-icon-money:before { + content: "\f0d6"; +} +.uk-icon-caret-down:before { + content: "\f0d7"; +} +.uk-icon-caret-up:before { + content: "\f0d8"; +} +.uk-icon-caret-left:before { + content: "\f0d9"; +} +.uk-icon-caret-right:before { + content: "\f0da"; +} +.uk-icon-columns:before { + content: "\f0db"; +} +.uk-icon-unsorted:before, +.uk-icon-sort:before { + content: "\f0dc"; +} +.uk-icon-sort-down:before, +.uk-icon-sort-desc:before { + content: "\f0dd"; +} +.uk-icon-sort-up:before, +.uk-icon-sort-asc:before { + content: "\f0de"; +} +.uk-icon-envelope:before { + content: "\f0e0"; +} +.uk-icon-linkedin:before { + content: "\f0e1"; +} +.uk-icon-rotate-left:before, +.uk-icon-undo:before { + content: "\f0e2"; +} +.uk-icon-legal:before, +.uk-icon-gavel:before { + content: "\f0e3"; +} +.uk-icon-dashboard:before, +.uk-icon-tachometer:before { + content: "\f0e4"; +} +.uk-icon-comment-o:before { + content: "\f0e5"; +} +.uk-icon-comments-o:before { + content: "\f0e6"; +} +.uk-icon-flash:before, +.uk-icon-bolt:before { + content: "\f0e7"; +} +.uk-icon-sitemap:before { + content: "\f0e8"; +} +.uk-icon-umbrella:before { + content: "\f0e9"; +} +.uk-icon-paste:before, +.uk-icon-clipboard:before { + content: "\f0ea"; +} +.uk-icon-lightbulb-o:before { + content: "\f0eb"; +} +.uk-icon-exchange:before { + content: "\f0ec"; +} +.uk-icon-cloud-download:before { + content: "\f0ed"; +} +.uk-icon-cloud-upload:before { + content: "\f0ee"; +} +.uk-icon-user-md:before { + content: "\f0f0"; +} +.uk-icon-stethoscope:before { + content: "\f0f1"; +} +.uk-icon-suitcase:before { + content: "\f0f2"; +} +.uk-icon-bell-o:before { + content: "\f0a2"; +} +.uk-icon-coffee:before { + content: "\f0f4"; +} +.uk-icon-cutlery:before { + content: "\f0f5"; +} +.uk-icon-file-text-o:before { + content: "\f0f6"; +} +.uk-icon-building-o:before { + content: "\f0f7"; +} +.uk-icon-hospital-o:before { + content: "\f0f8"; +} +.uk-icon-ambulance:before { + content: "\f0f9"; +} +.uk-icon-medkit:before { + content: "\f0fa"; +} +.uk-icon-fighter-jet:before { + content: "\f0fb"; +} +.uk-icon-beer:before { + content: "\f0fc"; +} +.uk-icon-h-square:before { + content: "\f0fd"; +} +.uk-icon-plus-square:before { + content: "\f0fe"; +} +.uk-icon-angle-double-left:before { + content: "\f100"; +} +.uk-icon-angle-double-right:before { + content: "\f101"; +} +.uk-icon-angle-double-up:before { + content: "\f102"; +} +.uk-icon-angle-double-down:before { + content: "\f103"; +} +.uk-icon-angle-left:before { + content: "\f104"; +} +.uk-icon-angle-right:before { + content: "\f105"; +} +.uk-icon-angle-up:before { + content: "\f106"; +} +.uk-icon-angle-down:before { + content: "\f107"; +} +.uk-icon-desktop:before { + content: "\f108"; +} +.uk-icon-laptop:before { + content: "\f109"; +} +.uk-icon-tablet:before { + content: "\f10a"; +} +.uk-icon-mobile-phone:before, +.uk-icon-mobile:before { + content: "\f10b"; +} +.uk-icon-circle-o:before { + content: "\f10c"; +} +.uk-icon-quote-left:before { + content: "\f10d"; +} +.uk-icon-quote-right:before { + content: "\f10e"; +} +.uk-icon-spinner:before { + content: "\f110"; +} +.uk-icon-circle:before { + content: "\f111"; +} +.uk-icon-mail-reply:before, +.uk-icon-reply:before { + content: "\f112"; +} +.uk-icon-github-alt:before { + content: "\f113"; +} +.uk-icon-folder-o:before { + content: "\f114"; +} +.uk-icon-folder-open-o:before { + content: "\f115"; +} +.uk-icon-smile-o:before { + content: "\f118"; +} +.uk-icon-frown-o:before { + content: "\f119"; +} +.uk-icon-meh-o:before { + content: "\f11a"; +} +.uk-icon-gamepad:before { + content: "\f11b"; +} +.uk-icon-keyboard-o:before { + content: "\f11c"; +} +.uk-icon-flag-o:before { + content: "\f11d"; +} +.uk-icon-flag-checkered:before { + content: "\f11e"; +} +.uk-icon-terminal:before { + content: "\f120"; +} +.uk-icon-code:before { + content: "\f121"; +} +.uk-icon-mail-reply-all:before, +.uk-icon-reply-all:before { + content: "\f122"; +} +.uk-icon-star-half-empty:before, +.uk-icon-star-half-full:before, +.uk-icon-star-half-o:before { + content: "\f123"; +} +.uk-icon-location-arrow:before { + content: "\f124"; +} +.uk-icon-crop:before { + content: "\f125"; +} +.uk-icon-code-fork:before { + content: "\f126"; +} +.uk-icon-unlink:before, +.uk-icon-chain-broken:before { + content: "\f127"; +} +.uk-icon-question:before { + content: "\f128"; +} +.uk-icon-info:before { + content: "\f129"; +} +.uk-icon-exclamation:before { + content: "\f12a"; +} +.uk-icon-superscript:before { + content: "\f12b"; +} +.uk-icon-subscript:before { + content: "\f12c"; +} +.uk-icon-eraser:before { + content: "\f12d"; +} +.uk-icon-puzzle-piece:before { + content: "\f12e"; +} +.uk-icon-microphone:before { + content: "\f130"; +} +.uk-icon-microphone-slash:before { + content: "\f131"; +} +.uk-icon-shield:before { + content: "\f132"; +} +.uk-icon-calendar-o:before { + content: "\f133"; +} +.uk-icon-fire-extinguisher:before { + content: "\f134"; +} +.uk-icon-rocket:before { + content: "\f135"; +} +.uk-icon-maxcdn:before { + content: "\f136"; +} +.uk-icon-chevron-circle-left:before { + content: "\f137"; +} +.uk-icon-chevron-circle-right:before { + content: "\f138"; +} +.uk-icon-chevron-circle-up:before { + content: "\f139"; +} +.uk-icon-chevron-circle-down:before { + content: "\f13a"; +} +.uk-icon-html5:before { + content: "\f13b"; +} +.uk-icon-css3:before { + content: "\f13c"; +} +.uk-icon-anchor:before { + content: "\f13d"; +} +.uk-icon-unlock-alt:before { + content: "\f13e"; +} +.uk-icon-bullseye:before { + content: "\f140"; +} +.uk-icon-ellipsis-h:before { + content: "\f141"; +} +.uk-icon-ellipsis-v:before { + content: "\f142"; +} +.uk-icon-rss-square:before { + content: "\f143"; +} +.uk-icon-play-circle:before { + content: "\f144"; +} +.uk-icon-ticket:before { + content: "\f145"; +} +.uk-icon-minus-square:before { + content: "\f146"; +} +.uk-icon-minus-square-o:before { + content: "\f147"; +} +.uk-icon-level-up:before { + content: "\f148"; +} +.uk-icon-level-down:before { + content: "\f149"; +} +.uk-icon-check-square:before { + content: "\f14a"; +} +.uk-icon-pencil-square:before { + content: "\f14b"; +} +.uk-icon-external-link-square:before { + content: "\f14c"; +} +.uk-icon-share-square:before { + content: "\f14d"; +} +.uk-icon-compass:before { + content: "\f14e"; +} +.uk-icon-toggle-down:before, +.uk-icon-caret-square-o-down:before { + content: "\f150"; +} +.uk-icon-toggle-up:before, +.uk-icon-caret-square-o-up:before { + content: "\f151"; +} +.uk-icon-toggle-right:before, +.uk-icon-caret-square-o-right:before { + content: "\f152"; +} +.uk-icon-euro:before, +.uk-icon-eur:before { + content: "\f153"; +} +.uk-icon-gbp:before { + content: "\f154"; +} +.uk-icon-dollar:before, +.uk-icon-usd:before { + content: "\f155"; +} +.uk-icon-rupee:before, +.uk-icon-inr:before { + content: "\f156"; +} +.uk-icon-cny:before, +.uk-icon-rmb:before, +.uk-icon-yen:before, +.uk-icon-jpy:before { + content: "\f157"; +} +.uk-icon-ruble:before, +.uk-icon-rouble:before, +.uk-icon-rub:before { + content: "\f158"; +} +.uk-icon-won:before, +.uk-icon-krw:before { + content: "\f159"; +} +.uk-icon-bitcoin:before, +.uk-icon-btc:before { + content: "\f15a"; +} +.uk-icon-file:before { + content: "\f15b"; +} +.uk-icon-file-text:before { + content: "\f15c"; +} +.uk-icon-sort-alpha-asc:before { + content: "\f15d"; +} +.uk-icon-sort-alpha-desc:before { + content: "\f15e"; +} +.uk-icon-sort-amount-asc:before { + content: "\f160"; +} +.uk-icon-sort-amount-desc:before { + content: "\f161"; +} +.uk-icon-sort-numeric-asc:before { + content: "\f162"; +} +.uk-icon-sort-numeric-desc:before { + content: "\f163"; +} +.uk-icon-thumbs-up:before { + content: "\f164"; +} +.uk-icon-thumbs-down:before { + content: "\f165"; +} +.uk-icon-youtube-square:before { + content: "\f166"; +} +.uk-icon-youtube:before { + content: "\f167"; +} +.uk-icon-xing:before { + content: "\f168"; +} +.uk-icon-xing-square:before { + content: "\f169"; +} +.uk-icon-youtube-play:before { + content: "\f16a"; +} +.uk-icon-dropbox:before { + content: "\f16b"; +} +.uk-icon-stack-overflow:before { + content: "\f16c"; +} +.uk-icon-instagram:before { + content: "\f16d"; +} +.uk-icon-flickr:before { + content: "\f16e"; +} +.uk-icon-adn:before { + content: "\f170"; +} +.uk-icon-bitbucket:before { + content: "\f171"; +} +.uk-icon-bitbucket-square:before { + content: "\f172"; +} +.uk-icon-tumblr:before { + content: "\f173"; +} +.uk-icon-tumblr-square:before { + content: "\f174"; +} +.uk-icon-long-arrow-down:before { + content: "\f175"; +} +.uk-icon-long-arrow-up:before { + content: "\f176"; +} +.uk-icon-long-arrow-left:before { + content: "\f177"; +} +.uk-icon-long-arrow-right:before { + content: "\f178"; +} +.uk-icon-apple:before { + content: "\f179"; +} +.uk-icon-windows:before { + content: "\f17a"; +} +.uk-icon-android:before { + content: "\f17b"; +} +.uk-icon-linux:before { + content: "\f17c"; +} +.uk-icon-dribbble:before { + content: "\f17d"; +} +.uk-icon-skype:before { + content: "\f17e"; +} +.uk-icon-foursquare:before { + content: "\f180"; +} +.uk-icon-trello:before { + content: "\f181"; +} +.uk-icon-female:before { + content: "\f182"; +} +.uk-icon-male:before { + content: "\f183"; +} +.uk-icon-gittip:before, +.uk-icon-gratipay:before { + content: "\f184"; +} +.uk-icon-sun-o:before { + content: "\f185"; +} +.uk-icon-moon-o:before { + content: "\f186"; +} +.uk-icon-archive:before { + content: "\f187"; +} +.uk-icon-bug:before { + content: "\f188"; +} +.uk-icon-vk:before { + content: "\f189"; +} +.uk-icon-weibo:before { + content: "\f18a"; +} +.uk-icon-renren:before { + content: "\f18b"; +} +.uk-icon-pagelines:before { + content: "\f18c"; +} +.uk-icon-stack-exchange:before { + content: "\f18d"; +} +.uk-icon-arrow-circle-o-right:before { + content: "\f18e"; +} +.uk-icon-arrow-circle-o-left:before { + content: "\f190"; +} +.uk-icon-toggle-left:before, +.uk-icon-caret-square-o-left:before { + content: "\f191"; +} +.uk-icon-dot-circle-o:before { + content: "\f192"; +} +.uk-icon-wheelchair:before { + content: "\f193"; +} +.uk-icon-vimeo-square:before { + content: "\f194"; +} +.uk-icon-turkish-lira:before, +.uk-icon-try:before { + content: "\f195"; +} +.uk-icon-plus-square-o:before { + content: "\f196"; +} +.uk-icon-space-shuttle:before { + content: "\f197"; +} +.uk-icon-slack:before { + content: "\f198"; +} +.uk-icon-envelope-square:before { + content: "\f199"; +} +.uk-icon-wordpress:before { + content: "\f19a"; +} +.uk-icon-openid:before { + content: "\f19b"; +} +.uk-icon-institution:before, +.uk-icon-bank:before, +.uk-icon-university:before { + content: "\f19c"; +} +.uk-icon-mortar-board:before, +.uk-icon-graduation-cap:before { + content: "\f19d"; +} +.uk-icon-yahoo:before { + content: "\f19e"; +} +.uk-icon-google:before { + content: "\f1a0"; +} +.uk-icon-reddit:before { + content: "\f1a1"; +} +.uk-icon-reddit-square:before { + content: "\f1a2"; +} +.uk-icon-stumbleupon-circle:before { + content: "\f1a3"; +} +.uk-icon-stumbleupon:before { + content: "\f1a4"; +} +.uk-icon-delicious:before { + content: "\f1a5"; +} +.uk-icon-digg:before { + content: "\f1a6"; +} +.uk-icon-pied-piper:before { + content: "\f1a7"; +} +.uk-icon-pied-piper-alt:before { + content: "\f1a8"; +} +.uk-icon-drupal:before { + content: "\f1a9"; +} +.uk-icon-joomla:before { + content: "\f1aa"; +} +.uk-icon-language:before { + content: "\f1ab"; +} +.uk-icon-fax:before { + content: "\f1ac"; +} +.uk-icon-building:before { + content: "\f1ad"; +} +.uk-icon-child:before { + content: "\f1ae"; +} +.uk-icon-paw:before { + content: "\f1b0"; +} +.uk-icon-spoon:before { + content: "\f1b1"; +} +.uk-icon-cube:before { + content: "\f1b2"; +} +.uk-icon-cubes:before { + content: "\f1b3"; +} +.uk-icon-behance:before { + content: "\f1b4"; +} +.uk-icon-behance-square:before { + content: "\f1b5"; +} +.uk-icon-steam:before { + content: "\f1b6"; +} +.uk-icon-steam-square:before { + content: "\f1b7"; +} +.uk-icon-recycle:before { + content: "\f1b8"; +} +.uk-icon-automobile:before, +.uk-icon-car:before { + content: "\f1b9"; +} +.uk-icon-cab:before, +.uk-icon-taxi:before { + content: "\f1ba"; +} +.uk-icon-tree:before { + content: "\f1bb"; +} +.uk-icon-spotify:before { + content: "\f1bc"; +} +.uk-icon-deviantart:before { + content: "\f1bd"; +} +.uk-icon-soundcloud:before { + content: "\f1be"; +} +.uk-icon-database:before { + content: "\f1c0"; +} +.uk-icon-file-pdf-o:before { + content: "\f1c1"; +} +.uk-icon-file-word-o:before { + content: "\f1c2"; +} +.uk-icon-file-excel-o:before { + content: "\f1c3"; +} +.uk-icon-file-powerpoint-o:before { + content: "\f1c4"; +} +.uk-icon-file-photo-o:before, +.uk-icon-file-picture-o:before, +.uk-icon-file-image-o:before { + content: "\f1c5"; +} +.uk-icon-file-zip-o:before, +.uk-icon-file-archive-o:before { + content: "\f1c6"; +} +.uk-icon-file-sound-o:before, +.uk-icon-file-audio-o:before { + content: "\f1c7"; +} +.uk-icon-file-movie-o:before, +.uk-icon-file-video-o:before { + content: "\f1c8"; +} +.uk-icon-file-code-o:before { + content: "\f1c9"; +} +.uk-icon-vine:before { + content: "\f1ca"; +} +.uk-icon-codepen:before { + content: "\f1cb"; +} +.uk-icon-jsfiddle:before { + content: "\f1cc"; +} +.uk-icon-life-bouy:before, +.uk-icon-life-buoy:before, +.uk-icon-life-saver:before, +.uk-icon-support:before, +.uk-icon-life-ring:before { + content: "\f1cd"; +} +.uk-icon-circle-o-notch:before { + content: "\f1ce"; +} +.uk-icon-ra:before, +.uk-icon-rebel:before { + content: "\f1d0"; +} +.uk-icon-ge:before, +.uk-icon-empire:before { + content: "\f1d1"; +} +.uk-icon-git-square:before { + content: "\f1d2"; +} +.uk-icon-git:before { + content: "\f1d3"; +} +.uk-icon-hacker-news:before { + content: "\f1d4"; +} +.uk-icon-tencent-weibo:before { + content: "\f1d5"; +} +.uk-icon-qq:before { + content: "\f1d6"; +} +.uk-icon-wechat:before, +.uk-icon-weixin:before { + content: "\f1d7"; +} +.uk-icon-send:before, +.uk-icon-paper-plane:before { + content: "\f1d8"; +} +.uk-icon-send-o:before, +.uk-icon-paper-plane-o:before { + content: "\f1d9"; +} +.uk-icon-history:before { + content: "\f1da"; +} +.uk-icon-genderless:before, +.uk-icon-circle-thin:before { + content: "\f1db"; +} +.uk-icon-header:before { + content: "\f1dc"; +} +.uk-icon-paragraph:before { + content: "\f1dd"; +} +.uk-icon-sliders:before { + content: "\f1de"; +} +.uk-icon-share-alt:before { + content: "\f1e0"; +} +.uk-icon-share-alt-square:before { + content: "\f1e1"; +} +.uk-icon-bomb:before { + content: "\f1e2"; +} +.uk-icon-soccer-ball-o:before, +.uk-icon-futbol-o:before { + content: "\f1e3"; +} +.uk-icon-tty:before { + content: "\f1e4"; +} +.uk-icon-binoculars:before { + content: "\f1e5"; +} +.uk-icon-plug:before { + content: "\f1e6"; +} +.uk-icon-slideshare:before { + content: "\f1e7"; +} +.uk-icon-twitch:before { + content: "\f1e8"; +} +.uk-icon-yelp:before { + content: "\f1e9"; +} +.uk-icon-newspaper-o:before { + content: "\f1ea"; +} +.uk-icon-wifi:before { + content: "\f1eb"; +} +.uk-icon-calculator:before { + content: "\f1ec"; +} +.uk-icon-paypal:before { + content: "\f1ed"; +} +.uk-icon-google-wallet:before { + content: "\f1ee"; +} +.uk-icon-cc-visa:before { + content: "\f1f0"; +} +.uk-icon-cc-mastercard:before { + content: "\f1f1"; +} +.uk-icon-cc-discover:before { + content: "\f1f2"; +} +.uk-icon-cc-amex:before { + content: "\f1f3"; +} +.uk-icon-cc-paypal:before { + content: "\f1f4"; +} +.uk-icon-cc-stripe:before { + content: "\f1f5"; +} +.uk-icon-bell-slash:before { + content: "\f1f6"; +} +.uk-icon-bell-slash-o:before { + content: "\f1f7"; +} +.uk-icon-trash:before { + content: "\f1f8"; +} +.uk-icon-copyright:before { + content: "\f1f9"; +} +.uk-icon-at:before { + content: "\f1fa"; +} +.uk-icon-eyedropper:before { + content: "\f1fb"; +} +.uk-icon-paint-brush:before { + content: "\f1fc"; +} +.uk-icon-birthday-cake:before { + content: "\f1fd"; +} +.uk-icon-area-chart:before { + content: "\f1fe"; +} +.uk-icon-pie-chart:before { + content: "\f200"; +} +.uk-icon-line-chart:before { + content: "\f201"; +} +.uk-icon-lastfm:before { + content: "\f202"; +} +.uk-icon-lastfm-square:before { + content: "\f203"; +} +.uk-icon-toggle-off:before { + content: "\f204"; +} +.uk-icon-toggle-on:before { + content: "\f205"; +} +.uk-icon-bicycle:before { + content: "\f206"; +} +.uk-icon-bus:before { + content: "\f207"; +} +.uk-icon-ioxhost:before { + content: "\f208"; +} +.uk-icon-angellist:before { + content: "\f209"; +} +.uk-icon-cc:before { + content: "\f20a"; +} +.uk-icon-shekel:before, +.uk-icon-sheqel:before, +.uk-icon-ils:before { + content: "\f20b"; +} +.uk-icon-meanpath:before { + content: "\f20c"; +} +.uk-icon-buysellads:before { + content: "\f20d"; +} +.uk-icon-connectdevelop:before { + content: "\f20e"; +} +.uk-icon-dashcube:before { + content: "\f210"; +} +.uk-icon-forumbee:before { + content: "\f211"; +} +.uk-icon-leanpub:before { + content: "\f212"; +} +.uk-icon-sellsy:before { + content: "\f213"; +} +.uk-icon-shirtsinbulk:before { + content: "\f214"; +} +.uk-icon-simplybuilt:before { + content: "\f215"; +} +.uk-icon-skyatlas:before { + content: "\f216"; +} +.uk-icon-cart-plus:before { + content: "\f217"; +} +.uk-icon-cart-arrow-down:before { + content: "\f218"; +} +.uk-icon-diamond:before { + content: "\f219"; +} +.uk-icon-ship:before { + content: "\f21a"; +} +.uk-icon-user-secret:before { + content: "\f21b"; +} +.uk-icon-motorcycle:before { + content: "\f21c"; +} +.uk-icon-street-view:before { + content: "\f21d"; +} +.uk-icon-heartbeat:before { + content: "\f21e"; +} +.uk-icon-venus:before { + content: "\f221"; +} +.uk-icon-mars:before { + content: "\f222"; +} +.uk-icon-mercury:before { + content: "\f223"; +} +.uk-icon-transgender:before { + content: "\f224"; +} +.uk-icon-transgender-alt:before { + content: "\f225"; +} +.uk-icon-venus-double:before { + content: "\f226"; +} +.uk-icon-mars-double:before { + content: "\f227"; +} +.uk-icon-venus-mars:before { + content: "\f228"; +} +.uk-icon-mars-stroke:before { + content: "\f229"; +} +.uk-icon-mars-stroke-v:before { + content: "\f22a"; +} +.uk-icon-mars-stroke-h:before { + content: "\f22b"; +} +.uk-icon-neuter:before { + content: "\f22c"; +} +.uk-icon-facebook-official:before { + content: "\f230"; +} +.uk-icon-pinterest-p:before { + content: "\f231"; +} +.uk-icon-whatsapp:before { + content: "\f232"; +} +.uk-icon-server:before { + content: "\f233"; +} +.uk-icon-user-plus:before { + content: "\f234"; +} +.uk-icon-user-times:before { + content: "\f235"; +} +.uk-icon-hotel:before, +.uk-icon-bed:before { + content: "\f236"; +} +.uk-icon-viacoin:before { + content: "\f237"; +} +.uk-icon-train:before { + content: "\f238"; +} +.uk-icon-subway:before { + content: "\f239"; +} +.uk-icon-medium-logo:before { + content: "\f23a"; +} +.uk-icon-500px:before { + content: "\f26e"; +} +.uk-icon-amazon:before { + content: "\f270"; +} +.uk-icon-balance-scale:before { + content: "\f24e"; +} +.uk-icon-battery-empty:before, +.uk-icon-battery-0:before { + content: "\f244"; +} +.uk-icon-battery-quarter:before, +.uk-icon-battery-1:before { + content: "\f243"; +} +.uk-icon-battery-half:before, +.uk-icon-battery-2:before { + content: "\f242"; +} +.uk-icon-battery-three-quarters:before, +.uk-icon-battery-3:before { + content: "\f241"; +} +.uk-icon-battery-full:before, +.uk-icon-battery-4:before { + content: "\f240"; +} +.uk-icon-black-tie:before { + content: "\f27e"; +} +.uk-icon-calendar-check-o:before { + content: "\f274"; +} +.uk-icon-calendar-minus-o:before { + content: "\f272"; +} +.uk-icon-calendar-plus-o:before { + content: "\f271"; +} +.uk-icon-calendar-times-o:before { + content: "\f273"; +} +.uk-icon-cc-diners-club:before { + content: "\f24c"; +} +.uk-icon-cc-jcb:before { + content: "\f24b"; +} +.uk-icon-chrome:before { + content: "\f268"; +} +.uk-icon-clone:before { + content: "\f24d"; +} +.uk-icon-commenting:before { + content: "\f27a"; +} +.uk-icon-commenting-o:before { + content: "\f27b"; +} +.uk-icon-contao:before { + content: "\f26d"; +} +.uk-icon-creative-commons:before { + content: "\f25e"; +} +.uk-icon-expeditedssl:before { + content: "\f23e"; +} +.uk-icon-firefox:before { + content: "\f269"; +} +.uk-icon-fonticons:before { + content: "\f280"; +} +.uk-icon-get-pocket:before { + content: "\f265"; +} +.uk-icon-gg:before { + content: "\f260"; +} +.uk-icon-gg-circle:before { + content: "\f261"; +} +.uk-icon-hand-lizard-o:before { + content: "\f258"; +} +.uk-icon-hand-stop-o:before, +.uk-icon-hand-paper-o:before { + content: "\f256"; +} +.uk-icon-hand-peace-o:before { + content: "\f25b"; +} +.uk-icon-hand-pointer-o:before { + content: "\f25a"; +} +.uk-icon-hand-grab-o:before, +.uk-icon-hand-rock-o:before { + content: "\f255"; +} +.uk-icon-hand-scissors-o:before { + content: "\f257"; +} +.uk-icon-hand-spock-o:before { + content: "\f259"; +} +.uk-icon-hourglass:before { + content: "\f254"; +} +.uk-icon-hourglass-o:before { + content: "\f250"; +} +.uk-icon-hourglass-1:before, +.uk-icon-hourglass-start:before { + content: "\f251"; +} +.uk-icon-hourglass-2:before, +.uk-icon-hourglass-half:before { + content: "\f252"; +} +.uk-icon-hourglass-3:before, +.uk-icon-hourglass-end:before { + content: "\f253"; +} +.uk-icon-houzz:before { + content: "\f27c"; +} +.uk-icon-i-cursor:before { + content: "\f246"; +} +.uk-icon-industry:before { + content: "\f275"; +} +.uk-icon-internet-explorer:before { + content: "\f26b"; +} +.uk-icon-map:before { + content: "\f279"; +} +.uk-icon-map-o:before { + content: "\f278"; +} +.uk-icon-map-pin:before { + content: "\f276"; +} +.uk-icon-map-signs:before { + content: "\f277"; +} +.uk-icon-mouse-pointer:before { + content: "\f245"; +} +.uk-icon-object-group:before { + content: "\f247"; +} +.uk-icon-object-ungroup:before { + content: "\f248"; +} +.uk-icon-odnoklassniki:before { + content: "\f263"; +} +.uk-icon-odnoklassniki-square:before { + content: "\f264"; +} +.uk-icon-opencart:before { + content: "\f23d"; +} +.uk-icon-opera:before { + content: "\f26a"; +} +.uk-icon-optin-monster:before { + content: "\f23c"; +} +.uk-icon-registered:before { + content: "\f25d"; +} +.uk-icon-safari:before { + content: "\f267"; +} +.uk-icon-sticky-note:before { + content: "\f249"; +} +.uk-icon-sticky-note-o:before { + content: "\f24a"; +} +.uk-icon-tv:before, +.uk-icon-television:before { + content: "\f26c"; +} +.uk-icon-trademark:before { + content: "\f25c"; +} +.uk-icon-tripadvisor:before { + content: "\f262"; +} +.uk-icon-vimeo:before { + content: "\f27d"; +} +.uk-icon-wikipedia-w:before { + content: "\f266"; +} +.uk-icon-yc:before, +.uk-icon-y-combinator:before { + content: "\f23b"; +} +.uk-icon-yc-square:before, +.uk-icon-y-combinator-square:before { + content: "\f1d4"; +} +.uk-icon-bluetooth:before { + content: "\f293"; +} +.uk-icon-bluetooth-b:before { + content: "\f294"; +} +.uk-icon-codiepie:before { + content: "\f284"; +} +.uk-icon-credit-card-alt:before { + content: "\f283"; +} +.uk-icon-edge:before { + content: "\f282"; +} +.uk-icon-fort-awesome:before { + content: "\f286"; +} +.uk-icon-hashtag:before { + content: "\f292"; +} +.uk-icon-mixcloud:before { + content: "\f289"; +} +.uk-icon-modx:before { + content: "\f285"; +} +.uk-icon-pause-circle:before { + content: "\f28b"; +} +.uk-icon-pause-circle-o:before { + content: "\f28c"; +} +.uk-icon-percent:before { + content: "\f295"; +} +.uk-icon-product-hunt:before { + content: "\f288"; +} +.uk-icon-reddit-alien:before { + content: "\f281"; +} +.uk-icon-scribd:before { + content: "\f28a"; +} +.uk-icon-shopping-bag:before { + content: "\f290"; +} +.uk-icon-shopping-basket:before { + content: "\f291"; +} +.uk-icon-stop-circle:before { + content: "\f28d"; +} +.uk-icon-stop-circle-o:before { + content: "\f28e"; +} +.uk-icon-usb:before { + content: "\f287"; +} +.uk-icon-american-sign-language-interpreting:before, +.uk-icon-asl-interpreting:before { + content: "\f2a3"; +} +.uk-icon-assistive-listening-systems:before { + content: "\f2a2"; +} +.uk-icon-audio-description:before { + content: "\f29e"; +} +.uk-icon-blind:before { + content: "\f29d"; +} +.uk-icon-braille:before { + content: "\f2a1"; +} +.uk-icon-deaf:before, +.uk-icon-deafness:before { + content: "\f2a4"; +} +.uk-icon-envira:before { + content: "\f299"; +} +.uk-icon-font-awesome:before, +.uk-icon-fa:before { + content: "\f2b4"; +} +.uk-icon-first-order:before { + content: "\f2b0"; +} +.uk-icon-gitlab:before { + content: "\f296"; +} +.uk-icon-glide:before { + content: "\f2a5"; +} +.uk-icon-glide-g:before { + content: "\f2a6"; +} +.uk-icon-hard-of-hearing:before { + content: "\f2a4"; +} +.uk-icon-low-vision:before { + content: "\f2a8"; +} +.uk-icon-question-circle-o:before { + content: "\f29c"; +} +.uk-icon-sign-language:before, +.uk-icon-signing:before { + content: "\f2a7"; +} +.uk-icon-snapchat:before { + content: "\f2ab"; +} +.uk-icon-snapchat-ghost:before { + content: "\f2ac"; +} +.uk-icon-snapchat-square:before { + content: "\f2ad"; +} +.uk-icon-themeisle:before { + content: "\f2b2"; +} +.uk-icon-universal-access:before { + content: "\f29a"; +} +.uk-icon-viadeo:before { + content: "\f2a9"; +} +.uk-icon-viadeo-square:before { + content: "\f2aa"; +} +.uk-icon-volume-control-phone:before { + content: "\f2a0"; +} +.uk-icon-wheelchair-alt:before { + content: "\f29b"; +} +.uk-icon-wpbeginner:before { + content: "\f297"; +} +.uk-icon-wpforms:before { + content: "\f298"; +} +.uk-icon-yoast:before { + content: "\f2b1"; +} +.uk-icon-adress-book:before { + content: "\f2b9"; +} +.uk-icon-adress-book-o:before { + content: "\f2ba"; +} +.uk-icon-adress-card:before { + content: "\f2bb"; +} +.uk-icon-adress-card-o:before { + content: "\f2bc"; +} +.uk-icon-bandcamp:before { + content: "\f2d5"; +} +.uk-icon-bath:before { + content: "\f2cd"; +} +.uk-icon-bathub:before { + content: "\f2cd"; +} +.uk-icon-drivers-license:before { + content: "\f2c2"; +} +.uk-icon-drivers-license-o:before { + content: "\f2c3"; +} +.uk-icon-eercast:before { + content: "\f2da"; +} +.uk-icon-envelope-open:before { + content: "\f2b6"; +} +.uk-icon-envelope-open-o:before { + content: "\f2b7"; +} +.uk-icon-etsy:before { + content: "\f2d7"; +} +.uk-icon-free-code-camp:before { + content: "\f2c5"; +} +.uk-icon-grav:before { + content: "\f2d6"; +} +.uk-icon-handshake-o:before { + content: "\f2b5"; +} +.uk-icon-id-badge:before { + content: "\f2c1"; +} +.uk-icon-id-card:before { + content: "\f2c2"; +} +.uk-icon-id-card-o:before { + content: "\f2c3"; +} +.uk-icon-imdb:before { + content: "\f2d8"; +} +.uk-icon-linode:before { + content: "\f2b8"; +} +.uk-icon-meetup:before { + content: "\f2e0"; +} +.uk-icon-microchip:before { + content: "\f2db"; +} +.uk-icon-podcast:before { + content: "\f2ce"; +} +.uk-icon-quora:before { + content: "\f2c4"; +} +.uk-icon-ravelry:before { + content: "\f2d9"; +} +.uk-icon-s15:before { + content: "\f2cd"; +} +.uk-icon-shower:before { + content: "\f2cc"; +} +.uk-icon-snowflake-o:before { + content: "\f2dc"; +} +.uk-icon-superpowers:before { + content: "\f2dd"; +} +.uk-icon-telegram:before { + content: "\f2c6"; +} +.uk-icon-thermometer:before { + content: "\f2c7"; +} +.uk-icon-thermometer-0:before { + content: "\f2cb"; +} +.uk-icon-thermometer-1:before { + content: "\f2ca"; +} +.uk-icon-thermometer-2:before { + content: "\f2c9"; +} +.uk-icon-thermometer-3:before { + content: "\f2c8"; +} +.uk-icon-thermometer-4:before { + content: "\f2c7"; +} +.uk-icon-thermometer-empty:before { + content: "\f2cb"; +} +.uk-icon-thermometer-full:before { + content: "\f2c7"; +} +.uk-icon-thermometer-half:before { + content: "\f2c9"; +} +.uk-icon-thermometer-quarter:before { + content: "\f2ca"; +} +.uk-icon-thermometer-three-quarters:before { + content: "\f2c8"; +} +.uk-icon-times-rectangle:before { + content: "\f2d3"; +} +.uk-icon-times-rectangle-o:before { + content: "\f2d4"; +} +.uk-icon-user-circle:before { + content: "\f2bd"; +} +.uk-icon-user-circle-o:before { + content: "\f2be"; +} +.uk-icon-user-o:before { + content: "\f2c0"; +} +.uk-icon-vcard:before { + content: "\f2bb"; +} +.uk-icon-vcard-o:before { + content: "\f2bc"; +} +.uk-icon-widow-close:before { + content: "\f2d3"; +} +.uk-icon-widow-close-o:before { + content: "\f2d4"; +} +.uk-icon-window-maximize:before { + content: "\f2d0"; +} +.uk-icon-window-minimize:before { + content: "\f2d1"; +} +.uk-icon-window-restore:before { + content: "\f2d2"; +} +.uk-icon-wpexplorer:before { + content: "\f2de"; +} +/* ======================================================================== + Component: Close + ========================================================================== */ +/* + * Removes inner padding and border in Firefox 4+. + */ +.uk-close::-moz-focus-inner { + border: 0; + padding: 0; +} +/* + * 1. Correct inability to style clickable `input` types in iOS. + * 2. Remove margins in Chrome, Safari and Opera. + * 3. Remove borders for `button`. + * 4. Address `overflow` set to `hidden` in IE 8/9/10/11. + * 5. Correct `font` properties and `color` not being inherited for `button`. + * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE + * 7. Remove default `button` padding and background color + * 8. Style + */ +.uk-close { + /* 1 */ + -webkit-appearance: none; + /* 2 */ + margin: 0; + /* 3 */ + border: none; + /* 4 */ + overflow: visible; + /* 5 */ + font: inherit; + color: inherit; + /* 6 */ + text-transform: none; + /* 7. */ + padding: 0; + background: transparent; + /* 8 */ + display: inline-block; + box-sizing: content-box; + width: 20px; + line-height: 20px; + text-align: center; + vertical-align: middle; + opacity: 0.3; +} +/* Icon */ +.uk-close:after { + display: block; + content: "\f00d"; + font-family: FontAwesome; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + */ +.uk-close:hover, +.uk-close:focus { + opacity: 0.5; + /* 2 */ + outline: none; + /* 3 */ + color: inherit; + text-decoration: none; + cursor: pointer; +} +/* Modifier + ========================================================================== */ +.uk-close-alt { + padding: 2px; + border-radius: 50%; + background: #eee; + opacity: 1; +} +/* Hover */ +.uk-close-alt:hover, +.uk-close-alt:focus { + opacity: 1; +} +/* Icon */ +.uk-close-alt:after { + opacity: 0.5; +} +.uk-close-alt:hover:after, +.uk-close-alt:focus:after { + opacity: 0.8; +} +/* ======================================================================== + Component: Badge + ========================================================================== */ +.uk-badge { + display: inline-block; + padding: 0 5px; + background: #00a8e6; + font-size: 10px; + font-weight: bold; + line-height: 14px; + color: #fff; + text-align: center; + vertical-align: middle; + text-transform: none; +} +/* + * Keep color when badge is a link + */ +a.uk-badge:hover { + color: #fff; +} +/* Modifier: `uk-badge-notification`; + ========================================================================== */ +.uk-badge-notification { + box-sizing: border-box; + min-width: 18px; + border-radius: 500px; + font-size: 12px; + line-height: 18px; +} +/* Color modifier + ========================================================================== */ +/* + * Modifier: `uk-badge-success` + */ +.uk-badge-success { + background-color: #8cc14c; +} +/* + * Modifier: `uk-badge-warning` + */ +.uk-badge-warning { + background-color: #faa732; +} +/* + * Modifier: `uk-badge-danger` + */ +.uk-badge-danger { + background-color: #da314b; +} +/* ======================================================================== + Component: Alert + ========================================================================== */ +.uk-alert { + margin-bottom: 15px; + padding: 10px; + background: #ebf7fd; + color: #2d7091; +} +/* + * Add margin if adjacent element + */ +* + .uk-alert { + margin-top: 15px; +} +/* + * Remove margin from the last-child + */ +.uk-alert > :last-child { + margin-bottom: 0; +} +/* + * Keep color for headings if the default heading color is changed + */ +.uk-alert h1, +.uk-alert h2, +.uk-alert h3, +.uk-alert h4, +.uk-alert h5, +.uk-alert h6 { + color: inherit; +} +/* Close in alert + ========================================================================== */ +.uk-alert > .uk-close:first-child { + float: right; +} +/* + * Remove margin from adjacent element + */ +.uk-alert > .uk-close:first-child + * { + margin-top: 0; +} +/* Modifier: `uk-alert-success` + ========================================================================== */ +.uk-alert-success { + background: #f2fae3; + color: #659f13; +} +/* Modifier: `uk-alert-warning` + ========================================================================== */ +.uk-alert-warning { + background: #fffceb; + color: #e28327; +} +/* Modifier: `uk-alert-danger` + ========================================================================== */ +.uk-alert-danger { + background: #fff1f0; + color: #d85030; +} +/* Modifier: `uk-alert-large` + ========================================================================== */ +.uk-alert-large { + padding: 20px; +} +.uk-alert-large > .uk-close:first-child { + margin: -10px -10px 0 0; +} +/* ======================================================================== + Component: Thumbnail + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Responsive behavior + * 3. Corrects `max-width` behavior sed + * 4. Required for `figure` element + * 5. Style + */ +.uk-thumbnail { + /* 1 */ + display: inline-block; + /* 2 */ + max-width: 100%; + /* 3 */ + box-sizing: border-box; + /* 3 */ + margin: 0; + /* 4 */ + padding: 4px; + border: 1px solid #ddd; + background: #fff; +} +/* + * Hover state for `a` elements + * 1. Apply hover style also to focus state + * 2. Needed for caption + * 3. Remove default focus style + */ +a.uk-thumbnail:hover, +a.uk-thumbnail:focus { + border-color: #aaaaaa; + background-color: #fff; + /* 2 */ + text-decoration: none; + /* 3 */ + outline: none; +} +/* Caption + ========================================================================== */ +.uk-thumbnail-caption { + padding-top: 4px; + text-align: center; + color: #444; +} +/* Sizes + ========================================================================== */ +.uk-thumbnail-mini { + width: 150px; +} +.uk-thumbnail-small { + width: 200px; +} +.uk-thumbnail-medium { + width: 300px; +} +.uk-thumbnail-large { + width: 400px; +} +.uk-thumbnail-expand, +.uk-thumbnail-expand > img { + width: 100%; +} +/* ======================================================================== + Component: Overlay + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Set max-width for responsive images to prevent `inline-block` consequences + * 4. Remove the gap between the container and its child element + * 5. Needed for transitions and to fixed wrong scaling calculation for images in Chrome + * 6. Fixed `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit + * 7. Reset margin + */ +.uk-overlay { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; + /* 4 */ + vertical-align: middle; + /* 5 */ + overflow: hidden; + /* 6 */ + -webkit-transform: translateZ(0); + /* 7 */ + margin: 0; +} +/* 6 for Safari */ +.uk-overlay.uk-border-circle { + -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%); +} +/* + * Remove margin from content + */ +.uk-overlay > :first-child { + margin-bottom: 0; +} +/* Sub-object `uk-overlay-panel` + ========================================================================== */ +/* + * 1. Position cover + * 2. Style + */ +.uk-overlay-panel { + /* 1 */ + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + padding: 20px; + color: #fff; +} +/* + * Remove margin from the last-child + */ +.uk-overlay-panel > :last-child, +.uk-overlay-panel.uk-flex > * > :last-child { + margin-bottom: 0; +} +/* + * Keep color for headings if the default heading color is changed + */ +.uk-overlay-panel h1, +.uk-overlay-panel h2, +.uk-overlay-panel h3, +.uk-overlay-panel h4, +.uk-overlay-panel h5, +.uk-overlay-panel h6 { + color: inherit; +} +.uk-overlay-panel a:not([class]) { + color: inherit; + text-decoration: underline; +} +.uk-overlay-panel a[class*='uk-icon-']:not(.uk-icon-button) { + color: inherit; +} +/* Sub-object `uk-overlay-hover` and `uk-overlay-active` + ========================================================================== */ +.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore) { + opacity: 0; +} +.uk-overlay-active :not(.uk-active) > .uk-overlay-panel:not(.uk-ignore) { + opacity: 0; +} +/* Modifier `uk-overlay-background` + ========================================================================== */ +.uk-overlay-background { + background: rgba(0, 0, 0, 0.5); +} +/* Modifier `uk-overlay-image` + ========================================================================== */ +/* + * Reset panel + */ +.uk-overlay-image { + padding: 0; +} +/* Position modifiers + ========================================================================== */ +.uk-overlay-top { + bottom: auto; +} +.uk-overlay-bottom { + top: auto; +} +.uk-overlay-left { + right: auto; +} +.uk-overlay-right { + left: auto; +} +/* Sub-object `uk-overlay-icon` + ========================================================================== */ +.uk-overlay-icon:before { + content: "\f002"; + position: absolute; + top: 50%; + left: 50%; + width: 50px; + height: 50px; + margin-top: -25px; + margin-left: -25px; + font-size: 50px; + line-height: 1; + font-family: FontAwesome; + text-align: center; + color: #fff; +} +/* Transitions + ========================================================================== */ +.uk-overlay-fade, +.uk-overlay-scale, +.uk-overlay-spin, +.uk-overlay-grayscale, +.uk-overlay-blur, +[class*='uk-overlay-slide'] { + transition-duration: 0.3s; + transition-timing-function: ease-out; + transition-property: opacity, transform, filter; +} +.uk-overlay-active .uk-overlay-fade, +.uk-overlay-active .uk-overlay-scale, +.uk-overlay-active .uk-overlay-spin, +.uk-overlay-active [class*='uk-overlay-slide'] { + transition-duration: 0.8s; +} +/* + * Fade + */ +.uk-overlay-fade { + opacity: 0.7; +} +.uk-overlay-hover:hover .uk-overlay-fade, +.uk-overlay-hover.uk-hover .uk-overlay-fade, +.uk-overlay-active .uk-active > .uk-overlay-fade { + opacity: 1; +} +/* + * Scale + */ +.uk-overlay-scale { + -webkit-transform: scale(1); + transform: scale(1); +} +.uk-overlay-hover:hover .uk-overlay-scale, +.uk-overlay-hover.uk-hover .uk-overlay-scale, +.uk-overlay-active .uk-active > .uk-overlay-scale { + -webkit-transform: scale(1.1); + transform: scale(1.1); +} +/* + * Spin + */ +.uk-overlay-spin { + -webkit-transform: scale(1) rotate(0deg); + transform: scale(1) rotate(0deg); +} +.uk-overlay-hover:hover .uk-overlay-spin, +.uk-overlay-hover.uk-hover .uk-overlay-spin, +.uk-overlay-active .uk-active > .uk-overlay-spin { + -webkit-transform: scale(1.1) rotate(3deg); + transform: scale(1.1) rotate(3deg); +} +/* + * Grayscale + */ +.uk-overlay-grayscale { + -webkit-filter: grayscale(100%); + filter: grayscale(100%); +} +.uk-overlay-hover:hover .uk-overlay-grayscale, +.uk-overlay-hover.uk-hover .uk-overlay-grayscale, +.uk-overlay-active .uk-active > .uk-overlay-grayscale { + -webkit-filter: grayscale(0%); + filter: grayscale(0%); +} +/* + * Slide + */ +[class*='uk-overlay-slide'] { + opacity: 0; +} +/* Top */ +.uk-overlay-slide-top { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); +} +/* Bottom */ +.uk-overlay-slide-bottom { + -webkit-transform: translateY(100%); + transform: translateY(100%); +} +/* Left */ +.uk-overlay-slide-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} +/* Right */ +.uk-overlay-slide-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +/* Hover */ +.uk-overlay-hover:hover [class*='uk-overlay-slide'], +.uk-overlay-hover.uk-hover [class*='uk-overlay-slide'], +.uk-overlay-active .uk-active > [class*='uk-overlay-slide'] { + opacity: 1; + -webkit-transform: translateX(0) translateY(0); + transform: translateX(0) translateY(0); +} +/* DEPRECATED + * Sub-object `uk-overlay-area` + ========================================================================== */ +/* + * 1. Set position + * 2. Set style + * 3. Fade-in transition + */ +.uk-overlay-area { + /* 1 */ + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + background: rgba(0, 0, 0, 0.3); + /* 3 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + -webkit-transform: translate3d(0, 0, 0); +} +/* + * Hover + * 1. `uk-hover` to support touch devices + * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier + */ +.uk-overlay:hover .uk-overlay-area, +.uk-overlay.uk-hover .uk-overlay-area, +.uk-overlay-toggle:hover .uk-overlay-area, +.uk-overlay-toggle.uk-hover .uk-overlay-area { + opacity: 1; +} +/* + * Icon + */ +.uk-overlay-area:empty:before { + content: "\f002"; + position: absolute; + top: 50%; + left: 50%; + width: 50px; + height: 50px; + margin-top: -25px; + margin-left: -25px; + font-size: 50px; + line-height: 1; + font-family: FontAwesome; + text-align: center; + color: #fff; +} +/* DEPRECATED + * Sub-object `uk-overlay-area-content` + ========================================================================== */ +/* + * Remove whitespace between child elements when using `inline-block` + * Needed for Firefox + */ +.uk-overlay-area:not(:empty) { + font-size: 0.001px; +} +/* + * 1. Needed for vertical alignment + */ +.uk-overlay-area:not(:empty):before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} +/* + * 1. Set vertical alignment + * 2. Reset whitespace hack + * 3. Set horizontal alignment + * 4. Set style + */ +.uk-overlay-area-content { + /* 1 */ + display: inline-block; + box-sizing: border-box; + width: 100%; + vertical-align: middle; + /* 2 */ + font-size: 1rem; + /* 3 */ + text-align: center; + /* 4 */ + padding: 0 15px; + color: #fff; +} +/* + * Remove margin from the last-child + */ +.uk-overlay-area-content > :last-child { + margin-bottom: 0; +} +/* + * Links in overlay area + */ +.uk-overlay-area-content a:not([class]), +.uk-overlay-area-content a:not([class]):hover { + color: inherit; +} +/* DEPRECATED + * Sub-object `uk-overlay-caption` + ========================================================================== */ +/* + * 1. Set position + * 2. Set style + * 3. Fade-in transition + */ +.uk-overlay-caption { + /* 1 */ + position: absolute; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + padding: 15px; + background: rgba(0, 0, 0, 0.5); + color: #fff; + /* 3 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + -webkit-transform: translate3d(0, 0, 0); +} +/* + * Hover + * 1. `uk-hover` to support touch devices + * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier + */ +.uk-overlay:hover .uk-overlay-caption, +.uk-overlay.uk-hover .uk-overlay-caption, +.uk-overlay-toggle:hover .uk-overlay-caption, +.uk-overlay-toggle.uk-hover .uk-overlay-caption { + opacity: 1; +} +/* ======================================================================== + Component: Column + ========================================================================== */ +[class*='uk-column-'] { + -webkit-column-gap: 25px; + -moz-column-gap: 25px; + column-gap: 25px; +} +/* Width modifiers + ========================================================================== */ +.uk-column-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; +} +.uk-column-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; +} +.uk-column-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; +} +.uk-column-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; +} +.uk-column-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; +} +/* Phone landscape and bigger */ +@media (min-width: 480px) { + .uk-column-small-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + .uk-column-small-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + .uk-column-small-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + .uk-column-small-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + .uk-column-small-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-column-medium-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + .uk-column-medium-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + .uk-column-medium-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + .uk-column-medium-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + .uk-column-medium-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-column-large-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + .uk-column-large-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + .uk-column-large-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + .uk-column-large-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + .uk-column-large-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-column-xlarge-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + .uk-column-xlarge-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + .uk-column-xlarge-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + .uk-column-xlarge-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + .uk-column-xlarge-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} +/* ======================================================================== + Component: Animation + ========================================================================== */ +[class*='uk-animation-'] { + -webkit-animation-duration: 0.5s; + animation-duration: 0.5s; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} +/* Hide animated element if scrollspy is used */ +@media screen { + [data-uk-scrollspy*='uk-animation-']:not([data-uk-scrollspy*='target']) { + opacity: 0; + } +} +/* + * Fade + * Higher specificity (!important) needed because of reverse modifier + */ +.uk-animation-fade { + -webkit-animation-name: uk-fade; + animation-name: uk-fade; + -webkit-animation-duration: 0.8s; + animation-duration: 0.8s; + -webkit-animation-timing-function: linear !important; + animation-timing-function: linear !important; +} +/* + * Fade with scale + */ +.uk-animation-scale-up { + -webkit-animation-name: uk-fade-scale-02; + animation-name: uk-fade-scale-02; +} +.uk-animation-scale-down { + -webkit-animation-name: uk-fade-scale-18; + animation-name: uk-fade-scale-18; +} +/* + * Fade with slide + */ +.uk-animation-slide-top { + -webkit-animation-name: uk-fade-top; + animation-name: uk-fade-top; +} +.uk-animation-slide-bottom { + -webkit-animation-name: uk-fade-bottom; + animation-name: uk-fade-bottom; +} +.uk-animation-slide-left { + -webkit-animation-name: uk-fade-left; + animation-name: uk-fade-left; +} +.uk-animation-slide-right { + -webkit-animation-name: uk-fade-right; + animation-name: uk-fade-right; +} +/* + * Scale + */ +.uk-animation-scale { + -webkit-animation-name: uk-scale-12; + animation-name: uk-scale-12; +} +/* + * Shake + */ +.uk-animation-shake { + -webkit-animation-name: uk-shake; + animation-name: uk-shake; +} +/* Direction modifiers + ========================================================================== */ +.uk-animation-reverse { + -webkit-animation-direction: reverse; + animation-direction: reverse; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} +/* Duration modifiers +========================================================================== */ +.uk-animation-15 { + -webkit-animation-duration: 15s; + animation-duration: 15s; +} +/* Origin modifiers +========================================================================== */ +.uk-animation-top-left { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} +.uk-animation-top-center { + -webkit-transform-origin: 50% 0; + transform-origin: 50% 0; +} +.uk-animation-top-right { + -webkit-transform-origin: 100% 0; + transform-origin: 100% 0; +} +.uk-animation-middle-left { + -webkit-transform-origin: 0 50%; + transform-origin: 0 50%; +} +.uk-animation-middle-right { + -webkit-transform-origin: 100% 50%; + transform-origin: 100% 50%; +} +.uk-animation-bottom-left { + -webkit-transform-origin: 0 100%; + transform-origin: 0 100%; +} +.uk-animation-bottom-center { + -webkit-transform-origin: 50% 100%; + transform-origin: 50% 100%; +} +.uk-animation-bottom-right { + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100%; +} +/* Sub-object: `uk-animation-hover` +========================================================================== */ +/* + * Enable animation only on hover + * Note: Firefox also needs this because animations are not triggered when switching between display `hidden` and `block` + */ +.uk-animation-hover:not(:hover), +.uk-animation-hover:not(:hover) [class*='uk-animation-'], +.uk-touch .uk-animation-hover:not(.uk-hover), +.uk-touch .uk-animation-hover:not(.uk-hover) [class*='uk-animation-'] { + -webkit-animation-name: none; + animation-name: none; +} +/* Keyframes: Fade + * Used by dropdown, datepicker and slideshow component + ========================================================================== */ +@-webkit-keyframes uk-fade { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes uk-fade { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +/* Keyframes: Fade with slide + ========================================================================== */ +/* + * Top + */ +@-webkit-keyframes uk-fade-top { + 0% { + opacity: 0; + -webkit-transform: translateY(-100%); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes uk-fade-top { + 0% { + opacity: 0; + transform: translateY(-100%); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +/* + * Bottom + */ +@-webkit-keyframes uk-fade-bottom { + 0% { + opacity: 0; + -webkit-transform: translateY(100%); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes uk-fade-bottom { + 0% { + opacity: 0; + transform: translateY(100%); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +/* + * Left + */ +@-webkit-keyframes uk-fade-left { + 0% { + opacity: 0; + -webkit-transform: translateX(-100%); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} +@keyframes uk-fade-left { + 0% { + opacity: 0; + transform: translateX(-100%); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} +/* + * Right + */ +@-webkit-keyframes uk-fade-right { + 0% { + opacity: 0; + -webkit-transform: translateX(100%); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} +@keyframes uk-fade-right { + 0% { + opacity: 0; + transform: translateX(100%); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} +/* Keyframes: Fade with scale + ========================================================================== */ +/* + * Scale by 0.2 + */ +@-webkit-keyframes uk-fade-scale-02 { + 0% { + opacity: 0; + -webkit-transform: scale(0.2); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} +@keyframes uk-fade-scale-02 { + 0% { + opacity: 0; + transform: scale(0.2); + } + 100% { + opacity: 1; + transform: scale(1); + } +} +/* + * Scale by 1.5 + * Used by slideshow component + */ +@-webkit-keyframes uk-fade-scale-15 { + 0% { + opacity: 0; + -webkit-transform: scale(1.5); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} +@keyframes uk-fade-scale-15 { + 0% { + opacity: 0; + transform: scale(1.5); + } + 100% { + opacity: 1; + transform: scale(1); + } +} +/* + * Scale by 1.8 + */ +@-webkit-keyframes uk-fade-scale-18 { + 0% { + opacity: 0; + -webkit-transform: scale(1.8); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} +@keyframes uk-fade-scale-18 { + 0% { + opacity: 0; + transform: scale(1.8); + } + 100% { + opacity: 1; + transform: scale(1); + } +} +/* Keyframes: Slide + * Used by slideshow component + ========================================================================== */ +/* + * Left + */ +@-webkit-keyframes uk-slide-left { + 0% { + -webkit-transform: translateX(-100%); + } + 100% { + -webkit-transform: translateX(0); + } +} +@keyframes uk-slide-left { + 0% { + transform: translateX(-100%); + } + 100% { + transform: translateX(0); + } +} +/* + * Right + */ +@-webkit-keyframes uk-slide-right { + 0% { + -webkit-transform: translateX(100%); + } + 100% { + -webkit-transform: translateX(0); + } +} +@keyframes uk-slide-right { + 0% { + transform: translateX(100%); + } + 100% { + transform: translateX(0); + } +} +/* + * Left third + */ +@-webkit-keyframes uk-slide-left-33 { + 0% { + -webkit-transform: translateX(33%); + } + 100% { + -webkit-transform: translateX(0); + } +} +@keyframes uk-slide-left-33 { + 0% { + transform: translateX(33%); + } + 100% { + transform: translateX(0); + } +} +/* + * Right third + */ +@-webkit-keyframes uk-slide-right-33 { + 0% { + -webkit-transform: translateX(-33%); + } + 100% { + -webkit-transform: translateX(0); + } +} +@keyframes uk-slide-right-33 { + 0% { + transform: translateX(-33%); + } + 100% { + transform: translateX(0); + } +} +/* Keyframes: Scale + ========================================================================== */ +@-webkit-keyframes uk-scale-12 { + 0% { + -webkit-transform: scale(1.2); + } + 100% { + -webkit-transform: scale(1); + } +} +@keyframes uk-scale-12 { + 0% { + transform: scale(1.2); + } + 100% { + transform: scale(1); + } +} +/* Keyframes: Rotate + * Used by icon component + ========================================================================== */ +@-webkit-keyframes uk-rotate { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + } +} +@keyframes uk-rotate { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(359deg); + } +} +/* Keyframes: Shake + ========================================================================== */ +@-webkit-keyframes uk-shake { + 0%, + 100% { + -webkit-transform: translateX(0); + } + 10% { + -webkit-transform: translateX(-9px); + } + 20% { + -webkit-transform: translateX(8px); + } + 30% { + -webkit-transform: translateX(-7px); + } + 40% { + -webkit-transform: translateX(6px); + } + 50% { + -webkit-transform: translateX(-5px); + } + 60% { + -webkit-transform: translateX(4px); + } + 70% { + -webkit-transform: translateX(-3px); + } + 80% { + -webkit-transform: translateX(2px); + } + 90% { + -webkit-transform: translateX(-1px); + } +} +@keyframes uk-shake { + 0%, + 100% { + transform: translateX(0); + } + 10% { + transform: translateX(-9px); + } + 20% { + transform: translateX(8px); + } + 30% { + transform: translateX(-7px); + } + 40% { + transform: translateX(6px); + } + 50% { + transform: translateX(-5px); + } + 60% { + transform: translateX(4px); + } + 70% { + transform: translateX(-3px); + } + 80% { + transform: translateX(2px); + } + 90% { + transform: translateX(-1px); + } +} +/* Keyframes: Fade with slide fixed + * Used by dropdown and search component + ========================================================================== */ +/* + * Top fixed + */ +@-webkit-keyframes uk-slide-top-fixed { + 0% { + opacity: 0; + -webkit-transform: translateY(-10px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes uk-slide-top-fixed { + 0% { + opacity: 0; + transform: translateY(-10px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +/* + * Bottom fixed + */ +@-webkit-keyframes uk-slide-bottom-fixed { + 0% { + opacity: 0; + -webkit-transform: translateY(10px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes uk-slide-bottom-fixed { + 0% { + opacity: 0; + transform: translateY(10px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +/* ======================================================================== + Component: Dropdown + ========================================================================== */ +/* + * 1. Hide by default + * 2. Set position + * 3. Box-sizing is needed for `uk-dropdown-justify` + * 4. Set width + */ +.uk-dropdown, +.uk-dropdown-blank { + /* 1 */ + display: none; + /* 2 */ + position: absolute; + z-index: 1020; + /* 3 */ + box-sizing: border-box; + /* 4 */ + width: 200px; +} +/* + * Dropdown style + * 1. Reset button group whitespace hack + */ +.uk-dropdown { + padding: 15px; + background: #f5f5f5; + color: #444; + /* 1 */ + font-size: 1rem; + vertical-align: top; +} +/* Focus */ +.uk-dropdown:focus { + outline: none; +} +/* + * 1. Show dropdown + * 2. Set animation + * 3. Needed for scale animation + */ +.uk-open > .uk-dropdown, +.uk-open > .uk-dropdown-blank { + /* 1 */ + display: block; + /* 2 */ + -webkit-animation: uk-fade 0.2s ease-in-out; + animation: uk-fade 0.2s ease-in-out; + /* 3 */ + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} +/* Alignment modifiers + ========================================================================== */ +/* + * Modifier + */ +.uk-dropdown-top { + margin-top: -5px; +} +.uk-dropdown-bottom { + margin-top: 5px; +} +.uk-dropdown-left { + margin-left: -5px; +} +.uk-dropdown-right { + margin-left: 5px; +} +/* Nav in dropdown + ========================================================================== */ +.uk-dropdown .uk-nav { + margin: 0 -15px; +} +/* Grid and panel in dropdown + ========================================================================== */ +/* +* Vertical gutter +*/ +/* + * Grid + * Higher specificity to override large gutter + */ +.uk-grid .uk-dropdown-grid + .uk-dropdown-grid { + margin-top: 15px; +} +/* Panels */ +.uk-dropdown-grid > [class*='uk-width-'] > .uk-panel + .uk-panel { + margin-top: 15px; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + /* + * Horizontal gutter + */ + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid { + margin-left: -15px; + margin-right: -15px; + } + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-'] { + padding-left: 15px; + padding-right: 15px; + } + /* + * Column divider + */ + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { + border-left: 1px solid #ddd; + } + /* + * Width multiplier for dropdown columns + */ + .uk-dropdown-width-2:not(.uk-dropdown-stack) { + width: 400px; + } + .uk-dropdown-width-3:not(.uk-dropdown-stack) { + width: 600px; + } + .uk-dropdown-width-4:not(.uk-dropdown-stack) { + width: 800px; + } + .uk-dropdown-width-5:not(.uk-dropdown-stack) { + width: 1000px; + } +} +/* Phone landscape and smaller */ +@media (max-width: 767px) { + /* + * Stack columns and take full width + */ + .uk-dropdown-grid > [class*='uk-width-'] { + width: 100%; + } + /* + * Vertical gutter + */ + .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { + margin-top: 15px; + } +} +/* +* Stack grid columns +*/ +.uk-dropdown-stack > .uk-dropdown-grid > [class*='uk-width-'] { + width: 100%; +} +.uk-dropdown-stack > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { + margin-top: 15px; +} +/* Modifier `uk-dropdown-small` + ========================================================================== */ +/* + * Set min-width and text expands dropdown if needed + */ +.uk-dropdown-small { + min-width: 150px; + width: auto; + padding: 5px; + white-space: nowrap; +} +/* + * Nav in dropdown + */ +.uk-dropdown-small .uk-nav { + margin: 0 -5px; +} +/* Modifier: `uk-dropdown-navbar` + ========================================================================== */ +.uk-dropdown-navbar { + margin-top: 0; + background: #f5f5f5; + color: #444; +} +.uk-open > .uk-dropdown-navbar { + -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out; + animation: uk-slide-top-fixed 0.2s ease-in-out; +} +/* Modifier `uk-dropdown-scrollable` + ========================================================================== */ +/* + * Usefull for long lists + */ +.uk-dropdown-scrollable { + overflow-y: auto; + max-height: 200px; +} +/* Sub-object: `uk-dropdown-overlay` + ========================================================================== */ +/* ======================================================================== + Component: Modal + ========================================================================== */ +/* + * This is the modal overlay and modal dialog container + * 1. Hide by default + * 2. Set fixed position + * 3. Allow scrolling for the modal dialog + * 4. Mask the background page + * 5. Fade-in transition + * 6. Deactivate browser history navigation in IE11 + * 7. force hardware acceleration to prevent browser rendering hiccups + */ +.uk-modal { + /* 1 */ + display: none; + /* 2 */ + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1010; + /* 3 */ + overflow-y: auto; + -webkit-overflow-scrolling: touch; + /* 4 */ + background: rgba(0, 0, 0, 0.6); + /* 5 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + /* 6 */ + touch-action: cross-slide-y pinch-zoom double-tap-zoom; + /* 7 */ + -webkit-transform: translateZ(0); + transform: translateZ(0); +} +/* + * Open state + */ +.uk-modal.uk-open { + opacity: 1; +} +/* + * Prevents duplicated scrollbar caused by 4. + */ +.uk-modal-page, +.uk-modal-page body { + overflow: hidden; +} +/* Sub-object: `uk-modal-dialog` + ========================================================================== */ +/* + * 1. Create position context for caption, spinner and close button + * 2. Set box sizing + * 3. Set style + * 4. Slide-in transition + */ +.uk-modal-dialog { + /* 1 */ + position: relative; + /* 2 */ + box-sizing: border-box; + margin: 50px auto; + padding: 20px; + width: 600px; + max-width: 100%; + max-width: calc(100% - 20px); + /* 3 */ + background: #fff; + /* 4 */ + opacity: 0; + -webkit-transform: translateY(-100px); + transform: translateY(-100px); + -webkit-transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out; + transition: opacity 0.3s linear, transform 0.3s ease-out; +} +/* Phone landscape and smaller */ +@media (max-width: 767px) { + /* + * Fit in small screen + */ + .uk-modal-dialog { + width: auto; + margin: 10px auto; + } +} +/* + * Open state + */ +.uk-open .uk-modal-dialog { + /* 4 */ + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); +} +/* + * Remove margin from the last-child + */ +.uk-modal-dialog > :not([class*='uk-modal-']):last-child { + margin-bottom: 0; +} +/* Close in modal + ========================================================================== */ +.uk-modal-dialog > .uk-close:first-child { + margin: -10px -10px 0 0; + float: right; +} +/* + * Remove margin from adjacent element + */ +.uk-modal-dialog > .uk-close:first-child + :not([class*='uk-modal-']) { + margin-top: 0; +} +/* Modifier: `uk-modal-dialog-lightbox` + ========================================================================== */ +.uk-modal-dialog-lightbox { + margin: 15px auto; + padding: 0; + max-width: 95%; + max-width: calc(100% - 30px); + min-height: 50px; +} +/* + * Close button + */ +.uk-modal-dialog-lightbox > .uk-close:first-child { + position: absolute; + top: -12px; + right: -12px; + margin: 0; + float: none; +} +/* Phone landscape and smaller */ +@media (max-width: 767px) { + .uk-modal-dialog-lightbox > .uk-close:first-child { + top: -7px; + right: -7px; + } +} +/* Modifier: `uk-modal-dialog-blank` + ========================================================================== */ +.uk-modal-dialog-blank { + margin: 0; + padding: 0; + width: 100%; + max-width: 100%; + -webkit-transition: opacity 0.3s linear; + transition: opacity 0.3s linear; +} +/* +* Close button +*/ +.uk-modal-dialog-blank > .uk-close:first-child { + position: absolute; + top: 20px; + right: 20px; + z-index: 1; + margin: 0; + float: none; +} +/* Modifier: `uk-modal-dialog-large` + ========================================================================== */ +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-modal-dialog-large { + width: 930px; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-modal-dialog-large { + width: 1130px; + } +} +/* Sub-Object: `uk-modal-header` and `uk-modal-footer` + ========================================================================== */ +.uk-modal-header { + margin-bottom: 15px; +} +.uk-modal-footer { + margin-top: 15px; +} +/* + * Remove margin from the last-child + */ +.uk-modal-header > :last-child, +.uk-modal-footer > :last-child { + margin-bottom: 0; +} +/* Sub-Object: `uk-modal-caption` + ========================================================================== */ +.uk-modal-caption { + position: absolute; + left: 0; + right: 0; + bottom: -20px; + margin-bottom: -10px; + color: #fff; + text-align: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +/* Sub-Object: `uk-modal-spinner` + ========================================================================== */ +.uk-modal-spinner { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + font-size: 25px; + color: #ddd; +} +.uk-modal-spinner:after { + content: "\f110"; + display: block; + font-family: FontAwesome; + -webkit-animation: uk-rotate 2s infinite linear; + animation: uk-rotate 2s infinite linear; +} +/* ======================================================================== + Component: Off-canvas + ========================================================================== */ +/* + * This is the offcanvas overlay and bar container + * 1. Hide by default + * 2. Set fixed position + * 3. Deactivate browser touch actions in IE11 + * 4. Mask the background page + */ +.uk-offcanvas { + /* 1 */ + display: none; + /* 2 */ + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1000; + /* 3 */ + touch-action: none; + /* 4 */ + background: rgba(0, 0, 0, 0.1); +} +.uk-offcanvas.uk-active { + display: block; +} +/* Sub-object `uk-offcanvas-page` + ========================================================================== */ +/* + * Prepares the whole HTML page to slide-out + * 1. Fix the main page and disallow scrolling + * 2. Side-out transition + * 3. Needed for the transition to work instead of just letting it pop to the side + */ +.uk-offcanvas-page { + /* 1 */ + position: fixed; + /* 2 */ + -webkit-transition: margin-left 0.3s ease-in-out; + transition: margin-left 0.3s ease-in-out; + /* 3 */ + margin-left: 0; +} +/* Sub-object `uk-offcanvas-bar` + ========================================================================== */ +/* + * This is the offcanvas bar + * 1. Set fixed position + * 2. Size and style + * 3. Allow scrolling + * 4. Side-out transition + * 5. Deactivate scroll chaining in IE11 + */ +.uk-offcanvas-bar { + /* 1 */ + position: fixed; + top: 0; + bottom: 0; + left: 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + z-index: 1001; + /* 2 */ + width: 270px; + max-width: 100%; + background: #333; + /* 3 */ + overflow-y: auto; + -webkit-overflow-scrolling: touch; + /* 4 */ + -webkit-transition: -webkit-transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out; + /* 5 */ + -ms-scroll-chaining: none; +} +.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show { + -webkit-transform: translateX(0%); + transform: translateX(0%); +} +/* Modifier `uk-offcanvas-bar-flip` + ========================================================================== */ +.uk-offcanvas-bar-flip { + left: auto; + right: 0; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +/* Offcanvase modes + ========================================================================== */ +.uk-offcanvas-bar[mode='none'] { + -webkit-transition: none; + transition: none; +} +.uk-offcanvas-bar[mode='reveal'] { + -webkit-transform: translateX(0%); + transform: translateX(0%); + clip: rect(0, 0, 100vh, 0); + -webkit-transition: -webkit-transform 0.3s ease-in-out, clip 0.3s ease-in-out; + transition: transform 0.3s ease-in-out, clip 0.3s ease-in-out; +} +.uk-offcanvas-bar-flip[mode='reveal'] { + clip: none; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +.uk-offcanvas-bar-flip[mode='reveal'] > * { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + -webkit-transition: -webkit-transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out; +} +.uk-offcanvas.uk-active .uk-offcanvas-bar-flip[mode='reveal'].uk-offcanvas-bar-show > * { + -webkit-transform: translateX(0%); + transform: translateX(0%); +} +/* Panel in offcanvas + ========================================================================== */ +.uk-offcanvas .uk-panel { + margin: 20px 15px; + color: #777; +} +.uk-offcanvas .uk-panel-title { + color: #ccc; +} +.uk-offcanvas .uk-panel a:not([class]) { + color: #ccc; +} +.uk-offcanvas .uk-panel a:not([class]):hover { + color: #fff; +} +/* ======================================================================== + Component: Switcher + ========================================================================== */ +/* + * 1. Deactivate browser history navigation in IE11 + */ +.uk-switcher { + margin: 0; + padding: 0; + list-style: none; + /* 1 */ + touch-action: cross-slide-y pinch-zoom double-tap-zoom; +} +/* + * Items + */ +.uk-switcher > :not(.uk-active) { + display: none; +} +/* ======================================================================== + Component: Text + ========================================================================== */ +/* Size modifiers + ========================================================================== */ +.uk-text-small { + font-size: 11px; + line-height: 16px; +} +.uk-text-large { + font-size: 18px; + line-height: 24px; + font-weight: normal; +} +/* Weight modifiers + ========================================================================== */ +.uk-text-bold { + font-weight: bold; +} +/* Color modifiers + ========================================================================== */ +.uk-text-muted { + color: #999 !important; +} +.uk-text-primary { + color: #2d7091 !important; +} +.uk-text-success { + color: #659f13 !important; +} +.uk-text-warning { + color: #e28327 !important; +} +.uk-text-danger { + color: #d85030 !important; +} +.uk-text-contrast { + color: #fff !important; +} +/* Alignment modifiers + ========================================================================== */ +.uk-text-left { + text-align: left !important; +} +.uk-text-right { + text-align: right !important; +} +.uk-text-center { + text-align: center !important; +} +.uk-text-justify { + text-align: justify !important; +} +.uk-text-top { + vertical-align: top !important; +} +.uk-text-middle { + vertical-align: middle !important; +} +.uk-text-bottom { + vertical-align: bottom !important; +} +/* Only tablets portrait and smaller */ +@media (max-width: 959px) { + .uk-text-center-medium { + text-align: center !important; + } + .uk-text-left-medium { + text-align: left !important; + } +} +/* Phone landscape and smaller */ +@media (max-width: 767px) { + .uk-text-center-small { + text-align: center !important; + } + .uk-text-left-small { + text-align: left !important; + } +} +/* Wrap modifiers + ========================================================================== */ +/* + * Prevent text from wrapping onto multiple lines + */ +.uk-text-nowrap { + white-space: nowrap; +} +/* + * Prevent text from wrapping onto multiple lines, and truncate with an ellipsis + */ +.uk-text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +/* + * Break strings if their length exceeds the width of their container + */ +.uk-text-break { + word-wrap: break-word; + -webkit-hyphens: auto; + -ms-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; +} +/* Transform modifiers + ========================================================================== */ +.uk-text-capitalize { + text-transform: capitalize !important; +} +.uk-text-lowercase { + text-transform: lowercase !important; +} +.uk-text-uppercase { + text-transform: uppercase !important; +} +/* ======================================================================== + Component: Utility + ========================================================================== */ +/* Container + ========================================================================== */ +.uk-container { + box-sizing: border-box; + max-width: 980px; + padding: 0 25px; +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-container { + max-width: 1200px; + padding: 0 35px; + } +} +/* + * Micro clearfix + */ +.uk-container:before, +.uk-container:after { + content: ""; + display: table; +} +.uk-container:after { + clear: both; +} +/* + * Center container + */ +.uk-container-center { + margin-left: auto; + margin-right: auto; +} +/* Clearing + ========================================================================== */ +/* + * Micro clearfix +* `table-cell` is used with `:before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit + * `table` is used again with `:after` because `clear` only works with block elements. + * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari + */ +.uk-clearfix:before { + content: ""; + display: table-cell; +} +.uk-clearfix:after { + content: ""; + display: table; + clear: both; +} +/* + * Create a new block formatting context + */ +.uk-nbfc { + overflow: hidden; +} +.uk-nbfc-alt { + display: table-cell; + width: 10000px; +} +/* Alignment of block elements + ========================================================================== */ +/* + * Float blocks + * 1. Prevent content overflow on small devices + */ +.uk-float-left { + float: left; +} +.uk-float-right { + float: right; +} +/* 1 */ +[class*='uk-float-'] { + max-width: 100%; +} +/* Alignment of images and objects + ========================================================================== */ +/* + * Alignment + */ +[class*='uk-align-'] { + display: block; + margin-bottom: 15px; +} +.uk-align-left { + margin-right: 15px; + float: left; +} +.uk-align-right { + margin-left: 15px; + float: right; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-align-medium-left { + margin-right: 15px; + float: left; + } + .uk-align-medium-right { + margin-left: 15px; + float: right; + } +} +.uk-align-center { + margin-left: auto; + margin-right: auto; +} +/* Vertical alignment + ========================================================================== */ +/* + * Remove whitespace between child elements when using `inline-block` + */ +.uk-vertical-align { + font-size: 0.001px; +} +/* + * The `uk-vertical-align` container needs a specific height + */ +.uk-vertical-align:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} +/* + * Sub-object which can have any height + * 1. Reset whitespace hack + */ +.uk-vertical-align-middle, +.uk-vertical-align-bottom { + display: inline-block; + max-width: 100%; + /* 1 */ + font-size: 1rem; +} +.uk-vertical-align-middle { + vertical-align: middle; +} +.uk-vertical-align-bottom { + vertical-align: bottom; +} +/* Height + ========================================================================== */ +/* + * More robust if padding and border are used + */ +[class*='uk-height'] { + box-sizing: border-box; +} +/* + * Useful to extend the `html` and `body` element to the full height of the page. + */ +.uk-height-1-1 { + height: 100%; +} +/* + * Useful to create image teasers + */ +.uk-height-viewport { + height: 100vh; + min-height: 600px; +} +/* Responsive objects + * Note: Images are already responsive by default, see Base component + ========================================================================== */ +/* + * 1. Corrects `max-width` and `max-height` behavior if padding and border are used + */ +.uk-responsive-width, +.uk-responsive-height { + box-sizing: border-box; +} +/* + * Responsiveness: Sets a maximum width relative to the parent and auto scales the height + * `important` needed to override `uk-img-preserve img` + */ +.uk-responsive-width { + max-width: 100% !important; + height: auto; +} +/* + * Responsiveness: Sets a maximum height relative to the parent and auto scales the width + * Only works if the parent element has a fixed height. + */ +.uk-responsive-height { + max-height: 100%; + width: auto; +} +/* Margin + ========================================================================== */ +/* + * Create a block with the same margin of a paragraph + * Add margin if adjacent element + */ +.uk-margin { + margin-bottom: 15px; +} +* + .uk-margin { + margin-top: 15px; +} +.uk-margin-top { + margin-top: 15px !important; +} +.uk-margin-bottom { + margin-bottom: 15px !important; +} +.uk-margin-left { + margin-left: 15px !important; +} +.uk-margin-right { + margin-right: 15px !important; +} +/* + * Larger margins + */ +.uk-margin-large { + margin-bottom: 50px; +} +* + .uk-margin-large { + margin-top: 50px; +} +.uk-margin-large-top { + margin-top: 50px !important; +} +.uk-margin-large-bottom { + margin-bottom: 50px !important; +} +.uk-margin-large-left { + margin-left: 50px !important; +} +.uk-margin-large-right { + margin-right: 50px !important; +} +/* + * Smaller margins + */ +.uk-margin-small { + margin-bottom: 5px; +} +* + .uk-margin-small { + margin-top: 5px; +} +.uk-margin-small-top { + margin-top: 5px !important; +} +.uk-margin-small-bottom { + margin-bottom: 5px !important; +} +.uk-margin-small-left { + margin-left: 5px !important; +} +.uk-margin-small-right { + margin-right: 5px !important; +} +/* + * Remove margins + */ +.uk-margin-remove { + margin: 0 !important; +} +.uk-margin-top-remove { + margin-top: 0 !important; +} +.uk-margin-bottom-remove { + margin-bottom: 0 !important; +} +/* Padding + ========================================================================== */ +.uk-padding-remove { + padding: 0 !important; +} +.uk-padding-top-remove { + padding-top: 0 !important; +} +.uk-padding-bottom-remove { + padding-bottom: 0 !important; +} +.uk-padding-vertical-remove { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +/* Border + ========================================================================== */ +.uk-border-circle { + border-radius: 50%; +} +.uk-border-rounded { + border-radius: 5px; +} +/* Headings + ========================================================================== */ +.uk-heading-large { + font-size: 36px; + line-height: 42px; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-heading-large { + font-size: 52px; + line-height: 64px; + } +} +/* Link + ========================================================================== */ +/* + * Let links appear in default text color + */ +.uk-link-muted, +.uk-link-muted a { + color: #444; +} +.uk-link-muted:hover, +.uk-link-muted a:hover { + color: #444; +} +/* + * Reset link style + */ +.uk-link-reset, +.uk-link-reset a, +.uk-link-reset:hover, +.uk-link-reset a:hover, +.uk-link-reset:focus, +.uk-link-reset a:focus { + color: inherit; + text-decoration: none; +} +/* Scrollable + ========================================================================== */ +/* + * Enable scrolling for preformatted text + */ +.uk-scrollable-text { + height: 300px; + overflow-y: scroll; + -webkit-overflow-scrolling: touch; + resize: both; +} +/* + * Box with scrolling enabled + */ +.uk-scrollable-box { + box-sizing: border-box; + height: 170px; + padding: 10px; + border: 1px solid #ddd; + overflow: auto; + -webkit-overflow-scrolling: touch; + resize: both; +} +.uk-scrollable-box > :last-child { + margin-bottom: 0; +} +/* Overflow + ========================================================================== */ +.uk-overflow-hidden { + overflow: hidden; +} +/* + * Enable scrollbars if content is clipped + */ +.uk-overflow-container { + overflow: auto; + -webkit-overflow-scrolling: touch; +} +.uk-overflow-container > :last-child { + margin-bottom: 0; +} +/* Position + ========================================================================== */ +.uk-position-absolute, +[class*='uk-position-top'], +[class*='uk-position-bottom'] { + position: absolute !important; +} +/* Don't use `width: 100%` because it is wrong if the parent has padding. */ +.uk-position-top { + top: 0; + left: 0; + right: 0; +} +.uk-position-bottom { + bottom: 0; + left: 0; + right: 0; +} +.uk-position-top-left { + top: 0; + left: 0; +} +.uk-position-top-right { + top: 0; + right: 0; +} +.uk-position-bottom-left { + bottom: 0; + left: 0; +} +.uk-position-bottom-right { + bottom: 0; + right: 0; +} +/* + * Cover + */ +.uk-position-cover { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +/* + * Relative + */ +.uk-position-relative { + position: relative !important; +} +/* + * Z-index + */ +.uk-position-z-index { + z-index: 1; +} +/* Display + ========================================================================== */ +/* + * Display + * 1. Required if child is a responsive image + */ +.uk-display-block { + display: block !important; +} +.uk-display-inline { + display: inline !important; +} +.uk-display-inline-block { + display: inline-block !important; + /* 1 */ + max-width: 100%; +} +/* + * Visibility + * Avoids setting display to `block` so it works also with `inline-block` and `table` + */ +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-visible-small { + display: none !important; + } + .uk-visible-medium { + display: none !important; + } + .uk-hidden-large { + display: none !important; + } +} +/* Tablets portrait */ +@media (min-width: 768px) and (max-width: 959px) { + .uk-visible-small { + display: none !important; + } + .uk-visible-large { + display: none !important ; + } + .uk-hidden-medium { + display: none !important; + } +} +/* Phone landscape and smaller*/ +@media (max-width: 767px) { + .uk-visible-medium { + display: none !important; + } + .uk-visible-large { + display: none !important; + } + .uk-hidden-small { + display: none !important; + } +} +/* Remove from the flow and screen readers on any device */ +.uk-hidden { + display: none !important; + visibility: hidden !important; +} +/* It's hidden, but still affects layout */ +.uk-invisible { + visibility: hidden !important; +} +/* Show on hover */ +.uk-visible-hover:hover .uk-hidden, +.uk-visible-hover:hover .uk-invisible { + display: block !important; + visibility: visible !important; +} +.uk-visible-hover-inline:hover .uk-hidden, +.uk-visible-hover-inline:hover .uk-invisible { + display: inline-block !important; + visibility: visible !important; +} +/* Hide on touch */ +.uk-touch .uk-hidden-touch, +.uk-notouch .uk-hidden-notouch { + display: none !important; +} +/* ======================================================================== + Component: Flex + ========================================================================== */ +.uk-flex { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; +} +.uk-flex-inline { + display: -ms-inline-flexbox; + display: -webkit-inline-flex; + display: inline-flex; +} +/* + * Fixes initial flex-shrink value in IE10 + */ +.uk-flex > *, +.uk-flex-inline > * { + -ms-flex-negative: 1; +} +/* Alignment + ========================================================================== */ +/* + * Vertical alignment + * Default value is `stretch` + */ +.uk-flex-top { + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; +} +.uk-flex-middle { + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.uk-flex-bottom { + -ms-flex-align: end; + -webkit-align-items: flex-end; + align-items: flex-end; +} +/* + * Horizontal alignment + * Default value is `flex-start` + */ +.uk-flex-center { + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.uk-flex-right { + -ms-flex-pack: end; + -webkit-justify-content: flex-end; + justify-content: flex-end; +} +.uk-flex-space-between { + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +.uk-flex-space-around { + -ms-flex-pack: distribute; + -webkit-justify-content: space-around; + justify-content: space-around; +} +/* Direction + ========================================================================== */ +.uk-flex-row-reverse { + -ms-flex-direction: row-reverse; + -webkit-flex-direction: row-reverse; + flex-direction: row-reverse; +} +.uk-flex-column { + -ms-flex-direction: column; + -webkit-flex-direction: column; + flex-direction: column; +} +.uk-flex-column-reverse { + -ms-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + flex-direction: column-reverse; +} +/* Wrap + ========================================================================== */ +.uk-flex-nowrap { + -ms-flex-wrap: nowrap; + -webkit-flex-wrap: nowrap; + flex-wrap: nowrap; +} +.uk-flex-wrap { + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; +} +.uk-flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse; + -webkit-flex-wrap: wrap-reverse; + flex-wrap: wrap-reverse; +} +/* + * Horizontal alignment + * Default value is `stretch` + */ +.uk-flex-wrap-top { + -ms-flex-line-pack: start; + -webkit-align-content: flex-start; + align-content: flex-start; +} +.uk-flex-wrap-middle { + -ms-flex-line-pack: center; + -webkit-align-content: center; + align-content: center; +} +.uk-flex-wrap-bottom { + -ms-flex-line-pack: end; + -webkit-align-content: flex-end; + align-content: flex-end; +} +.uk-flex-wrap-space-between { + -ms-flex-line-pack: justify; + -webkit-align-content: space-between; + align-content: space-between; +} +.uk-flex-wrap-space-around { + -ms-flex-line-pack: distribute; + -webkit-align-content: space-around; + align-content: space-around; +} +/* Item ordering + ========================================================================== */ +/* + * Default is 0 + */ +.uk-flex-order-first { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; +} +.uk-flex-order-last { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; +} +/* Phone landscape and bigger */ +@media (min-width: 480px) { + .uk-flex-order-first-small { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .uk-flex-order-last-small { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-flex-order-first-medium { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .uk-flex-order-last-medium { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-flex-order-first-large { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .uk-flex-order-last-large { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-flex-order-first-xlarge { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .uk-flex-order-last-xlarge { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } +} +/* Item dimensions + ========================================================================== */ +/* + * Initial: 0 1 auto + * Content dimensions, but shrinks + */ +/* + * No Flex: 0 0 auto + * Content dimensions + */ +.uk-flex-item-none { + -ms-flex: none; + -webkit-flex: none; + flex: none; +} +/* + * Relative Flex: 1 1 auto + * Space is allocated considering content + * 1. Fixes flex-shrink value in IE10 + */ +.uk-flex-item-auto { + -ms-flex: auto; + -webkit-flex: auto; + flex: auto; + /* 1 */ + -ms-flex-negative: 1; +} +/* + * Absolute Flex: 1 1 0% + * Space is allocated solely based on flex + */ +.uk-flex-item-1 { + -ms-flex: 1; + -webkit-flex: 1; + flex: 1; +} +/* ======================================================================== + Component: Contrast + ========================================================================== */ +.uk-contrast { + color: #fff; + /* Active */ +} +.uk-contrast a:not([class]), +.uk-contrast .uk-link { + color: rgba(255, 255, 255, 0.7); + text-decoration: none; +} +.uk-contrast a:not([class]):hover, +.uk-contrast .uk-link:hover { + color: #fff; + text-decoration: underline; +} +.uk-contrast :not(pre) > code, +.uk-contrast :not(pre) > kbd, +.uk-contrast :not(pre) > samp { + color: #fff; +} +.uk-contrast em { + color: #fff; +} +.uk-contrast h1, +.uk-contrast h2, +.uk-contrast h3, +.uk-contrast h4, +.uk-contrast h5, +.uk-contrast h6 { + color: #fff; +} +.uk-contrast hr { + border-top-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-nav li > a, +.uk-contrast .uk-nav li > a:hover { + text-decoration: none; +} +.uk-contrast .uk-nav-side > li > a { + color: #fff; +} +.uk-contrast .uk-nav-side > li > a:hover, +.uk-contrast .uk-nav-side > li > a:focus { + background: rgba(255, 255, 255, 0.1); + color: #fff; +} +.uk-contrast .uk-nav-side > li.uk-active > a { + background: #fff; + color: #444; +} +.uk-contrast .uk-nav-side .uk-nav-header { + color: #fff; +} +.uk-contrast .uk-nav-side .uk-nav-divider { + border-top-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-nav-side ul a { + color: rgba(255, 255, 255, 0.7); +} +.uk-contrast .uk-nav-side ul a:hover { + color: #fff; +} +.uk-contrast .uk-subnav > * > a { + color: rgba(255, 255, 255, 0.7); + text-decoration: none; +} +.uk-contrast .uk-subnav > * > a:hover, +.uk-contrast .uk-subnav > * > a:focus { + color: #fff; + text-decoration: none; +} +.uk-contrast .uk-subnav > .uk-active > a { + color: #fff; +} +.uk-contrast .uk-subnav-line > :nth-child(n+2):before { + border-left-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-subnav-pill > * > a:hover, +.uk-contrast .uk-subnav-pill > * > a:focus { + background: rgba(255, 255, 255, 0.7); + color: #444; + text-decoration: none; +} +.uk-contrast .uk-subnav-pill > .uk-active > a { + background: #fff; + color: #444; +} +.uk-contrast .uk-tab { + border-bottom-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-tab > li > a { + border-color: transparent; + color: rgba(255, 255, 255, 0.7); +} +.uk-contrast .uk-tab > li > a:hover, +.uk-contrast .uk-tab > li > a:focus, +.uk-contrast .uk-tab > li.uk-open > a { + border-color: rgba(255, 255, 255, 0.7); + background: rgba(255, 255, 255, 0.7); + color: #444; + text-decoration: none; +} +.uk-contrast .uk-tab > li.uk-active > a { + border-color: rgba(255, 255, 255, 0.2); + border-bottom-color: transparent; + background: #fff; + color: #444; +} +.uk-contrast .uk-tab-center { + border-bottom-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-tab-grid:before { + border-top-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-list-line > li:nth-child(n+2) { + border-top-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-form select, +.uk-contrast .uk-form textarea, +.uk-contrast .uk-form input:not([type]), +.uk-contrast .uk-form input[type="text"], +.uk-contrast .uk-form input[type="password"], +.uk-contrast .uk-form input[type="datetime"], +.uk-contrast .uk-form input[type="datetime-local"], +.uk-contrast .uk-form input[type="date"], +.uk-contrast .uk-form input[type="month"], +.uk-contrast .uk-form input[type="time"], +.uk-contrast .uk-form input[type="week"], +.uk-contrast .uk-form input[type="number"], +.uk-contrast .uk-form input[type="email"], +.uk-contrast .uk-form input[type="url"], +.uk-contrast .uk-form input[type="search"], +.uk-contrast .uk-form input[type="tel"], +.uk-contrast .uk-form input[type="color"] { + border-color: rgba(255, 255, 255, 0.8); + background: rgba(255, 255, 255, 0.8); + color: #444; + background-clip: padding-box; +} +.uk-contrast .uk-form select:focus, +.uk-contrast .uk-form textarea:focus, +.uk-contrast .uk-form input:not([type]):focus, +.uk-contrast .uk-form input[type="text"]:focus, +.uk-contrast .uk-form input[type="password"]:focus, +.uk-contrast .uk-form input[type="datetime"]:focus, +.uk-contrast .uk-form input[type="datetime-local"]:focus, +.uk-contrast .uk-form input[type="date"]:focus, +.uk-contrast .uk-form input[type="month"]:focus, +.uk-contrast .uk-form input[type="time"]:focus, +.uk-contrast .uk-form input[type="week"]:focus, +.uk-contrast .uk-form input[type="number"]:focus, +.uk-contrast .uk-form input[type="email"]:focus, +.uk-contrast .uk-form input[type="url"]:focus, +.uk-contrast .uk-form input[type="search"]:focus, +.uk-contrast .uk-form input[type="tel"]:focus, +.uk-contrast .uk-form input[type="color"]:focus { + border-color: #fff; + background: #fff; + color: #444; +} +.uk-contrast .uk-form :-ms-input-placeholder { + color: rgba(68, 68, 68, 0.7) !important; +} +.uk-contrast .uk-form ::-moz-placeholder { + color: rgba(68, 68, 68, 0.7); +} +.uk-contrast .uk-form ::-webkit-input-placeholder { + color: rgba(68, 68, 68, 0.7); +} +.uk-contrast .uk-button { + color: #444; + background: #fff; +} +.uk-contrast .uk-button:hover, +.uk-contrast .uk-button:focus { + background-color: rgba(255, 255, 255, 0.8); + color: #444; +} +.uk-contrast .uk-button:active, +.uk-contrast .uk-button.uk-active { + background-color: rgba(255, 255, 255, 0.7); + color: #444; +} +.uk-contrast .uk-button-primary { + background-color: #00a8e6; + color: #fff; +} +.uk-contrast .uk-button-primary:hover, +.uk-contrast .uk-button-primary:focus { + background-color: #35b3ee; + color: #fff; +} +.uk-contrast .uk-button-primary:active, +.uk-contrast .uk-button-primary.uk-active { + background-color: #0091ca; + color: #fff; +} +.uk-contrast .uk-icon-hover { + color: rgba(255, 255, 255, 0.7); +} +.uk-contrast .uk-icon-hover:hover { + color: #fff; +} +.uk-contrast .uk-icon-button { + background: #fff; + color: #444; +} +.uk-contrast .uk-icon-button:hover, +.uk-contrast .uk-icon-button:focus { + background-color: rgba(255, 255, 255, 0.8); + color: #444; +} +.uk-contrast .uk-icon-button:active { + background-color: rgba(255, 255, 255, 0.7); + color: #444; +} +.uk-contrast .uk-text-muted { + color: rgba(255, 255, 255, 0.6) !important; +} +.uk-contrast .uk-text-primary { + color: #2d7091 !important; +} +/* ======================================================================== + Component: Print + ========================================================================== */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: black !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 0.5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } +} diff --git a/bower_components/uikit/css/uikit.gradient.css b/bower_components/uikit/css/uikit.gradient.css new file mode 100644 index 0000000..134408a --- /dev/null +++ b/bower_components/uikit/css/uikit.gradient.css @@ -0,0 +1,9328 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* ======================================================================== + Component: Base + ========================================================================== */ +/* + * 1. Normalize default `font-family` and set `font-size` to support `rem` units + * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom + * 3. Style + */ +html { + /* 1 */ + font: normal 14px / 20px "Helvetica Neue", Helvetica, Arial, sans-serif; + /* 2 */ + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + /* 3 */ + background: #fff; + color: #444; + background-image: -webkit-radial-gradient(100% 100%, center, #fff, #fff); + background-image: radial-gradient(100% 100% at center, #fff, #fff); +} +/* + * Removes default margin. + */ +body { + margin: 0; +} +/* Links + ========================================================================== */ +/* + * Remove the gray background color from active links in IE 10. + */ +a { + background: transparent; +} +/* + * Improve readability of focused elements when they are also in an active/hover state. + */ +a:active, +a:hover { + outline: 0; +} +/* + * Style + */ +a, +.uk-link { + color: #07D; + text-decoration: none; + cursor: pointer; +} +a:hover, +.uk-link:hover { + color: #059; + text-decoration: underline; +} +/* Text-level semantics + ========================================================================== */ +/* + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; +} +/* + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ +b, +strong { + font-weight: bold; +} +/* + * 1. Address odd `em`-unit font size rendering in all browsers. + * 2. Consolas has a better baseline in running text compared to `Courier` + */ +:not(pre) > code, +:not(pre) > kbd, +:not(pre) > samp { + /* 1 */ + font-size: 12px; + /* 2 */ + font-family: Consolas, monospace, serif; + /* 3 */ + color: #D05; + white-space: nowrap; + padding: 0 4px; + border: 1px solid #ddd; + border-radius: 3px; + background: #fafafa; +} +/* + * Emphasize + */ +em { + color: #D05; +} +/* + * Insert + */ +ins { + background: #ffa; + color: #444; + text-decoration: none; +} +/* + * Mark + * Note: Addresses styling not present in IE 8/9. + */ +mark { + background: #ffa; + color: #444; +} +/* + * Quote + */ +q { + font-style: italic; +} +/* + * Addresses inconsistent and variable font size in all browsers. + */ +small { + font-size: 80%; +} +/* + * Prevents `sub` and `sup` affecting `line-height` in all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Embedded content + ========================================================================== */ +/* + * Remove the gap between embedded content and the bottom of their containers. + */ +audio, +canvas, +iframe, +img, +svg, +video { + vertical-align: middle; +} +/* + * Responsiveness + * 1. Sets a maximum width relative to the parent and auto scales the height + * 2. Corrects `max-width` behavior if padding and border are used + */ +audio, +canvas, +img, +svg, +video { + /* 1 */ + max-width: 100%; + height: auto; + /* 2 */ + box-sizing: border-box; +} +/* + * Preserve original dimensions + */ +.uk-img-preserve, +.uk-img-preserve audio, +.uk-img-preserve canvas, +.uk-img-preserve img, +.uk-img-preserve svg, +.uk-img-preserve video { + max-width: none; +} +/* + * Remove border when inside `a` element in IE 8/9/10. + */ +img { + border: 0; +} +/* + * Correct overflow not hidden in IE 9/10/11. + */ +svg:not(:root) { + overflow: hidden; +} +/* Block elements + ========================================================================== */ +/* + * Reset margin + */ +blockquote, +figure { + margin: 0; +} +/* + * Margins + */ +p, +ul, +ol, +dl, +blockquote, +pre, +address, +fieldset, +figure { + margin: 0 0 15px 0; +} +* + p, +* + ul, +* + ol, +* + dl, +* + blockquote, +* + pre, +* + address, +* + fieldset, +* + figure { + margin-top: 15px; +} +/* Headings + ========================================================================== */ +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0 0 15px 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: normal; + color: #444; + text-transform: none; +} +/* + * Margins + */ +* + h1, +* + h2, +* + h3, +* + h4, +* + h5, +* + h6 { + margin-top: 25px; +} +/* + * Sizes + */ +h1, +.uk-h1 { + font-size: 36px; + line-height: 42px; +} +h2, +.uk-h2 { + font-size: 24px; + line-height: 30px; +} +h3, +.uk-h3 { + font-size: 18px; + line-height: 24px; +} +h4, +.uk-h4 { + font-size: 16px; + line-height: 22px; +} +h5, +.uk-h5 { + font-size: 14px; + line-height: 20px; +} +h6, +.uk-h6 { + font-size: 12px; + line-height: 18px; +} +/* Lists + ========================================================================== */ +ul, +ol { + padding-left: 30px; +} +/* + * Reset margin for nested lists + */ +ul > li > ul, +ul > li > ol, +ol > li > ol, +ol > li > ul { + margin: 0; +} +/* Description lists + ========================================================================== */ +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +/* Horizontal rules + ========================================================================== */ +/* + * 1. Address differences between Firefox and other browsers. + * 2. Style + */ +hr { + /* 1 */ + box-sizing: content-box; + height: 0; + /* 2 */ + margin: 15px 0; + border: 0; + border-top: 1px solid #ddd; +} +/* Address + ========================================================================== */ +address { + font-style: normal; +} +/* Blockquotes + ========================================================================== */ +blockquote { + padding-left: 15px; + border-left: 5px solid #ddd; + font-size: 16px; + line-height: 22px; + font-style: italic; +} +/* Preformatted text + ========================================================================== */ +/* + * 1. Contain overflow in all browsers. + */ +pre { + padding: 10px; + background: #fafafa; + font: 12px / 18px Consolas, monospace, serif; + color: #444; + -moz-tab-size: 4; + tab-size: 4; + /* 1 */ + overflow: auto; + border: 1px solid #ddd; + border-radius: 3px; +} +/* Selection pseudo-element + ========================================================================== */ +::-moz-selection { + background: #39f; + color: #fff; + text-shadow: none; +} +::selection { + background: #39f; + color: #fff; + text-shadow: none; +} +/* HTML5 elements + ========================================================================== */ +/* + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +nav, +section, +summary { + display: block; +} +/* + * Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +progress { + vertical-align: baseline; +} +/* + * Prevent displaying `audio` without controls in Chrome, Safari and Opera + */ +audio:not([controls]) { + display: none; +} +/* + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; +} +/* Iframe + ========================================================================== */ +iframe { + border: 0; +} +/* Fix viewport for IE10 snap mode + ========================================================================== */ +@media screen and (max-width: 400px) { + @-ms-viewport { + width: device-width; + } +} +/* ======================================================================== + Component: Grid + ========================================================================== */ +/* + * 1. Makes grid more robust so that it can be used with other block elements like lists + */ +.uk-grid { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin: 0; + padding: 0; + list-style: none; +} +/* + * DEPRECATED + * Micro clearfix + * Can't use `table` because it creates a 1px gap when it becomes a flex item, only in Webkit + */ +.uk-grid:before, +.uk-grid:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-grid:after { + clear: both; +} +/* + * Grid cell + * 1. Space is allocated solely based on content dimensions + * 2. Makes grid more robust so that it can be used with other block elements + * 3. DEPRECATED Using `float` to support IE9 + */ +.uk-grid > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + margin: 0; + /* 3 */ + float: left; +} +/* + * Remove margin from the last-child + */ +.uk-grid > * > :last-child { + margin-bottom: 0; +} +/* Grid gutter + ========================================================================== */ +/* + * Default gutter + */ +/* Horizontal */ +.uk-grid { + margin-left: -25px; +} +.uk-grid > * { + padding-left: 25px; +} +/* Vertical */ +.uk-grid + .uk-grid, +.uk-grid-margin, +.uk-grid > * > .uk-panel + .uk-panel { + margin-top: 25px; +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + /* Horizontal */ + .uk-grid { + margin-left: -35px; + } + .uk-grid > * { + padding-left: 35px; + } + /* Vertical */ + .uk-grid + .uk-grid, + .uk-grid-margin, + .uk-grid > * > .uk-panel + .uk-panel { + margin-top: 35px; + } +} +/* + * Collapse gutter + */ +/* Horizontal */ +.uk-grid-collapse { + margin-left: 0; +} +.uk-grid-collapse > * { + padding-left: 0; +} +/* Vertical */ +.uk-grid-collapse + .uk-grid-collapse, +.uk-grid-collapse > .uk-grid-margin, +.uk-grid-collapse > * > .uk-panel + .uk-panel { + margin-top: 0; +} +/* + * Small gutter + */ +/* Horizontal */ +.uk-grid-small { + margin-left: -10px; +} +.uk-grid-small > * { + padding-left: 10px; +} +/* Vertical */ +.uk-grid-small + .uk-grid-small, +.uk-grid-small > .uk-grid-margin, +.uk-grid-small > * > .uk-panel + .uk-panel { + margin-top: 10px; +} +/* + * Medium gutter + */ +/* Horizontal */ +.uk-grid-medium { + margin-left: -25px; +} +.uk-grid-medium > * { + padding-left: 25px; +} +/* Vertical */ +.uk-grid-medium + .uk-grid-medium, +.uk-grid-medium > .uk-grid-margin, +.uk-grid-medium > * > .uk-panel + .uk-panel { + margin-top: 25px; +} +/* + * Large gutter + */ +/* Large screen and bigger */ +@media (min-width: 960px) { + /* Horizontal */ + .uk-grid-large { + margin-left: -35px; + } + .uk-grid-large > * { + padding-left: 35px; + } + /* Vertical */ + .uk-grid-large + .uk-grid-large, + .uk-grid-large-margin, + .uk-grid-large > * > .uk-panel + .uk-panel { + margin-top: 35px; + } +} +/* Extra Large screens */ +@media (min-width: 1220px) { + /* Horizontal */ + .uk-grid-large { + margin-left: -50px; + } + .uk-grid-large > * { + padding-left: 50px; + } + /* Vertical */ + .uk-grid-large + .uk-grid-large, + .uk-grid-large-margin, + .uk-grid-large > * > .uk-panel + .uk-panel { + margin-top: 50px; + } +} +/* Modifier: `uk-grid-divider` + ========================================================================== */ +/* + * Horizontal divider + * Only works with the default gutter. Does not work with gutter collapse, small or large. + * Does not work with `uk-push-*`, `uk-pull-*` and not if the columns float into the next row. + */ +.uk-grid-divider:not(:empty) { + margin-left: -25px; + margin-right: -25px; +} +.uk-grid-divider > * { + padding-left: 25px; + padding-right: 25px; +} +.uk-grid-divider > [class*='uk-width-1-']:not(.uk-width-1-1):nth-child(n+2), +.uk-grid-divider > [class*='uk-width-2-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-3-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-4-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-5-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-6-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-7-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-8-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-9-']:nth-child(n+2) { + border-left: 1px solid #ddd; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-grid-divider > [class*='uk-width-medium-']:not(.uk-width-medium-1-1):nth-child(n+2) { + border-left: 1px solid #ddd; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-grid-divider > [class*='uk-width-large-']:not(.uk-width-large-1-1):nth-child(n+2) { + border-left: 1px solid #ddd; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + /* + * Large gutter + */ + .uk-grid-divider:not(:empty) { + margin-left: -35px; + margin-right: -35px; + } + .uk-grid-divider > * { + padding-left: 35px; + padding-right: 35px; + } + .uk-grid-divider:empty { + margin-top: 35px; + margin-bottom: 35px; + } +} +/* + * Vertical divider + */ +.uk-grid-divider:empty { + margin-top: 25px; + margin-bottom: 25px; + border-top: 1px solid #ddd; +} +/* Match panels in grids + ========================================================================== */ +/* + * 1. Behave like a block element + */ +.uk-grid-match > * { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + /* 1 */ + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; +} +.uk-grid-match > * > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + box-sizing: border-box; + width: 100%; +} +/* Even grid cell widths + ========================================================================== */ +[class*='uk-grid-width'] > * { + box-sizing: border-box; + width: 100%; +} +.uk-grid-width-1-2 > * { + width: 50%; +} +.uk-grid-width-1-3 > * { + width: 33.333%; +} +.uk-grid-width-1-4 > * { + width: 25%; +} +.uk-grid-width-1-5 > * { + width: 20%; +} +.uk-grid-width-1-6 > * { + width: 16.666%; +} +.uk-grid-width-1-10 > * { + width: 10%; +} +.uk-grid-width-auto > * { + width: auto; +} +/* Phone landscape and bigger */ +@media (min-width: 480px) { + .uk-grid-width-small-1-1 > * { + width: 100%; + } + .uk-grid-width-small-1-2 > * { + width: 50%; + } + .uk-grid-width-small-1-3 > * { + width: 33.333%; + } + .uk-grid-width-small-1-4 > * { + width: 25%; + } + .uk-grid-width-small-1-5 > * { + width: 20%; + } + .uk-grid-width-small-1-6 > * { + width: 16.666%; + } + .uk-grid-width-small-1-10 > * { + width: 10%; + } +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-grid-width-medium-1-1 > * { + width: 100%; + } + .uk-grid-width-medium-1-2 > * { + width: 50%; + } + .uk-grid-width-medium-1-3 > * { + width: 33.333%; + } + .uk-grid-width-medium-1-4 > * { + width: 25%; + } + .uk-grid-width-medium-1-5 > * { + width: 20%; + } + .uk-grid-width-medium-1-6 > * { + width: 16.666%; + } + .uk-grid-width-medium-1-10 > * { + width: 10%; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-grid-width-large-1-1 > * { + width: 100%; + } + .uk-grid-width-large-1-2 > * { + width: 50%; + } + .uk-grid-width-large-1-3 > * { + width: 33.333%; + } + .uk-grid-width-large-1-4 > * { + width: 25%; + } + .uk-grid-width-large-1-5 > * { + width: 20%; + } + .uk-grid-width-large-1-6 > * { + width: 16.666%; + } + .uk-grid-width-large-1-10 > * { + width: 10%; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-grid-width-xlarge-1-1 > * { + width: 100%; + } + .uk-grid-width-xlarge-1-2 > * { + width: 50%; + } + .uk-grid-width-xlarge-1-3 > * { + width: 33.333%; + } + .uk-grid-width-xlarge-1-4 > * { + width: 25%; + } + .uk-grid-width-xlarge-1-5 > * { + width: 20%; + } + .uk-grid-width-xlarge-1-6 > * { + width: 16.666%; + } + .uk-grid-width-xlarge-1-10 > * { + width: 10%; + } +} +/* Sub-objects: `uk-width-*` + ========================================================================== */ +[class*='uk-width'] { + box-sizing: border-box; + width: 100%; +} +/* + * Widths + */ +/* Whole */ +.uk-width-1-1 { + width: 100%; +} +/* Halves */ +.uk-width-1-2, +.uk-width-2-4, +.uk-width-3-6, +.uk-width-5-10 { + width: 50%; +} +/* Thirds */ +.uk-width-1-3, +.uk-width-2-6 { + width: 33.333%; +} +.uk-width-2-3, +.uk-width-4-6 { + width: 66.666%; +} +/* Quarters */ +.uk-width-1-4 { + width: 25%; +} +.uk-width-3-4 { + width: 75%; +} +/* Fifths */ +.uk-width-1-5, +.uk-width-2-10 { + width: 20%; +} +.uk-width-2-5, +.uk-width-4-10 { + width: 40%; +} +.uk-width-3-5, +.uk-width-6-10 { + width: 60%; +} +.uk-width-4-5, +.uk-width-8-10 { + width: 80%; +} +/* Sixths */ +.uk-width-1-6 { + width: 16.666%; +} +.uk-width-5-6 { + width: 83.333%; +} +/* Tenths */ +.uk-width-1-10 { + width: 10%; +} +.uk-width-3-10 { + width: 30%; +} +.uk-width-7-10 { + width: 70%; +} +.uk-width-9-10 { + width: 90%; +} +/* Phone landscape and bigger */ +@media (min-width: 480px) { + /* Whole */ + .uk-width-small-1-1 { + width: 100%; + } + /* Halves */ + .uk-width-small-1-2, + .uk-width-small-2-4, + .uk-width-small-3-6, + .uk-width-small-5-10 { + width: 50%; + } + /* Thirds */ + .uk-width-small-1-3, + .uk-width-small-2-6 { + width: 33.333%; + } + .uk-width-small-2-3, + .uk-width-small-4-6 { + width: 66.666%; + } + /* Quarters */ + .uk-width-small-1-4 { + width: 25%; + } + .uk-width-small-3-4 { + width: 75%; + } + /* Fifths */ + .uk-width-small-1-5, + .uk-width-small-2-10 { + width: 20%; + } + .uk-width-small-2-5, + .uk-width-small-4-10 { + width: 40%; + } + .uk-width-small-3-5, + .uk-width-small-6-10 { + width: 60%; + } + .uk-width-small-4-5, + .uk-width-small-8-10 { + width: 80%; + } + /* Sixths */ + .uk-width-small-1-6 { + width: 16.666%; + } + .uk-width-small-5-6 { + width: 83.333%; + } + /* Tenths */ + .uk-width-small-1-10 { + width: 10%; + } + .uk-width-small-3-10 { + width: 30%; + } + .uk-width-small-7-10 { + width: 70%; + } + .uk-width-small-9-10 { + width: 90%; + } +} +/* Tablet and bigger */ +@media (min-width: 768px) { + /* Whole */ + .uk-width-medium-1-1 { + width: 100%; + } + /* Halves */ + .uk-width-medium-1-2, + .uk-width-medium-2-4, + .uk-width-medium-3-6, + .uk-width-medium-5-10 { + width: 50%; + } + /* Thirds */ + .uk-width-medium-1-3, + .uk-width-medium-2-6 { + width: 33.333%; + } + .uk-width-medium-2-3, + .uk-width-medium-4-6 { + width: 66.666%; + } + /* Quarters */ + .uk-width-medium-1-4 { + width: 25%; + } + .uk-width-medium-3-4 { + width: 75%; + } + /* Fifths */ + .uk-width-medium-1-5, + .uk-width-medium-2-10 { + width: 20%; + } + .uk-width-medium-2-5, + .uk-width-medium-4-10 { + width: 40%; + } + .uk-width-medium-3-5, + .uk-width-medium-6-10 { + width: 60%; + } + .uk-width-medium-4-5, + .uk-width-medium-8-10 { + width: 80%; + } + /* Sixths */ + .uk-width-medium-1-6 { + width: 16.666%; + } + .uk-width-medium-5-6 { + width: 83.333%; + } + /* Tenths */ + .uk-width-medium-1-10 { + width: 10%; + } + .uk-width-medium-3-10 { + width: 30%; + } + .uk-width-medium-7-10 { + width: 70%; + } + .uk-width-medium-9-10 { + width: 90%; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + /* Whole */ + .uk-width-large-1-1 { + width: 100%; + } + /* Halves */ + .uk-width-large-1-2, + .uk-width-large-2-4, + .uk-width-large-3-6, + .uk-width-large-5-10 { + width: 50%; + } + /* Thirds */ + .uk-width-large-1-3, + .uk-width-large-2-6 { + width: 33.333%; + } + .uk-width-large-2-3, + .uk-width-large-4-6 { + width: 66.666%; + } + /* Quarters */ + .uk-width-large-1-4 { + width: 25%; + } + .uk-width-large-3-4 { + width: 75%; + } + /* Fifths */ + .uk-width-large-1-5, + .uk-width-large-2-10 { + width: 20%; + } + .uk-width-large-2-5, + .uk-width-large-4-10 { + width: 40%; + } + .uk-width-large-3-5, + .uk-width-large-6-10 { + width: 60%; + } + .uk-width-large-4-5, + .uk-width-large-8-10 { + width: 80%; + } + /* Sixths */ + .uk-width-large-1-6 { + width: 16.666%; + } + .uk-width-large-5-6 { + width: 83.333%; + } + /* Tenths */ + .uk-width-large-1-10 { + width: 10%; + } + .uk-width-large-3-10 { + width: 30%; + } + .uk-width-large-7-10 { + width: 70%; + } + .uk-width-large-9-10 { + width: 90%; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + /* Whole */ + .uk-width-xlarge-1-1 { + width: 100%; + } + /* Halves */ + .uk-width-xlarge-1-2, + .uk-width-xlarge-2-4, + .uk-width-xlarge-3-6, + .uk-width-xlarge-5-10 { + width: 50%; + } + /* Thirds */ + .uk-width-xlarge-1-3, + .uk-width-xlarge-2-6 { + width: 33.333%; + } + .uk-width-xlarge-2-3, + .uk-width-xlarge-4-6 { + width: 66.666%; + } + /* Quarters */ + .uk-width-xlarge-1-4 { + width: 25%; + } + .uk-width-xlarge-3-4 { + width: 75%; + } + /* Fifths */ + .uk-width-xlarge-1-5, + .uk-width-xlarge-2-10 { + width: 20%; + } + .uk-width-xlarge-2-5, + .uk-width-xlarge-4-10 { + width: 40%; + } + .uk-width-xlarge-3-5, + .uk-width-xlarge-6-10 { + width: 60%; + } + .uk-width-xlarge-4-5, + .uk-width-xlarge-8-10 { + width: 80%; + } + /* Sixths */ + .uk-width-xlarge-1-6 { + width: 16.666%; + } + .uk-width-xlarge-5-6 { + width: 83.333%; + } + /* Tenths */ + .uk-width-xlarge-1-10 { + width: 10%; + } + .uk-width-xlarge-3-10 { + width: 30%; + } + .uk-width-xlarge-7-10 { + width: 70%; + } + .uk-width-xlarge-9-10 { + width: 90%; + } +} +/* Sub-object: `uk-push-*` and `uk-pull-*` + ========================================================================== */ +/* + * Source ordering + * Works only with `uk-width-medium-*` + */ +/* Tablet and bigger */ +@media (min-width: 768px) { + [class*='uk-push-'], + [class*='uk-pull-'] { + position: relative; + } + /* + * Push + */ + /* Halves */ + .uk-push-1-2, + .uk-push-2-4, + .uk-push-3-6, + .uk-push-5-10 { + left: 50%; + } + /* Thirds */ + .uk-push-1-3, + .uk-push-2-6 { + left: 33.333%; + } + .uk-push-2-3, + .uk-push-4-6 { + left: 66.666%; + } + /* Quarters */ + .uk-push-1-4 { + left: 25%; + } + .uk-push-3-4 { + left: 75%; + } + /* Fifths */ + .uk-push-1-5, + .uk-push-2-10 { + left: 20%; + } + .uk-push-2-5, + .uk-push-4-10 { + left: 40%; + } + .uk-push-3-5, + .uk-push-6-10 { + left: 60%; + } + .uk-push-4-5, + .uk-push-8-10 { + left: 80%; + } + /* Sixths */ + .uk-push-1-6 { + left: 16.666%; + } + .uk-push-5-6 { + left: 83.333%; + } + /* Tenths */ + .uk-push-1-10 { + left: 10%; + } + .uk-push-3-10 { + left: 30%; + } + .uk-push-7-10 { + left: 70%; + } + .uk-push-9-10 { + left: 90%; + } + /* + * Pull + */ + /* Halves */ + .uk-pull-1-2, + .uk-pull-2-4, + .uk-pull-3-6, + .uk-pull-5-10 { + left: -50%; + } + /* Thirds */ + .uk-pull-1-3, + .uk-pull-2-6 { + left: -33.333%; + } + .uk-pull-2-3, + .uk-pull-4-6 { + left: -66.666%; + } + /* Quarters */ + .uk-pull-1-4 { + left: -25%; + } + .uk-pull-3-4 { + left: -75%; + } + /* Fifths */ + .uk-pull-1-5, + .uk-pull-2-10 { + left: -20%; + } + .uk-pull-2-5, + .uk-pull-4-10 { + left: -40%; + } + .uk-pull-3-5, + .uk-pull-6-10 { + left: -60%; + } + .uk-pull-4-5, + .uk-pull-8-10 { + left: -80%; + } + /* Sixths */ + .uk-pull-1-6 { + left: -16.666%; + } + .uk-pull-5-6 { + left: -83.333%; + } + /* Tenths */ + .uk-pull-1-10 { + left: -10%; + } + .uk-pull-3-10 { + left: -30%; + } + .uk-pull-7-10 { + left: -70%; + } + .uk-pull-9-10 { + left: -90%; + } +} +/* ======================================================================== + Component: Panel + ========================================================================== */ +/* + * 1. Needed for `a` elements + * 2. Create position context for badges + */ +.uk-panel { + /* 1 */ + display: block; + /* 2 */ + position: relative; +} +/* + * Allow panels to be anchors + */ +.uk-panel, +.uk-panel:hover { + text-decoration: none; +} +/* + * Micro clearfix to make panels more robust + */ +.uk-panel:before, +.uk-panel:after { + content: ""; + display: table; +} +.uk-panel:after { + clear: both; +} +/* + * Remove margin from the last-child if not `uk-widget-title` + */ +.uk-panel > :not(.uk-panel-title):last-child { + margin-bottom: 0; +} +/* Sub-object: `uk-panel-title` + ========================================================================== */ +.uk-panel-title { + margin-top: 0; + margin-bottom: 15px; + font-size: 18px; + line-height: 24px; + font-weight: normal; + text-transform: none; + color: #444; +} +/* Sub-object: `uk-panel-badge` + ========================================================================== */ +.uk-panel-badge { + position: absolute; + top: 0; + right: 0; + z-index: 1; +} +/* Sub-object: `uk-panel-teaser` + ========================================================================== */ +.uk-panel-teaser { + margin-bottom: 15px; +} +/* Sub-object: `uk-panel-body` + ========================================================================== */ +.uk-panel-body { + padding: 15px; +} +/* Modifier: `uk-panel-box` + ========================================================================== */ +.uk-panel-box { + padding: 15px; + background: #fafafa; + color: #444; + border: 1px solid #ddd; + border-radius: 4px; +} +.uk-panel-box-hover:hover { + color: #444; +} +.uk-panel-box .uk-panel-title { + color: #444; +} +.uk-panel-box .uk-panel-badge { + top: 10px; + right: 10px; +} +.uk-panel-box > .uk-panel-teaser { + margin-top: -16px; + margin-left: -16px; + margin-right: -16px; +} +/* + * Nav in panel + */ +.uk-panel-box > .uk-nav-side { + margin: 0 -15px; +} +/* + * Sub-modifier: `uk-panel-box-primary` + */ +.uk-panel-box-primary { + background-color: #ebf7fd; + color: #2d7091; + border-color: rgba(45, 112, 145, 0.3); +} +.uk-panel-box-primary-hover:hover { + color: #2d7091; +} +.uk-panel-box-primary .uk-panel-title { + color: #2d7091; +} +/* + * Sub-modifier: `uk-panel-box-secondary` + */ +.uk-panel-box-secondary { + background-color: #fff; + color: #444; +} +.uk-panel-box-secondary-hover:hover { + color: #444; +} +.uk-panel-box-secondary .uk-panel-title { + color: #444; +} +/* Modifier: `uk-panel-hover` + ========================================================================== */ +.uk-panel-hover { + padding: 15px; + color: #444; + border: 1px solid transparent; + border-radius: 4px; +} +.uk-panel-hover:hover { + background: #fafafa; + color: #444; + border-color: #ddd; +} +.uk-panel-hover .uk-panel-badge { + top: 10px; + right: 10px; +} +.uk-panel-hover > .uk-panel-teaser { + margin-top: -16px; + margin-left: -16px; + margin-right: -16px; +} +/* Modifier: `uk-panel-header` + ========================================================================== */ +.uk-panel-header .uk-panel-title { + padding-bottom: 10px; + border-bottom: 1px solid #ddd; + color: #444; +} +/* Modifier: `uk-panel-space` + ========================================================================== */ +.uk-panel-space { + padding: 30px; +} +.uk-panel-space .uk-panel-badge { + top: 30px; + right: 30px; +} +/* Modifier: `uk-panel-divider` + ========================================================================== */ +.uk-panel + .uk-panel-divider { + margin-top: 50px !important; +} +.uk-panel + .uk-panel-divider:before { + content: ""; + display: block; + position: absolute; + top: -25px; + left: 0; + right: 0; + border-top: 1px solid #ddd; +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-panel + .uk-panel-divider { + margin-top: 70px !important; + } + .uk-panel + .uk-panel-divider:before { + top: -35px; + } +} +.uk-panel-box .uk-panel-teaser { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + overflow: hidden; + -webkit-transform: translateZ(0); +} +/* ======================================================================== + Component: Block + ========================================================================== */ +.uk-block { + position: relative; + box-sizing: border-box; + padding-top: 20px; + padding-bottom: 20px; +} +/* Phone landscape and bigger */ +@media (min-width: 768px) { + .uk-block { + padding-top: 50px; + padding-bottom: 50px; + } +} +/* + * Micro clearfix to make blocks more robust + */ +.uk-block:before, +.uk-block:after { + content: ""; + display: table; +} +.uk-block:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-block > :last-child { + margin-bottom: 0; +} +/* Padding Modifier + ========================================================================== */ +/* + * Large padding + */ +.uk-block-large { + padding-top: 20px; + padding-bottom: 20px; +} +/* Tablets and bigger */ +@media (min-width: 768px) { + .uk-block-large { + padding-top: 50px; + padding-bottom: 50px; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-block-large { + padding-top: 100px; + padding-bottom: 100px; + } +} +/* Color Modifier + ========================================================================== */ +/* + * Default + */ +.uk-block-default { + background: #fff; +} +/* + * Muted + */ +.uk-block-muted { + background: #f9f9f9; +} +/* + * Primary + */ +.uk-block-primary { + background: #00a8e6; +} +/* + * Secondary + */ +.uk-block-secondary { + background: #222; +} +/* + * Adjust padding between equal colored blocks + */ +.uk-block-default + .uk-block-default, +.uk-block-muted + .uk-block-muted, +.uk-block-primary + .uk-block-primary, +.uk-block-secondary + .uk-block-secondary { + padding-top: 0; +} +/* ======================================================================== + Component: Article + ========================================================================== */ +/* + * Micro clearfix to make articles more robust + */ +.uk-article:before, +.uk-article:after { + content: ""; + display: table; +} +.uk-article:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-article > :last-child { + margin-bottom: 0; +} +/* + * Vertical gutter for articles + */ +.uk-article + .uk-article { + margin-top: 25px; +} +/* Sub-object `uk-article-title` + ========================================================================== */ +.uk-article-title { + font-size: 36px; + line-height: 42px; + font-weight: normal; + text-transform: none; +} +.uk-article-title a { + color: inherit; + text-decoration: none; +} +/* Sub-object `uk-article-meta` + ========================================================================== */ +.uk-article-meta { + font-size: 12px; + line-height: 18px; + color: #999; +} +/* Sub-object `uk-article-lead` + ========================================================================== */ +.uk-article-lead { + color: #444; + font-size: 18px; + line-height: 24px; + font-weight: normal; +} +/* Sub-object `uk-article-divider` + ========================================================================== */ +.uk-article-divider { + margin-bottom: 25px; + border-color: #ddd; +} +* + .uk-article-divider { + margin-top: 25px; +} +.uk-article + .uk-article { + padding-top: 25px; + border-top: 1px solid #ddd; +} +/* ======================================================================== + Component: Comment + ========================================================================== */ +/* Sub-object `uk-comment-header` + ========================================================================== */ +.uk-comment-header { + margin-bottom: 15px; + padding: 10px; + border: 1px solid #ddd; + border-radius: 4px; + background: #fafafa; +} +/* + * Micro clearfix + */ +.uk-comment-header:before, +.uk-comment-header:after { + content: ""; + display: table; +} +.uk-comment-header:after { + clear: both; +} +/* Sub-object `uk-comment-avatar` + ========================================================================== */ +.uk-comment-avatar { + margin-right: 15px; + float: left; +} +/* Sub-object `uk-comment-title` + ========================================================================== */ +.uk-comment-title { + margin: 5px 0 0 0; + font-size: 16px; + line-height: 22px; +} +/* Sub-object `uk-comment-meta` + ========================================================================== */ +.uk-comment-meta { + margin: 2px 0 0 0; + font-size: 11px; + line-height: 16px; + color: #999; +} +/* Sub-object `uk-comment-body` + ========================================================================== */ +.uk-comment-body { + padding-left: 10px; + padding-right: 10px; +} +/* + * Remove margin from the last-child + */ +.uk-comment-body > :last-child { + margin-bottom: 0; +} +/* Sub-object `uk-comment-list` + ========================================================================== */ +.uk-comment-list { + padding: 0; + list-style: none; +} +.uk-comment-list .uk-comment + ul { + margin: 25px 0 0 0; + list-style: none; +} +.uk-comment-list > li:nth-child(n+2), +.uk-comment-list .uk-comment + ul > li:nth-child(n+2) { + margin-top: 25px; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-comment-list .uk-comment + ul { + padding-left: 100px; + } +} +/* Modifier `uk-comment-primary` + ========================================================================== */ +.uk-comment-primary .uk-comment-header { + border-color: rgba(45, 112, 145, 0.3); + background-color: #ebf7fd; + color: #2d7091; + text-shadow: 0 1px 0 #fff; +} +/* ======================================================================== + Component: Cover + ========================================================================== */ +/* + * Background image always covers and centers its element + */ +.uk-cover-background { + background-position: 50% 50%; + background-size: cover; + background-repeat: no-repeat; +} +/* + * Emulates image cover, works with video and image elements + * 1. Parent container which clips resized object + * 2. Resizes the object to always covers its container + * 3. Reset the responsive image CSS + * 4. Center object + */ +/* 1 */ +.uk-cover { + overflow: hidden; +} +.uk-cover-object { + /* 2 */ + width: auto; + height: auto; + min-width: 100%; + min-height: 100%; + /* 3 */ + max-width: none; + /* 4 */ + position: relative; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} +/* + * To center iframes use `data-uk-cover` JavaScript + */ +[data-uk-cover] { + position: relative; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} +/* ======================================================================== + Component: Nav + ========================================================================== */ +.uk-nav, +.uk-nav ul { + margin: 0; + padding: 0; + list-style: none; +} +/* + * Items + */ +.uk-nav li > a { + display: block; + text-decoration: none; +} +.uk-nav > li > a { + padding: 5px 15px; +} +/* + * Nested items + */ +.uk-nav ul { + padding-left: 15px; +} +.uk-nav ul a { + padding: 2px 0; +} +/* + * Item subtitle + */ +.uk-nav li > a > div { + font-size: 12px; + line-height: 18px; +} +/* Sub-object: `uk-nav-header` + ========================================================================== */ +.uk-nav-header { + padding: 5px 15px; + text-transform: uppercase; + font-weight: bold; + font-size: 12px; +} +.uk-nav-header:not(:first-child) { + margin-top: 15px; +} +/* Sub-object: `uk-nav-divider` + ========================================================================== */ +.uk-nav-divider { + margin: 9px 15px; +} +/* Sub-object: `uk-nav-sub` + ========================================================================== */ +/* + * `ul` needed for higher specificity to override padding + */ +ul.uk-nav-sub { + padding: 5px 0 5px 15px; +} +/* Modifier: `uk-nav-parent-icon` + ========================================================================== */ +.uk-nav-parent-icon > .uk-parent > a:after { + content: "\f104"; + width: 20px; + margin-right: -10px; + float: right; + font-family: FontAwesome; + text-align: center; +} +.uk-nav-parent-icon > .uk-parent.uk-open > a:after { + content: "\f107"; +} +/* Modifier `uk-nav-side` + ========================================================================== */ +/* + * Items + */ +.uk-nav-side > li > a { + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-nav-side > li > a:hover, +.uk-nav-side > li > a:focus { + background: rgba(0, 0, 0, 0.03); + color: #444; + /* 2 */ + outline: none; + box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.1); + text-shadow: 0 -1px 0 #fff; +} +/* Active */ +.uk-nav-side > li.uk-active > a { + background: #009dd8; + color: #fff; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-side .uk-nav-header { + color: #444; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-side .uk-nav-divider { + border-top: 1px solid #ddd; + box-shadow: 0 1px 0 #fff; +} +/* + * Nested items + */ +.uk-nav-side ul a { + color: #07D; +} +.uk-nav-side ul a:hover { + color: #059; +} +/* Modifier `uk-nav-dropdown` + ========================================================================== */ +/* + * Items + */ +.uk-nav-dropdown > li > a { + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-nav-dropdown > li > a:hover, +.uk-nav-dropdown > li > a:focus { + background: #009dd8; + color: #fff; + /* 2 */ + outline: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-dropdown .uk-nav-header { + color: #999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-dropdown .uk-nav-divider { + border-top: 1px solid #ddd; +} +/* + * Nested items + */ +.uk-nav-dropdown ul a { + color: #07D; +} +.uk-nav-dropdown ul a:hover { + color: #059; +} +/* Modifier `uk-nav-navbar` + ========================================================================== */ +/* + * Items + */ +.uk-nav-navbar > li > a { + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-nav-navbar > li > a:hover, +.uk-nav-navbar > li > a:focus { + background: #009dd8; + color: #fff; + /* 2 */ + outline: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-navbar .uk-nav-header { + color: #999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-navbar .uk-nav-divider { + border-top: 1px solid #ddd; +} +/* + * Nested items + */ +.uk-nav-navbar ul a { + color: #07D; +} +.uk-nav-navbar ul a:hover { + color: #059; +} +/* Modifier `uk-nav-offcanvas` + ========================================================================== */ +/* + * Items + */ +.uk-nav-offcanvas > li > a { + color: #ccc; + padding: 10px 15px; + border-top: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); +} +/* + * Hover + * No hover on touch devices because it behaves buggy in fixed offcanvas + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-nav-offcanvas > .uk-open > a, +html:not(.uk-touch) .uk-nav-offcanvas > li > a:hover, +html:not(.uk-touch) .uk-nav-offcanvas > li > a:focus { + background: #404040; + color: #fff; + /* 2 */ + outline: none; +} +/* + * Active + * `html .uk-nav` needed for higher specificity to override hover + */ +html .uk-nav.uk-nav-offcanvas > li.uk-active > a { + background: #1a1a1a; + color: #fff; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-offcanvas .uk-nav-header { + color: #777; + margin-top: 0; + border-top: 1px solid rgba(0, 0, 0, 0.3); + background: #404040; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-offcanvas .uk-nav-divider { + border-top: 1px solid rgba(255, 255, 255, 0.01); + margin: 0; + height: 4px; + background: rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3); +} +/* + * Nested items + * No hover on touch devices because it behaves buggy in fixed offcanvas + */ +.uk-nav-offcanvas ul a { + color: #ccc; +} +html:not(.uk-touch) .uk-nav-offcanvas ul a:hover { + color: #fff; +} +/* + * Modifier `uk-nav-offcanvas` + */ +.uk-nav-offcanvas { + border-bottom: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05); +} +/* + * Sub-object: `uk-nav-sub` + */ +.uk-nav-offcanvas .uk-nav-sub { + border-top: 1px solid rgba(0, 0, 0, 0.3); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); +} +/* ======================================================================== + Component: Navbar + ========================================================================== */ +.uk-navbar { + background: #f7f7f7; + color: #444; + border: 1px solid rgba(0, 0, 0, 0.1); + border-bottom-color: rgba(0, 0, 0, 0.3); + border-radius: 4px; + background-origin: border-box; + background-image: -webkit-linear-gradient(top, #fff, #eee); + background-image: linear-gradient(to bottom, #fff, #eee); +} +/* + * Micro clearfix + */ +.uk-navbar:before, +.uk-navbar:after { + content: ""; + display: table; +} +.uk-navbar:after { + clear: both; +} +/* Sub-object: `uk-navbar-nav` + ========================================================================== */ +.uk-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} +/* + * 1. Create position context for dropdowns + */ +.uk-navbar-nav > li { + float: left; + /* 1 */ + position: relative; +} +/* + * 1. Dimensions + * 2. Style + */ +.uk-navbar-nav > li > a { + display: block; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: 41px; + padding: 0 15px; + line-height: 40px; + /* 2 */ + color: #444; + font-size: 14px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: normal; + margin-top: -1px; + margin-left: -1px; + border: 1px solid transparent; + border-bottom-width: 0; + text-shadow: 0 1px 0 #fff; +} +/* Appear not as link */ +.uk-navbar-nav > li > a[href='#'] { + cursor: text; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Also apply if dropdown is opened + * 3. Remove default focus style + */ +.uk-navbar-nav > li:hover > a, +.uk-navbar-nav > li > a:focus, +.uk-navbar-nav > li.uk-open > a { + background-color: transparent; + color: #444; + /* 3 */ + outline: none; + position: relative; + z-index: 1; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.1); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* OnClick */ +.uk-navbar-nav > li > a:active { + background-color: #f5f5f5; + color: #444; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.2); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* Active */ +.uk-navbar-nav > li.uk-active > a { + background-color: #fafafa; + color: #444; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.2); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* Sub-objects: `uk-navbar-nav-subtitle` + ========================================================================== */ +.uk-navbar-nav .uk-navbar-nav-subtitle { + line-height: 28px; +} +.uk-navbar-nav-subtitle > div { + margin-top: -6px; + font-size: 10px; + line-height: 12px; +} +/* Sub-objects: `uk-navbar-content`, `uk-navbar-brand`, `uk-navbar-toggle` + ========================================================================== */ +/* + * Imitate navbar items + */ +.uk-navbar-content, +.uk-navbar-brand, +.uk-navbar-toggle { + box-sizing: border-box; + display: block; + height: 41px; + padding: 0 15px; + float: left; + margin-top: -1px; + text-shadow: 0 1px 0 #fff; +} +/* + * Helper to center all child elements vertically + */ +.uk-navbar-content:before, +.uk-navbar-brand:before, +.uk-navbar-toggle:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} +/* Sub-objects: `uk-navbar-content` + ========================================================================== */ +/* + * Better sibling spacing + */ +.uk-navbar-content + .uk-navbar-content:not(.uk-navbar-center) { + padding-left: 0; +} +/* + * Link colors + */ +.uk-navbar-content > a:not([class]) { + color: #07D; +} +.uk-navbar-content > a:not([class]):hover { + color: #059; +} +/* Sub-objects: `uk-navbar-brand` + ========================================================================== */ +.uk-navbar-brand { + font-size: 18px; + color: #444; + text-decoration: none; +} +/* + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-navbar-brand:hover, +.uk-navbar-brand:focus { + color: #444; + text-decoration: none; + /* 2 */ + outline: none; +} +/* Sub-object: `uk-navbar-toggle` + ========================================================================== */ +.uk-navbar-toggle { + font-size: 18px; + color: #444; + text-decoration: none; +} +/* + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-navbar-toggle:hover, +.uk-navbar-toggle:focus { + color: #444; + text-decoration: none; + /* 2 */ + outline: none; +} +/* + * 1. Center icon vertically + */ +.uk-navbar-toggle:after { + content: "\f0c9"; + font-family: FontAwesome; + /* 1 */ + vertical-align: middle; +} +.uk-navbar-toggle-alt:after { + content: "\f002"; +} +/* Sub-object: `uk-navbar-center` + ========================================================================== */ +/* + * The element with this class needs to be last child in the navbar + * 1. This hack is needed because other float elements shift centered text + */ +.uk-navbar-center { + float: none; + text-align: center; + /* 1 */ + max-width: 50%; + margin-left: auto; + margin-right: auto; +} +/* Sub-object: `uk-navbar-flip` + ========================================================================== */ +.uk-navbar-flip { + float: right; +} +/* + * Apply same `border-radius` as `uk-navbar` + */ +.uk-navbar-nav:first-child > li:first-child > a { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +/* + * Sub-modifier `uk-navbar-flip` + */ +/* Collapse border */ +.uk-navbar-flip .uk-navbar-nav > li > a { + margin-left: 0; + margin-right: -1px; +} +/* Apply same `border-radius` as `uk-navbar` */ +.uk-navbar-flip .uk-navbar-nav:first-child > li:first-child > a { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.uk-navbar-flip .uk-navbar-nav:last-child > li:last-child > a { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +/* + * Sub-modifier `uk-navbar-attached` + */ +.uk-navbar-attached { + border-top-color: transparent; + border-left-color: transparent; + border-right-color: transparent; + border-radius: 0; +} +.uk-navbar-attached .uk-navbar-nav > li > a { + border-radius: 0 !important; +} +/* ======================================================================== + Component: Subnav + ========================================================================== */ +/* + * 1. Gutter + * 2. Remove default list style + */ +.uk-subnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -10px; + margin-top: -10px; + /* 2 */ + padding: 0; + list-style: none; +} +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + * 3. Create position context for dropdowns + */ +.uk-subnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: 10px; + margin-top: 10px; + /* 3 */ + position: relative; +} +/* + * DEPRECATED IE9 Support + */ +.uk-subnav:before, +.uk-subnav:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-subnav:after { + clear: both; +} +.uk-subnav > * { + float: left; +} +/* Items + ========================================================================== */ +.uk-subnav > * > * { + display: inline-block; + color: #444; +} +/* + * Hover + * 1. Apply hover style also to focus state + */ +.uk-subnav > * > :hover, +.uk-subnav > * > :focus { + color: #07D; + text-decoration: none; +} +/* + * Active + */ +.uk-subnav > .uk-active > * { + color: #07D; +} +/* Modifier: 'subnav-line' + ========================================================================== */ +.uk-subnav-line > :before { + content: ""; + display: inline-block; + height: 10px; + vertical-align: middle; +} +.uk-subnav-line > :nth-child(n+2):before { + margin-right: 10px; + border-left: 1px solid #ddd; +} +/* Modifier: 'subnav-pill' + ========================================================================== */ +.uk-subnav-pill > * > * { + padding: 3px 9px; + border-radius: 4px; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-subnav-pill > * > :hover, +.uk-subnav-pill > * > :focus { + background: #fafafa; + color: #444; + text-decoration: none; + /* 2 */ + outline: none; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1); +} +/* + * Active + * `li` needed for higher specificity to override hover + */ +.uk-subnav-pill > .uk-active > * { + background: #009dd8; + color: #fff; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); +} +/* Disabled state + ========================================================================== */ +.uk-subnav > .uk-disabled > * { + background: none; + color: #999; + text-decoration: none; + cursor: text; + box-shadow: none; +} +/* ======================================================================== + Component: Breadcrumb + ========================================================================== */ +/* + * 1. Remove default list style + * 2. Remove whitespace between child elements when using `inline-block` + */ +.uk-breadcrumb { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + font-size: 0.001px; +} +/* Items + ========================================================================== */ +/* + * Reset whitespace hack + */ +.uk-breadcrumb > li { + font-size: 1rem; + vertical-align: top; +} +.uk-breadcrumb > li, +.uk-breadcrumb > li > a, +.uk-breadcrumb > li > span { + display: inline-block; +} +.uk-breadcrumb > li:nth-child(n+2):before { + content: "/"; + display: inline-block; + margin: 0 8px; +} +/* + * Disabled + */ +.uk-breadcrumb > li:not(.uk-active) > span { + color: #999; +} +/* ======================================================================== + Component: Pagination + ========================================================================== */ +/* + * 1. Remove default list style + * 2. Center pagination by default + * 3. Remove whitespace between child elements when using `inline-block` + */ +.uk-pagination { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + text-align: center; + /* 3 */ + font-size: 0.001px; +} +/* + * Micro clearfix + * Needed if `uk-pagination-previous` or `uk-pagination-next` sub-objects are used + */ +.uk-pagination:before, +.uk-pagination:after { + content: ""; + display: table; +} +.uk-pagination:after { + clear: both; +} +/* Items + ========================================================================== */ +/* + * 1. Reset whitespace hack + * 2. Remove the gap at the bottom of it container + */ +.uk-pagination > li { + display: inline-block; + /* 1 */ + font-size: 1rem; + /* 2 */ + vertical-align: top; +} +.uk-pagination > li:nth-child(n+2) { + margin-left: 5px; +} +/* + * 1. Makes pagination more robust against different box-sizing use + * 2. Reset text-align to center if alignment modifier is used + */ +.uk-pagination > li > a, +.uk-pagination > li > span { + display: inline-block; + min-width: 16px; + padding: 3px 5px; + line-height: 20px; + text-decoration: none; + /* 1 */ + box-sizing: content-box; + /* 2 */ + text-align: center; + border-radius: 4px; +} +/* + * Links + */ +.uk-pagination > li > a { + background: #f7f7f7; + color: #444; + border: 1px solid rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.3); + background-origin: border-box; + background-image: -webkit-linear-gradient(top, #fff, #eee); + background-image: linear-gradient(to bottom, #fff, #eee); + text-shadow: 0 1px 0 #fff; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-pagination > li > a:hover, +.uk-pagination > li > a:focus { + background-color: #fafafa; + color: #444; + /* 2 */ + outline: none; + background-image: none; +} +/* OnClick */ +.uk-pagination > li > a:active { + background-color: #f5f5f5; + color: #444; + border-color: rgba(0, 0, 0, 0.2); + border-top-color: rgba(0, 0, 0, 0.3); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* + * Active + */ +.uk-pagination > .uk-active > span { + background: #009dd8; + color: #fff; + border: 1px solid rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.4); + background-origin: border-box; + background-image: -webkit-linear-gradient(top, #00b4f5, #008dc5); + background-image: linear-gradient(to bottom, #00b4f5, #008dc5); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* + * Disabled + */ +.uk-pagination > .uk-disabled > span { + background-color: #fafafa; + color: #999; + border: 1px solid rgba(0, 0, 0, 0.2); + text-shadow: 0 1px 0 #fff; +} +/* Previous and next navigation + ========================================================================== */ +.uk-pagination-previous { + float: left; +} +.uk-pagination-next { + float: right; +} +/* Alignment modifiers + ========================================================================== */ +.uk-pagination-left { + text-align: left; +} +.uk-pagination-right { + text-align: right; +} +/* ======================================================================== + Component: Tab + ========================================================================== */ +.uk-tab { + margin: 0; + padding: 0; + list-style: none; + border-bottom: 1px solid #ddd; +} +/* + * Micro clearfix on the deepest container + */ +.uk-tab:before, +.uk-tab:after { + content: ""; + display: table; +} +.uk-tab:after { + clear: both; +} +/* + * Items + * 1. Create position context for dropdowns + */ +.uk-tab > li { + margin-bottom: -1px; + float: left; + /* 1 */ + position: relative; +} +.uk-tab > li > a { + display: block; + padding: 8px 12px 8px 12px; + border: 1px solid transparent; + border-bottom-width: 0; + color: #07D; + text-decoration: none; + border-radius: 4px 4px 0 0; + text-shadow: 0 1px 0 #fff; +} +.uk-tab > li:nth-child(n+2) > a { + margin-left: 5px; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Also apply if dropdown is opened + * 3. Remove default focus style + */ +.uk-tab > li > a:hover, +.uk-tab > li > a:focus, +.uk-tab > li.uk-open > a { + border-color: #ddd; + background: #fafafa; + color: #059; + /* 2 */ + outline: none; +} +.uk-tab > li:not(.uk-active) > a:hover, +.uk-tab > li:not(.uk-active) > a:focus, +.uk-tab > li.uk-open:not(.uk-active) > a { + margin-bottom: 1px; + padding-bottom: 7px; +} +/* Active */ +.uk-tab > li.uk-active > a { + border-color: #ddd; + border-bottom-color: transparent; + background: #fff; + color: #444; +} +/* Disabled */ +.uk-tab > li.uk-disabled > a { + color: #999; + cursor: text; +} +.uk-tab > li.uk-disabled > a:hover, +.uk-tab > li.uk-disabled > a:focus, +.uk-tab > li.uk-disabled.uk-active > a { + background: none; + border-color: transparent; +} +/* Modifier: 'tab-flip' + ========================================================================== */ +.uk-tab-flip > li { + float: right; +} +.uk-tab-flip > li:nth-child(n+2) > a { + margin-left: 0; + margin-right: 5px; +} +/* Modifier: 'tab-responsive' + ========================================================================== */ +.uk-tab > li.uk-tab-responsive > a { + margin-left: 0; + margin-right: 0; +} +/* + * Icon + */ +.uk-tab-responsive > a:before { + content: "\f0c9\00a0"; + font-family: FontAwesome; +} +/* Modifier: 'tab-center' + ========================================================================== */ +.uk-tab-center { + border-bottom: 1px solid #ddd; +} +.uk-tab-center-bottom { + border-bottom: none; + border-top: 1px solid #ddd; +} +.uk-tab-center:before, +.uk-tab-center:after { + content: ""; + display: table; +} +.uk-tab-center:after { + clear: both; +} +/* + * 1. Using `right` to prevent vertical scrollbar caused by centering if to many tabs + */ +.uk-tab-center .uk-tab { + position: relative; + right: 50%; + border: none; + float: right; +} +.uk-tab-center .uk-tab > li { + position: relative; + right: -50%; +} +.uk-tab-center .uk-tab > li > a { + text-align: center; +} +/* Modifier: 'tab-bottom' + ========================================================================== */ +.uk-tab-bottom { + border-top: 1px solid #ddd; + border-bottom: none; +} +.uk-tab-bottom > li { + margin-top: -1px; + margin-bottom: 0; +} +.uk-tab-bottom > li > a { + padding-top: 8px; + padding-bottom: 8px; + border-bottom-width: 1px; + border-top-width: 0; +} +.uk-tab-bottom > li:not(.uk-active) > a:hover, +.uk-tab-bottom > li:not(.uk-active) > a:focus, +.uk-tab-bottom > li.uk-open:not(.uk-active) > a { + margin-bottom: 0; + margin-top: 1px; + padding-bottom: 8px; + padding-top: 7px; +} +.uk-tab-bottom > li.uk-active > a { + border-top-color: transparent; + border-bottom-color: #ddd; +} +/* Modifier: 'tab-grid' + ========================================================================== */ +/* + * 1. Create position context to prevent hidden border because of negative `z-index` + */ +.uk-tab-grid { + margin-left: -5px; + border-bottom: none; + /* 1 */ + position: relative; + z-index: 0; +} +.uk-tab-grid:before { + display: block; + position: absolute; + left: 5px; + right: 0; + bottom: -1px; + border-top: 1px solid #ddd; + /* 1 */ + z-index: -1; +} +.uk-tab-grid > li:first-child > a { + margin-left: 5px; +} +.uk-tab-grid > li > a { + text-align: center; +} +/* + * If `uk-tab-bottom` + */ +.uk-tab-grid.uk-tab-bottom { + border-top: none; +} +.uk-tab-grid.uk-tab-bottom:before { + top: -1px; + bottom: auto; +} +/* Modifier: 'tab-left', 'tab-right' + ========================================================================== */ +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-tab-left, + .uk-tab-right { + border-bottom: none; + } + .uk-tab-left > li, + .uk-tab-right > li { + margin-bottom: 0; + float: none; + } + .uk-tab-left > li > a, + .uk-tab-right > li > a { + padding-top: 8px; + padding-bottom: 8px; + } + .uk-tab-left > li:nth-child(n+2) > a, + .uk-tab-right > li:nth-child(n+2) > a { + margin-left: 0; + margin-top: 5px; + } + .uk-tab-left > li.uk-active > a, + .uk-tab-right > li.uk-active > a { + border-color: #ddd; + } + /* + * Modifier: 'tab-left' + */ + .uk-tab-left { + border-right: 1px solid #ddd; + } + .uk-tab-left > li { + margin-right: -1px; + } + .uk-tab-left > li > a { + border-bottom-width: 1px; + border-right-width: 0; + } + .uk-tab-left > li:not(.uk-active) > a:hover, + .uk-tab-left > li:not(.uk-active) > a:focus { + margin-bottom: 0; + margin-right: 1px; + padding-bottom: 8px; + padding-right: 11px; + } + .uk-tab-left > li.uk-active > a { + border-right-color: transparent; + } + /* + * Modifier: 'tab-right' + */ + .uk-tab-right { + border-left: 1px solid #ddd; + } + .uk-tab-right > li { + margin-left: -1px; + } + .uk-tab-right > li > a { + border-bottom-width: 1px; + border-left-width: 0; + } + .uk-tab-right > li:not(.uk-active) > a:hover, + .uk-tab-right > li:not(.uk-active) > a:focus { + margin-bottom: 0; + margin-left: 1px; + padding-bottom: 8px; + padding-left: 11px; + } + .uk-tab-right > li.uk-active > a { + border-left-color: transparent; + } +} +/* Modifier: `uk-tab-bottom' + ========================================================================== */ +.uk-tab-bottom > li > a { + border-radius: 0 0 4px 4px; +} +/* Modifier: `uk-tab-left', `uk-tab-right' + ========================================================================== */ +/* Tablet and bigger */ +@media (min-width: 768px) { + /* + * Modifier: `uk-tab-left' + */ + .uk-tab-left > li > a { + border-radius: 4px 0 0 4px; + } + /* + * Modifier: `uk-tab-right' + */ + .uk-tab-right > li > a { + border-radius: 0 4px 4px 0; + } +} +/* ======================================================================== + Component: Thumbnav + ========================================================================== */ +/* + * 1. Gutter + * 2. Remove default list style + */ +.uk-thumbnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -10px; + margin-top: -10px; + /* 2 */ + padding: 0; + list-style: none; +} +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + */ +.uk-thumbnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: 10px; + margin-top: 10px; +} +/* + * DEPRECATED IE9 Support + */ +.uk-thumbnav:before, +.uk-thumbnav:after { + content: ""; + display: block; + overflow: hidden; +} +.uk-thumbnav:after { + clear: both; +} +.uk-thumbnav > * { + float: left; +} +/* Items + ========================================================================== */ +.uk-thumbnav > * > * { + display: block; + background: #fff; +} +.uk-thumbnav > * > * > img { + opacity: 0.7; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +/* + * Hover + */ +.uk-thumbnav > * > :hover > img, +.uk-thumbnav > * > :focus > img { + opacity: 1; +} +/* + * Active + */ +.uk-thumbnav > .uk-active > * > img { + opacity: 1; +} +/* ======================================================================== + Component: List + ========================================================================== */ +.uk-list { + padding: 0; + list-style: none; +} +/* + * Micro clearfix to make list more robust + */ +.uk-list > li:before, +.uk-list > li:after { + content: ""; + display: table; +} +.uk-list > li:after { + clear: both; +} +/* + * Remove margin from the last-child + */ +.uk-list > li > :last-child { + margin-bottom: 0; +} +/* + * Nested lists + */ +.uk-list ul { + margin: 0; + padding-left: 20px; + list-style: none; +} +/* Modifier: `uk-list-line` + ========================================================================== */ +.uk-list-line > li:nth-child(n+2) { + margin-top: 5px; + padding-top: 5px; + border-top: 1px solid #ddd; +} +/* Modifier: `uk-list-striped` + ========================================================================== */ +.uk-list-striped > li { + padding: 5px 5px; + border-bottom: 1px solid #ddd; +} +.uk-list-striped > li:nth-of-type(odd) { + background: #fafafa; +} +/* Modifier: `uk-list-space` + ========================================================================== */ +.uk-list-space > li:nth-child(n+2) { + margin-top: 10px; +} +.uk-list-striped > li:first-child { + border-top: 1px solid #ddd; +} +/* ======================================================================== + Component: Description list + ========================================================================== */ +/* Modifier: `uk-description-list-horizontal` + ========================================================================== */ +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-description-list-horizontal { + overflow: hidden; + } + .uk-description-list-horizontal > dt { + width: 160px; + float: left; + clear: both; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .uk-description-list-horizontal > dd { + margin-left: 180px; + } +} +/* Modifier: `uk-description-list-line` + ========================================================================== */ +.uk-description-list-line > dt { + font-weight: normal; +} +.uk-description-list-line > dt:nth-child(n+2) { + margin-top: 5px; + padding-top: 5px; + border-top: 1px solid #ddd; +} +.uk-description-list-line > dd { + color: #999; +} +/* ======================================================================== + Component: Table + ========================================================================== */ +/* + * 1. Remove most spacing between table cells. + * 2. Block element behavior + * 3. Style + */ +.uk-table { + /* 1 */ + border-collapse: collapse; + border-spacing: 0; + /* 2 */ + width: 100%; + /* 3 */ + margin-bottom: 15px; +} +/* + * Add margin if adjacent element + */ +* + .uk-table { + margin-top: 15px; +} +.uk-table th, +.uk-table td { + padding: 8px 8px; + border-bottom: 1px solid #ddd; +} +/* + * Set alignment + */ +.uk-table th { + text-align: left; +} +.uk-table td { + vertical-align: top; +} +.uk-table thead th { + vertical-align: bottom; +} +/* + * Caption and footer + */ +.uk-table caption, +.uk-table tfoot { + font-size: 12px; + font-style: italic; +} +.uk-table caption { + text-align: left; + color: #999; +} +/* + * Active State + */ +.uk-table tbody tr.uk-active { + background: #f0f0f0; +} +/* Sub-modifier: `uk-table-middle` + ========================================================================== */ +.uk-table-middle, +.uk-table-middle td { + vertical-align: middle !important; +} +/* Modifier: `uk-table-striped` + ========================================================================== */ +.uk-table-striped tbody tr:nth-of-type(odd) { + background: #fafafa; +} +/* Modifier: `uk-table-condensed` + ========================================================================== */ +.uk-table-condensed td { + padding: 4px 8px; +} +/* Modifier: `uk-table-hover` + ========================================================================== */ +.uk-table-hover tbody tr:hover { + background: #f0f0f0; +} +/* ======================================================================== + Component: Form + ========================================================================== */ +/* + * 1. Define consistent box sizing. + * Default is `content-box` with following exceptions set to `border-box` + * `button`, `select`, `input[type="checkbox"]` and `input[type="radio"]` + * `input[type="search"]` in Chrome, Safari and Opera + * `input[type="color"]` in Firefox + * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera. + * 3. Remove `border-radius` in iOS. + * 4. Correct `font` properties and `color` not being inherited. + */ +.uk-form input, +.uk-form select, +.uk-form textarea { + /* 1 */ + box-sizing: border-box; + /* 2 */ + margin: 0; + /* 3 */ + border-radius: 0; + /* 4 */ + font: inherit; + color: inherit; +} +/* + * Address inconsistent `text-transform` inheritance which is only inherit in Firefox + */ +.uk-form select { + text-transform: none; +} +/* + * 1. Correct `font` properties not being inherited. + * 2. Don't inherit the `font-weight` and use `bold` instead. + * NOTE: Both declarations don't work in Chrome, Safari and Opera. + */ +.uk-form optgroup { + /* 1 */ + font: inherit; + /* 2 */ + font-weight: bold; +} +/* + * Removes inner padding and border in Firefox 4+. + */ +.uk-form input::-moz-focus-inner { + border: 0; + padding: 0; +} +/* + * Removes excess padding in IE 8/9/10. + */ +.uk-form input[type="checkbox"], +.uk-form input[type="radio"] { + padding: 0; +} +/* + * Improves consistency of cursor style for clickable elements + */ +.uk-form input[type="checkbox"]:not(:disabled), +.uk-form input[type="radio"]:not(:disabled) { + cursor: pointer; +} +/* + * Remove default style in iOS. + */ +.uk-form textarea, +.uk-form input:not([type]), +.uk-form input[type="text"], +.uk-form input[type="password"], +.uk-form input[type="email"], +.uk-form input[type="url"], +.uk-form input[type="search"], +.uk-form input[type="tel"], +.uk-form input[type="number"], +.uk-form input[type="datetime"] { + -webkit-appearance: none; +} +/* + * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X. + */ +.uk-form input[type="search"]::-webkit-search-cancel-button, +.uk-form input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +/* + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +.uk-form input[type="number"]::-webkit-inner-spin-button, +.uk-form input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +/* + * Define consistent border, margin, and padding. + */ +.uk-form fieldset { + border: none; + margin: 0; + padding: 0; +} +/* + * 1. Remove default vertical scrollbar in IE 8/9/10/11. + * 2. Improve readability and alignment in all browsers. + */ +.uk-form textarea { + /* 1 */ + overflow: auto; + /* 2 */ + vertical-align: top; +} +/* + * Removes placeholder transparency in Firefox. + */ +.uk-form ::-moz-placeholder { + opacity: 1; +} +/* + * Removes `box-shadow` for invalid controls in Firefox. + */ +.uk-form :invalid { + box-shadow: none; +} +/* + * Vertical alignment + */ +.uk-form input:not([type="radio"]):not([type="checkbox"]), +.uk-form select { + vertical-align: middle; +} +/* Style + ========================================================================== */ +/* + * Remove margin from the last-child + */ +.uk-form > :last-child { + margin-bottom: 0; +} +/* + * Controls + * Except for `range`, `radio`, `checkbox`, `file`, `submit`, `reset`, `button` and `image` + * 1. Must be `height` because `min-height` is not working in OSX + * 2. Responsiveness: Sets a maximum width relative to the parent to scale on narrower viewports + * 3. Vertical `padding` needed for `select` elements in Firefox + * 4. Style + */ +.uk-form select, +.uk-form textarea, +.uk-form input:not([type]), +.uk-form input[type="text"], +.uk-form input[type="password"], +.uk-form input[type="datetime"], +.uk-form input[type="datetime-local"], +.uk-form input[type="date"], +.uk-form input[type="month"], +.uk-form input[type="time"], +.uk-form input[type="week"], +.uk-form input[type="number"], +.uk-form input[type="email"], +.uk-form input[type="url"], +.uk-form input[type="search"], +.uk-form input[type="tel"], +.uk-form input[type="color"] { + /* 1 */ + height: 30px; + /* 2 */ + max-width: 100%; + /* 3 */ + padding: 4px 6px; + /* 4 */ + border: 1px solid #ddd; + background: #fff; + color: #444; + -webkit-transition: all 0.2s linear; + -webkit-transition-property: border, background, color, box-shadow, padding; + transition: all 0.2s linear; + transition-property: border, background, color, box-shadow, padding; + border-radius: 4px; +} +.uk-form select:focus, +.uk-form textarea:focus, +.uk-form input:not([type]):focus, +.uk-form input[type="text"]:focus, +.uk-form input[type="password"]:focus, +.uk-form input[type="datetime"]:focus, +.uk-form input[type="datetime-local"]:focus, +.uk-form input[type="date"]:focus, +.uk-form input[type="month"]:focus, +.uk-form input[type="time"]:focus, +.uk-form input[type="week"]:focus, +.uk-form input[type="number"]:focus, +.uk-form input[type="email"]:focus, +.uk-form input[type="url"]:focus, +.uk-form input[type="search"]:focus, +.uk-form input[type="tel"]:focus, +.uk-form input[type="color"]:focus { + border-color: #99baca; + outline: 0; + background: #f5fbfe; + color: #444; +} +.uk-form select:disabled, +.uk-form textarea:disabled, +.uk-form input:not([type]):disabled, +.uk-form input[type="text"]:disabled, +.uk-form input[type="password"]:disabled, +.uk-form input[type="datetime"]:disabled, +.uk-form input[type="datetime-local"]:disabled, +.uk-form input[type="date"]:disabled, +.uk-form input[type="month"]:disabled, +.uk-form input[type="time"]:disabled, +.uk-form input[type="week"]:disabled, +.uk-form input[type="number"]:disabled, +.uk-form input[type="email"]:disabled, +.uk-form input[type="url"]:disabled, +.uk-form input[type="search"]:disabled, +.uk-form input[type="tel"]:disabled, +.uk-form input[type="color"]:disabled { + border-color: #ddd; + background-color: #fafafa; + color: #999; +} +/* + * Placeholder + */ +.uk-form :-ms-input-placeholder { + color: #999 !important; +} +.uk-form ::-moz-placeholder { + color: #999; +} +.uk-form ::-webkit-input-placeholder { + color: #999; +} +.uk-form :disabled:-ms-input-placeholder { + color: #999 !important; +} +.uk-form :disabled::-moz-placeholder { + color: #999; +} +.uk-form :disabled::-webkit-input-placeholder { + color: #999; +} +/* + * Legend + * 1. Behave like block element + * 2. Correct `color` not being inherited in IE 8/9/10/11. + * 3. Remove padding + * 4. `margin-bottom` is not working in Safari and Opera. + * Using `padding` and :after instead to create the border + * 5. Style + */ +.uk-form legend { + /* 1 */ + width: 100%; + /* 2 */ + border: 0; + /* 3 */ + padding: 0; + /* 4 */ + padding-bottom: 15px; + /* 5 */ + font-size: 18px; + line-height: 30px; +} +/* + * 1. Fixes IE9 + */ +.uk-form legend:after { + content: ""; + display: block; + border-bottom: 1px solid #ddd; + /* 1 */ + width: 100%; +} +/* Size modifiers + * Higher specificity needed to override defaults + ========================================================================== */ +select.uk-form-small, +textarea.uk-form-small, +input[type].uk-form-small, +input:not([type]).uk-form-small { + height: 25px; + padding: 3px 3px; + font-size: 12px; +} +select.uk-form-large, +textarea.uk-form-large, +input[type].uk-form-large, +input:not([type]).uk-form-large { + height: 40px; + padding: 8px 6px; + font-size: 16px; +} +/* Reset height + * Must be after size modifiers + ========================================================================== */ +.uk-form textarea, +.uk-form select[multiple], +.uk-form select[size] { + height: auto; +} +/* Validation states + * Using !important to keep the selector simple + ========================================================================== */ +/* + * Error state + */ +.uk-form-danger { + border-color: #dc8d99 !important; + background: #fff7f8 !important; + color: #d85030 !important; +} +/* + * Success state + */ +.uk-form-success { + border-color: #8ec73b !important; + background: #fafff2 !important; + color: #659f13 !important; +} +/* Style modifiers + * Using !important to keep the selector simple + ========================================================================== */ +/* + * Blank form + */ +.uk-form-blank { + border-color: transparent !important; + border-style: dashed !important; + background: none !important; +} +.uk-form-blank:focus { + border-color: #ddd !important; +} +/* Size sub-modifiers + ========================================================================== */ +/* + * Fixed widths + * Different widths for mini sized `input` and `select` elements + */ +input.uk-form-width-mini { + width: 40px; +} +select.uk-form-width-mini { + width: 65px; +} +.uk-form-width-small { + width: 130px; +} +.uk-form-width-medium { + width: 200px; +} +.uk-form-width-large { + width: 500px; +} +/* Sub-objects: `uk-form-row` + * Groups labels and controls in rows + ========================================================================== */ +/* + * Micro clearfix + * Needed for `uk-form-horizontal` modifier + */ +.uk-form-row:before, +.uk-form-row:after { + content: ""; + display: table; +} +.uk-form-row:after { + clear: both; +} +/* + * Vertical gutter + */ +.uk-form-row + .uk-form-row { + margin-top: 15px; +} +/* Help text + * Sub-object: `uk-form-help-inline`, `uk-form-help-block` + ========================================================================== */ +.uk-form-help-inline { + display: inline-block; + margin: 0 0 0 10px; +} +.uk-form-help-block { + margin: 5px 0 0 0; +} +/* Controls content + * Sub-object: `uk-form-controls`, `uk-form-controls-condensed` + ========================================================================== */ +/* + * Remove margins + */ +.uk-form-controls > :first-child { + margin-top: 0; +} +.uk-form-controls > :last-child { + margin-bottom: 0; +} +/* + * Group controls and text into blocks with a small spacing between blocks + */ +.uk-form-controls-condensed { + margin: 5px 0; +} +/* Modifier: `uk-form-stacked` + * Requires sub-object: `uk-form-label` + ========================================================================== */ +.uk-form-stacked .uk-form-label { + display: block; + margin-bottom: 5px; + font-weight: bold; +} +/* Modifier: `uk-form-horizontal` + * Requires sub-objects: `uk-form-label`, `uk-form-controls` + ========================================================================== */ +/* Tablet portrait and smaller */ +@media (max-width: 959px) { + /* Behave like `uk-form-stacked` */ + .uk-form-horizontal .uk-form-label { + display: block; + margin-bottom: 5px; + font-weight: bold; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-form-horizontal .uk-form-label { + width: 200px; + margin-top: 5px; + float: left; + } + .uk-form-horizontal .uk-form-controls { + margin-left: 215px; + } + /* Better vertical alignment if controls are checkboxes and radio buttons with text */ + .uk-form-horizontal .uk-form-controls-text { + padding-top: 5px; + } +} +/* Sub-object: `uk-form-icon` + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + */ +.uk-form-icon { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; +} +/* + * 1. Make form element clickable through icon + */ +.uk-form-icon > [class*='uk-icon-'] { + position: absolute; + top: 50%; + width: 30px; + margin-top: -7px; + font-size: 14px; + color: #999; + text-align: center; + /* 1 */ + pointer-events: none; +} +.uk-form-icon:not(.uk-form-icon-flip) > input { + padding-left: 30px !important; +} +/* + * Sub-modifier: `uk-form-icon-flip` + */ +.uk-form-icon-flip > [class*='uk-icon-'] { + right: 0; +} +.uk-form-icon-flip > input { + padding-right: 30px !important; +} +/* ======================================================================== + Component: Button + ========================================================================== */ +/* + * Removes inner padding and border in Firefox 4+. + */ +.uk-button::-moz-focus-inner { + border: 0; + padding: 0; +} +/* + * 1. Correct inability to style clickable `input` types in iOS. + * 2. Remove margins in Chrome, Safari and Opera. + * 3. Remove borders for `button`. + * 4. Address `overflow` set to `hidden` in IE 8/9/10/11. + * 5. Correct `font` properties and `color` not being inherited for `button`. + * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE + * 7. Style + * 8. `line-height` is used to create a height + * 9. `min-height` is necessary for `input` elements in Firefox and Opera because `line-height` is not working. + * 10. Reset button group whitespace hack + * 11. Required for `a`. + */ +.uk-button { + /* 1 */ + -webkit-appearance: none; + /* 2 */ + margin: 0; + /* 3 */ + border: none; + /* 4 */ + overflow: visible; + /* 5 */ + font: inherit; + color: #444; + /* 6 */ + text-transform: none; + /* 7 */ + display: inline-block; + box-sizing: border-box; + padding: 0 12px; + background: #f7f7f7; + vertical-align: middle; + /* 8 */ + line-height: 28px; + /* 9 */ + min-height: 30px; + /* 10 */ + font-size: 1rem; + /* 11 */ + text-decoration: none; + text-align: center; + border: 1px solid rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.3); + background-origin: border-box; + background-image: -webkit-linear-gradient(top, #fff, #eee); + background-image: linear-gradient(to bottom, #fff, #eee); + border-radius: 4px; + text-shadow: 0 1px 0 #fff; +} +.uk-button:not(:disabled) { + cursor: pointer; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + */ +.uk-button:hover, +.uk-button:focus { + background-color: #fafafa; + color: #444; + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + background-image: none; +} +/* Active */ +.uk-button:active, +.uk-button.uk-active { + background-color: #f5f5f5; + color: #444; + border-color: rgba(0, 0, 0, 0.2); + border-top-color: rgba(0, 0, 0, 0.3); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* Color modifiers + ========================================================================== */ +/* + * Modifier: `uk-button-primary` + */ +.uk-button-primary { + background-color: #009dd8; + color: #fff; + background-image: -webkit-linear-gradient(top, #00b4f5, #008dc5); + background-image: linear-gradient(to bottom, #00b4f5, #008dc5); + border-color: rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.4); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* Hover */ +.uk-button-primary:hover, +.uk-button-primary:focus { + background-color: #00aff2; + color: #fff; + background-image: none; +} +/* Active */ +.uk-button-primary:active, +.uk-button-primary.uk-active { + background-color: #008abf; + color: #fff; + background-image: none; + border-color: rgba(0, 0, 0, 0.2); + border-top-color: rgba(0, 0, 0, 0.4); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); +} +/* + * Modifier: `uk-button-success` + */ +.uk-button-success { + background-color: #82bb42; + color: #fff; + background-image: -webkit-linear-gradient(top, #9fd256, #6fac34); + background-image: linear-gradient(to bottom, #9fd256, #6fac34); + border-color: rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.4); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* Hover */ +.uk-button-success:hover, +.uk-button-success:focus { + background-color: #8fce48; + color: #fff; + background-image: none; +} +/* Active */ +.uk-button-success:active, +.uk-button-success.uk-active { + background-color: #76b430; + color: #fff; + background-image: none; + border-color: rgba(0, 0, 0, 0.2); + border-top-color: rgba(0, 0, 0, 0.4); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); +} +/* + * Modifier: `uk-button-danger` + */ +.uk-button-danger { + background-color: #d32c46; + color: #fff; + background-image: -webkit-linear-gradient(top, #ee465a, #c11a39); + background-image: linear-gradient(to bottom, #ee465a, #c11a39); + border-color: rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.4); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* Hover */ +.uk-button-danger:hover, +.uk-button-danger:focus { + background-color: #e33551; + color: #fff; + background-image: none; +} +/* Active */ +.uk-button-danger:active, +.uk-button-danger.uk-active { + background-color: #c91c37; + color: #fff; + background-image: none; + border-color: rgba(0, 0, 0, 0.2); + border-top-color: rgba(0, 0, 0, 0.4); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); +} +/* Disabled state + * Overrides also the color modifiers + ========================================================================== */ +/* Equal for all button types */ +.uk-button:disabled { + background-color: #fafafa; + color: #999; + border-color: rgba(0, 0, 0, 0.2); + background-image: none; + box-shadow: none; + text-shadow: 0 1px 0 #fff; +} +/* Modifier: `uk-button-link` + ========================================================================== */ +/* Reset */ +.uk-button-link, +.uk-button-link:hover, +.uk-button-link:focus, +.uk-button-link:active, +.uk-button-link.uk-active, +.uk-button-link:disabled { + border-color: transparent; + background: none; + box-shadow: none; + text-shadow: none; +} +/* Color */ +.uk-button-link { + color: #07D; +} +.uk-button-link:hover, +.uk-button-link:focus, +.uk-button-link:active, +.uk-button-link.uk-active { + color: #059; + text-decoration: underline; +} +.uk-button-link:disabled { + color: #999; +} +/* Focus */ +.uk-button-link:focus { + outline: 1px dotted; +} +/* Size modifiers + ========================================================================== */ +.uk-button-mini { + min-height: 20px; + padding: 0 6px; + line-height: 18px; + font-size: 11px; +} +.uk-button-small { + min-height: 25px; + padding: 0 10px; + line-height: 23px; + font-size: 12px; +} +.uk-button-large { + min-height: 40px; + padding: 0 15px; + line-height: 38px; + font-size: 16px; + border-radius: 5px; +} +/* Sub-object `uk-button-group` + ========================================================================== */ +/* + * 1. Behave like buttons + * 2. Create position context for dropdowns + * 3. Remove whitespace between child elements when using `inline-block` + * 4. Prevent buttons from wrapping + * 5. Remove whitespace between child elements when using `inline-block` + */ +.uk-button-group { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + font-size: 0.001px; + /* 4 */ + white-space: nowrap; +} +.uk-button-group > * { + display: inline-block; +} +/* 5 */ +.uk-button-group .uk-button { + vertical-align: top; +} +/* Sub-object: `uk-button-dropdown` + ========================================================================== */ +/* + * 1. Behave like buttons + * 2. Create position context for dropdowns + */ +.uk-button-dropdown { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; +} +/* Sub-object `uk-button-group` + ========================================================================== */ +/* + * Reset border-radius + */ +.uk-button-group > .uk-button:not(:first-child):not(:last-child), +.uk-button-group > div:not(:first-child):not(:last-child) .uk-button { + border-radius: 0; +} +.uk-button-group > .uk-button:first-child, +.uk-button-group > div:first-child .uk-button { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.uk-button-group > .uk-button:last-child, +.uk-button-group > div:last-child .uk-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +/* + * Collapse border + */ +.uk-button-group > .uk-button:nth-child(n+2), +.uk-button-group > div:nth-child(n+2) .uk-button { + margin-left: -1px; +} +/* + * Create position context to superimpose the successor elements border + * Known issue: If you use an `a` element as button and an icon inside, + * the active state will not work if you click the icon inside the button + * Workaround: Just use a `button` or `input` element as button + */ +.uk-button-group .uk-button:hover, +.uk-button-group .uk-button:active, +.uk-button-group .uk-button.uk-active { + position: relative; +} +/* ======================================================================== + Component: Icon + ========================================================================== */ +@font-face { + font-family: 'FontAwesome'; + src: url("../fonts/fontawesome-webfont.woff2") format('woff2'), url("../fonts/fontawesome-webfont.woff") format("woff"), url("../fonts/fontawesome-webfont.ttf") format("truetype"); + font-weight: normal; + font-style: normal; +} +/* + * 1. Allow margin + * 2. Prevent inherit font style + * 4. Correct line-height + * 5. Better font rendering + * 6. Remove `text-decoration` for anchors + */ +[class*='uk-icon-'] { + font-family: FontAwesome; + /* 1 */ + display: inline-block; + /* 2 */ + font-weight: normal; + font-style: normal; + /* 4 */ + line-height: 1; + /* 5 */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* 6 */ +[class*='uk-icon-'], +[class*='uk-icon-']:hover, +[class*='uk-icon-']:focus { + text-decoration: none; +} +/* Size modifiers + ========================================================================== */ +.uk-icon-small { + font-size: 150%; + vertical-align: -10%; +} +.uk-icon-medium { + font-size: 200%; + vertical-align: -16%; +} +.uk-icon-large { + font-size: 250%; + vertical-align: -22%; +} +/* Modifier: `uk-icon-justify` + ========================================================================== */ +.uk-icon-justify { + width: 1em; + text-align: center; +} +/* Modifier: `uk-icon-spin` + ========================================================================== */ +.uk-icon-spin { + display: inline-block; + -webkit-animation: uk-rotate 2s infinite linear; + animation: uk-rotate 2s infinite linear; +} +/* Modifier: `uk-icon-hover` + ========================================================================== */ +.uk-icon-hover { + color: #999; +} +/* + * Hover + */ +.uk-icon-hover:hover { + color: #444; +} +/* Modifier: `uk-icon-button` + ========================================================================== */ +.uk-icon-button { + box-sizing: border-box; + display: inline-block; + width: 35px; + height: 35px; + border-radius: 100%; + background: #f7f7f7; + line-height: 35px; + color: #444; + font-size: 18px; + text-align: center; + border: 1px solid #ccc; + border-bottom-color: #bbb; + background-origin: border-box; + background-image: -webkit-linear-gradient(top, #fff, #eee); + background-image: linear-gradient(to bottom, #fff, #eee); + text-shadow: 0 1px 0 #fff; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-icon-button:hover, +.uk-icon-button:focus { + background-color: #fafafa; + color: #444; + /* 2 */ + outline: none; + background-image: none; +} +/* Active */ +.uk-icon-button:active { + background-color: #f5f5f5; + color: #444; + border-color: #ccc; + border-top-color: #bbb; + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* Icon mapping + ========================================================================== */ +.uk-icon-glass:before { + content: "\f000"; +} +.uk-icon-music:before { + content: "\f001"; +} +.uk-icon-search:before { + content: "\f002"; +} +.uk-icon-envelope-o:before { + content: "\f003"; +} +.uk-icon-heart:before { + content: "\f004"; +} +.uk-icon-star:before { + content: "\f005"; +} +.uk-icon-star-o:before { + content: "\f006"; +} +.uk-icon-user:before { + content: "\f007"; +} +.uk-icon-film:before { + content: "\f008"; +} +.uk-icon-th-large:before { + content: "\f009"; +} +.uk-icon-th:before { + content: "\f00a"; +} +.uk-icon-th-list:before { + content: "\f00b"; +} +.uk-icon-check:before { + content: "\f00c"; +} +.uk-icon-remove:before, +.uk-icon-close:before, +.uk-icon-times:before { + content: "\f00d"; +} +.uk-icon-search-plus:before { + content: "\f00e"; +} +.uk-icon-search-minus:before { + content: "\f010"; +} +.uk-icon-power-off:before { + content: "\f011"; +} +.uk-icon-signal:before { + content: "\f012"; +} +.uk-icon-gear:before, +.uk-icon-cog:before { + content: "\f013"; +} +.uk-icon-trash-o:before { + content: "\f014"; +} +.uk-icon-home:before { + content: "\f015"; +} +.uk-icon-file-o:before { + content: "\f016"; +} +.uk-icon-clock-o:before { + content: "\f017"; +} +.uk-icon-road:before { + content: "\f018"; +} +.uk-icon-download:before { + content: "\f019"; +} +.uk-icon-arrow-circle-o-down:before { + content: "\f01a"; +} +.uk-icon-arrow-circle-o-up:before { + content: "\f01b"; +} +.uk-icon-inbox:before { + content: "\f01c"; +} +.uk-icon-play-circle-o:before { + content: "\f01d"; +} +.uk-icon-rotate-right:before, +.uk-icon-repeat:before { + content: "\f01e"; +} +.uk-icon-refresh:before { + content: "\f021"; +} +.uk-icon-list-alt:before { + content: "\f022"; +} +.uk-icon-lock:before { + content: "\f023"; +} +.uk-icon-flag:before { + content: "\f024"; +} +.uk-icon-headphones:before { + content: "\f025"; +} +.uk-icon-volume-off:before { + content: "\f026"; +} +.uk-icon-volume-down:before { + content: "\f027"; +} +.uk-icon-volume-up:before { + content: "\f028"; +} +.uk-icon-qrcode:before { + content: "\f029"; +} +.uk-icon-barcode:before { + content: "\f02a"; +} +.uk-icon-tag:before { + content: "\f02b"; +} +.uk-icon-tags:before { + content: "\f02c"; +} +.uk-icon-book:before { + content: "\f02d"; +} +.uk-icon-bookmark:before { + content: "\f02e"; +} +.uk-icon-print:before { + content: "\f02f"; +} +.uk-icon-camera:before { + content: "\f030"; +} +.uk-icon-font:before { + content: "\f031"; +} +.uk-icon-bold:before { + content: "\f032"; +} +.uk-icon-italic:before { + content: "\f033"; +} +.uk-icon-text-height:before { + content: "\f034"; +} +.uk-icon-text-width:before { + content: "\f035"; +} +.uk-icon-align-left:before { + content: "\f036"; +} +.uk-icon-align-center:before { + content: "\f037"; +} +.uk-icon-align-right:before { + content: "\f038"; +} +.uk-icon-align-justify:before { + content: "\f039"; +} +.uk-icon-list:before { + content: "\f03a"; +} +.uk-icon-dedent:before, +.uk-icon-outdent:before { + content: "\f03b"; +} +.uk-icon-indent:before { + content: "\f03c"; +} +.uk-icon-video-camera:before { + content: "\f03d"; +} +.uk-icon-photo:before, +.uk-icon-image:before, +.uk-icon-picture-o:before { + content: "\f03e"; +} +.uk-icon-pencil:before { + content: "\f040"; +} +.uk-icon-map-marker:before { + content: "\f041"; +} +.uk-icon-adjust:before { + content: "\f042"; +} +.uk-icon-tint:before { + content: "\f043"; +} +.uk-icon-edit:before, +.uk-icon-pencil-square-o:before { + content: "\f044"; +} +.uk-icon-share-square-o:before { + content: "\f045"; +} +.uk-icon-check-square-o:before { + content: "\f046"; +} +.uk-icon-arrows:before { + content: "\f047"; +} +.uk-icon-step-backward:before { + content: "\f048"; +} +.uk-icon-fast-backward:before { + content: "\f049"; +} +.uk-icon-backward:before { + content: "\f04a"; +} +.uk-icon-play:before { + content: "\f04b"; +} +.uk-icon-pause:before { + content: "\f04c"; +} +.uk-icon-stop:before { + content: "\f04d"; +} +.uk-icon-forward:before { + content: "\f04e"; +} +.uk-icon-fast-forward:before { + content: "\f050"; +} +.uk-icon-step-forward:before { + content: "\f051"; +} +.uk-icon-eject:before { + content: "\f052"; +} +.uk-icon-chevron-left:before { + content: "\f053"; +} +.uk-icon-chevron-right:before { + content: "\f054"; +} +.uk-icon-plus-circle:before { + content: "\f055"; +} +.uk-icon-minus-circle:before { + content: "\f056"; +} +.uk-icon-times-circle:before { + content: "\f057"; +} +.uk-icon-check-circle:before { + content: "\f058"; +} +.uk-icon-question-circle:before { + content: "\f059"; +} +.uk-icon-info-circle:before { + content: "\f05a"; +} +.uk-icon-crosshairs:before { + content: "\f05b"; +} +.uk-icon-times-circle-o:before { + content: "\f05c"; +} +.uk-icon-check-circle-o:before { + content: "\f05d"; +} +.uk-icon-ban:before { + content: "\f05e"; +} +.uk-icon-arrow-left:before { + content: "\f060"; +} +.uk-icon-arrow-right:before { + content: "\f061"; +} +.uk-icon-arrow-up:before { + content: "\f062"; +} +.uk-icon-arrow-down:before { + content: "\f063"; +} +.uk-icon-mail-forward:before, +.uk-icon-share:before { + content: "\f064"; +} +.uk-icon-expand:before { + content: "\f065"; +} +.uk-icon-compress:before { + content: "\f066"; +} +.uk-icon-plus:before { + content: "\f067"; +} +.uk-icon-minus:before { + content: "\f068"; +} +.uk-icon-asterisk:before { + content: "\f069"; +} +.uk-icon-exclamation-circle:before { + content: "\f06a"; +} +.uk-icon-gift:before { + content: "\f06b"; +} +.uk-icon-leaf:before { + content: "\f06c"; +} +.uk-icon-fire:before { + content: "\f06d"; +} +.uk-icon-eye:before { + content: "\f06e"; +} +.uk-icon-eye-slash:before { + content: "\f070"; +} +.uk-icon-warning:before, +.uk-icon-exclamation-triangle:before { + content: "\f071"; +} +.uk-icon-plane:before { + content: "\f072"; +} +.uk-icon-calendar:before { + content: "\f073"; +} +.uk-icon-random:before { + content: "\f074"; +} +.uk-icon-comment:before { + content: "\f075"; +} +.uk-icon-magnet:before { + content: "\f076"; +} +.uk-icon-chevron-up:before { + content: "\f077"; +} +.uk-icon-chevron-down:before { + content: "\f078"; +} +.uk-icon-retweet:before { + content: "\f079"; +} +.uk-icon-shopping-cart:before { + content: "\f07a"; +} +.uk-icon-folder:before { + content: "\f07b"; +} +.uk-icon-folder-open:before { + content: "\f07c"; +} +.uk-icon-arrows-v:before { + content: "\f07d"; +} +.uk-icon-arrows-h:before { + content: "\f07e"; +} +.uk-icon-bar-chart-o:before, +.uk-icon-bar-chart:before { + content: "\f080"; +} +.uk-icon-twitter-square:before { + content: "\f081"; +} +.uk-icon-facebook-square:before { + content: "\f082"; +} +.uk-icon-camera-retro:before { + content: "\f083"; +} +.uk-icon-key:before { + content: "\f084"; +} +.uk-icon-gears:before, +.uk-icon-cogs:before { + content: "\f085"; +} +.uk-icon-comments:before { + content: "\f086"; +} +.uk-icon-thumbs-o-up:before { + content: "\f087"; +} +.uk-icon-thumbs-o-down:before { + content: "\f088"; +} +.uk-icon-star-half:before { + content: "\f089"; +} +.uk-icon-heart-o:before { + content: "\f08a"; +} +.uk-icon-sign-out:before { + content: "\f08b"; +} +.uk-icon-linkedin-square:before { + content: "\f08c"; +} +.uk-icon-thumb-tack:before { + content: "\f08d"; +} +.uk-icon-external-link:before { + content: "\f08e"; +} +.uk-icon-sign-in:before { + content: "\f090"; +} +.uk-icon-trophy:before { + content: "\f091"; +} +.uk-icon-github-square:before { + content: "\f092"; +} +.uk-icon-upload:before { + content: "\f093"; +} +.uk-icon-lemon-o:before { + content: "\f094"; +} +.uk-icon-phone:before { + content: "\f095"; +} +.uk-icon-square-o:before { + content: "\f096"; +} +.uk-icon-bookmark-o:before { + content: "\f097"; +} +.uk-icon-phone-square:before { + content: "\f098"; +} +.uk-icon-twitter:before { + content: "\f099"; +} +.uk-icon-facebook-f:before, +.uk-icon-facebook:before { + content: "\f09a"; +} +.uk-icon-github:before { + content: "\f09b"; +} +.uk-icon-unlock:before { + content: "\f09c"; +} +.uk-icon-credit-card:before { + content: "\f09d"; +} +.uk-icon-rss:before { + content: "\f09e"; +} +.uk-icon-hdd-o:before { + content: "\f0a0"; +} +.uk-icon-bullhorn:before { + content: "\f0a1"; +} +.uk-icon-bell:before { + content: "\f0f3"; +} +.uk-icon-certificate:before { + content: "\f0a3"; +} +.uk-icon-hand-o-right:before { + content: "\f0a4"; +} +.uk-icon-hand-o-left:before { + content: "\f0a5"; +} +.uk-icon-hand-o-up:before { + content: "\f0a6"; +} +.uk-icon-hand-o-down:before { + content: "\f0a7"; +} +.uk-icon-arrow-circle-left:before { + content: "\f0a8"; +} +.uk-icon-arrow-circle-right:before { + content: "\f0a9"; +} +.uk-icon-arrow-circle-up:before { + content: "\f0aa"; +} +.uk-icon-arrow-circle-down:before { + content: "\f0ab"; +} +.uk-icon-globe:before { + content: "\f0ac"; +} +.uk-icon-wrench:before { + content: "\f0ad"; +} +.uk-icon-tasks:before { + content: "\f0ae"; +} +.uk-icon-filter:before { + content: "\f0b0"; +} +.uk-icon-briefcase:before { + content: "\f0b1"; +} +.uk-icon-arrows-alt:before { + content: "\f0b2"; +} +.uk-icon-group:before, +.uk-icon-users:before { + content: "\f0c0"; +} +.uk-icon-chain:before, +.uk-icon-link:before { + content: "\f0c1"; +} +.uk-icon-cloud:before { + content: "\f0c2"; +} +.uk-icon-flask:before { + content: "\f0c3"; +} +.uk-icon-cut:before, +.uk-icon-scissors:before { + content: "\f0c4"; +} +.uk-icon-copy:before, +.uk-icon-files-o:before { + content: "\f0c5"; +} +.uk-icon-paperclip:before { + content: "\f0c6"; +} +.uk-icon-save:before, +.uk-icon-floppy-o:before { + content: "\f0c7"; +} +.uk-icon-square:before { + content: "\f0c8"; +} +.uk-icon-navicon:before, +.uk-icon-reorder:before, +.uk-icon-bars:before { + content: "\f0c9"; +} +.uk-icon-list-ul:before { + content: "\f0ca"; +} +.uk-icon-list-ol:before { + content: "\f0cb"; +} +.uk-icon-strikethrough:before { + content: "\f0cc"; +} +.uk-icon-underline:before { + content: "\f0cd"; +} +.uk-icon-table:before { + content: "\f0ce"; +} +.uk-icon-magic:before { + content: "\f0d0"; +} +.uk-icon-truck:before { + content: "\f0d1"; +} +.uk-icon-pinterest:before { + content: "\f0d2"; +} +.uk-icon-pinterest-square:before { + content: "\f0d3"; +} +.uk-icon-google-plus-square:before { + content: "\f0d4"; +} +.uk-icon-google-plus:before { + content: "\f0d5"; +} +.uk-icon-money:before { + content: "\f0d6"; +} +.uk-icon-caret-down:before { + content: "\f0d7"; +} +.uk-icon-caret-up:before { + content: "\f0d8"; +} +.uk-icon-caret-left:before { + content: "\f0d9"; +} +.uk-icon-caret-right:before { + content: "\f0da"; +} +.uk-icon-columns:before { + content: "\f0db"; +} +.uk-icon-unsorted:before, +.uk-icon-sort:before { + content: "\f0dc"; +} +.uk-icon-sort-down:before, +.uk-icon-sort-desc:before { + content: "\f0dd"; +} +.uk-icon-sort-up:before, +.uk-icon-sort-asc:before { + content: "\f0de"; +} +.uk-icon-envelope:before { + content: "\f0e0"; +} +.uk-icon-linkedin:before { + content: "\f0e1"; +} +.uk-icon-rotate-left:before, +.uk-icon-undo:before { + content: "\f0e2"; +} +.uk-icon-legal:before, +.uk-icon-gavel:before { + content: "\f0e3"; +} +.uk-icon-dashboard:before, +.uk-icon-tachometer:before { + content: "\f0e4"; +} +.uk-icon-comment-o:before { + content: "\f0e5"; +} +.uk-icon-comments-o:before { + content: "\f0e6"; +} +.uk-icon-flash:before, +.uk-icon-bolt:before { + content: "\f0e7"; +} +.uk-icon-sitemap:before { + content: "\f0e8"; +} +.uk-icon-umbrella:before { + content: "\f0e9"; +} +.uk-icon-paste:before, +.uk-icon-clipboard:before { + content: "\f0ea"; +} +.uk-icon-lightbulb-o:before { + content: "\f0eb"; +} +.uk-icon-exchange:before { + content: "\f0ec"; +} +.uk-icon-cloud-download:before { + content: "\f0ed"; +} +.uk-icon-cloud-upload:before { + content: "\f0ee"; +} +.uk-icon-user-md:before { + content: "\f0f0"; +} +.uk-icon-stethoscope:before { + content: "\f0f1"; +} +.uk-icon-suitcase:before { + content: "\f0f2"; +} +.uk-icon-bell-o:before { + content: "\f0a2"; +} +.uk-icon-coffee:before { + content: "\f0f4"; +} +.uk-icon-cutlery:before { + content: "\f0f5"; +} +.uk-icon-file-text-o:before { + content: "\f0f6"; +} +.uk-icon-building-o:before { + content: "\f0f7"; +} +.uk-icon-hospital-o:before { + content: "\f0f8"; +} +.uk-icon-ambulance:before { + content: "\f0f9"; +} +.uk-icon-medkit:before { + content: "\f0fa"; +} +.uk-icon-fighter-jet:before { + content: "\f0fb"; +} +.uk-icon-beer:before { + content: "\f0fc"; +} +.uk-icon-h-square:before { + content: "\f0fd"; +} +.uk-icon-plus-square:before { + content: "\f0fe"; +} +.uk-icon-angle-double-left:before { + content: "\f100"; +} +.uk-icon-angle-double-right:before { + content: "\f101"; +} +.uk-icon-angle-double-up:before { + content: "\f102"; +} +.uk-icon-angle-double-down:before { + content: "\f103"; +} +.uk-icon-angle-left:before { + content: "\f104"; +} +.uk-icon-angle-right:before { + content: "\f105"; +} +.uk-icon-angle-up:before { + content: "\f106"; +} +.uk-icon-angle-down:before { + content: "\f107"; +} +.uk-icon-desktop:before { + content: "\f108"; +} +.uk-icon-laptop:before { + content: "\f109"; +} +.uk-icon-tablet:before { + content: "\f10a"; +} +.uk-icon-mobile-phone:before, +.uk-icon-mobile:before { + content: "\f10b"; +} +.uk-icon-circle-o:before { + content: "\f10c"; +} +.uk-icon-quote-left:before { + content: "\f10d"; +} +.uk-icon-quote-right:before { + content: "\f10e"; +} +.uk-icon-spinner:before { + content: "\f110"; +} +.uk-icon-circle:before { + content: "\f111"; +} +.uk-icon-mail-reply:before, +.uk-icon-reply:before { + content: "\f112"; +} +.uk-icon-github-alt:before { + content: "\f113"; +} +.uk-icon-folder-o:before { + content: "\f114"; +} +.uk-icon-folder-open-o:before { + content: "\f115"; +} +.uk-icon-smile-o:before { + content: "\f118"; +} +.uk-icon-frown-o:before { + content: "\f119"; +} +.uk-icon-meh-o:before { + content: "\f11a"; +} +.uk-icon-gamepad:before { + content: "\f11b"; +} +.uk-icon-keyboard-o:before { + content: "\f11c"; +} +.uk-icon-flag-o:before { + content: "\f11d"; +} +.uk-icon-flag-checkered:before { + content: "\f11e"; +} +.uk-icon-terminal:before { + content: "\f120"; +} +.uk-icon-code:before { + content: "\f121"; +} +.uk-icon-mail-reply-all:before, +.uk-icon-reply-all:before { + content: "\f122"; +} +.uk-icon-star-half-empty:before, +.uk-icon-star-half-full:before, +.uk-icon-star-half-o:before { + content: "\f123"; +} +.uk-icon-location-arrow:before { + content: "\f124"; +} +.uk-icon-crop:before { + content: "\f125"; +} +.uk-icon-code-fork:before { + content: "\f126"; +} +.uk-icon-unlink:before, +.uk-icon-chain-broken:before { + content: "\f127"; +} +.uk-icon-question:before { + content: "\f128"; +} +.uk-icon-info:before { + content: "\f129"; +} +.uk-icon-exclamation:before { + content: "\f12a"; +} +.uk-icon-superscript:before { + content: "\f12b"; +} +.uk-icon-subscript:before { + content: "\f12c"; +} +.uk-icon-eraser:before { + content: "\f12d"; +} +.uk-icon-puzzle-piece:before { + content: "\f12e"; +} +.uk-icon-microphone:before { + content: "\f130"; +} +.uk-icon-microphone-slash:before { + content: "\f131"; +} +.uk-icon-shield:before { + content: "\f132"; +} +.uk-icon-calendar-o:before { + content: "\f133"; +} +.uk-icon-fire-extinguisher:before { + content: "\f134"; +} +.uk-icon-rocket:before { + content: "\f135"; +} +.uk-icon-maxcdn:before { + content: "\f136"; +} +.uk-icon-chevron-circle-left:before { + content: "\f137"; +} +.uk-icon-chevron-circle-right:before { + content: "\f138"; +} +.uk-icon-chevron-circle-up:before { + content: "\f139"; +} +.uk-icon-chevron-circle-down:before { + content: "\f13a"; +} +.uk-icon-html5:before { + content: "\f13b"; +} +.uk-icon-css3:before { + content: "\f13c"; +} +.uk-icon-anchor:before { + content: "\f13d"; +} +.uk-icon-unlock-alt:before { + content: "\f13e"; +} +.uk-icon-bullseye:before { + content: "\f140"; +} +.uk-icon-ellipsis-h:before { + content: "\f141"; +} +.uk-icon-ellipsis-v:before { + content: "\f142"; +} +.uk-icon-rss-square:before { + content: "\f143"; +} +.uk-icon-play-circle:before { + content: "\f144"; +} +.uk-icon-ticket:before { + content: "\f145"; +} +.uk-icon-minus-square:before { + content: "\f146"; +} +.uk-icon-minus-square-o:before { + content: "\f147"; +} +.uk-icon-level-up:before { + content: "\f148"; +} +.uk-icon-level-down:before { + content: "\f149"; +} +.uk-icon-check-square:before { + content: "\f14a"; +} +.uk-icon-pencil-square:before { + content: "\f14b"; +} +.uk-icon-external-link-square:before { + content: "\f14c"; +} +.uk-icon-share-square:before { + content: "\f14d"; +} +.uk-icon-compass:before { + content: "\f14e"; +} +.uk-icon-toggle-down:before, +.uk-icon-caret-square-o-down:before { + content: "\f150"; +} +.uk-icon-toggle-up:before, +.uk-icon-caret-square-o-up:before { + content: "\f151"; +} +.uk-icon-toggle-right:before, +.uk-icon-caret-square-o-right:before { + content: "\f152"; +} +.uk-icon-euro:before, +.uk-icon-eur:before { + content: "\f153"; +} +.uk-icon-gbp:before { + content: "\f154"; +} +.uk-icon-dollar:before, +.uk-icon-usd:before { + content: "\f155"; +} +.uk-icon-rupee:before, +.uk-icon-inr:before { + content: "\f156"; +} +.uk-icon-cny:before, +.uk-icon-rmb:before, +.uk-icon-yen:before, +.uk-icon-jpy:before { + content: "\f157"; +} +.uk-icon-ruble:before, +.uk-icon-rouble:before, +.uk-icon-rub:before { + content: "\f158"; +} +.uk-icon-won:before, +.uk-icon-krw:before { + content: "\f159"; +} +.uk-icon-bitcoin:before, +.uk-icon-btc:before { + content: "\f15a"; +} +.uk-icon-file:before { + content: "\f15b"; +} +.uk-icon-file-text:before { + content: "\f15c"; +} +.uk-icon-sort-alpha-asc:before { + content: "\f15d"; +} +.uk-icon-sort-alpha-desc:before { + content: "\f15e"; +} +.uk-icon-sort-amount-asc:before { + content: "\f160"; +} +.uk-icon-sort-amount-desc:before { + content: "\f161"; +} +.uk-icon-sort-numeric-asc:before { + content: "\f162"; +} +.uk-icon-sort-numeric-desc:before { + content: "\f163"; +} +.uk-icon-thumbs-up:before { + content: "\f164"; +} +.uk-icon-thumbs-down:before { + content: "\f165"; +} +.uk-icon-youtube-square:before { + content: "\f166"; +} +.uk-icon-youtube:before { + content: "\f167"; +} +.uk-icon-xing:before { + content: "\f168"; +} +.uk-icon-xing-square:before { + content: "\f169"; +} +.uk-icon-youtube-play:before { + content: "\f16a"; +} +.uk-icon-dropbox:before { + content: "\f16b"; +} +.uk-icon-stack-overflow:before { + content: "\f16c"; +} +.uk-icon-instagram:before { + content: "\f16d"; +} +.uk-icon-flickr:before { + content: "\f16e"; +} +.uk-icon-adn:before { + content: "\f170"; +} +.uk-icon-bitbucket:before { + content: "\f171"; +} +.uk-icon-bitbucket-square:before { + content: "\f172"; +} +.uk-icon-tumblr:before { + content: "\f173"; +} +.uk-icon-tumblr-square:before { + content: "\f174"; +} +.uk-icon-long-arrow-down:before { + content: "\f175"; +} +.uk-icon-long-arrow-up:before { + content: "\f176"; +} +.uk-icon-long-arrow-left:before { + content: "\f177"; +} +.uk-icon-long-arrow-right:before { + content: "\f178"; +} +.uk-icon-apple:before { + content: "\f179"; +} +.uk-icon-windows:before { + content: "\f17a"; +} +.uk-icon-android:before { + content: "\f17b"; +} +.uk-icon-linux:before { + content: "\f17c"; +} +.uk-icon-dribbble:before { + content: "\f17d"; +} +.uk-icon-skype:before { + content: "\f17e"; +} +.uk-icon-foursquare:before { + content: "\f180"; +} +.uk-icon-trello:before { + content: "\f181"; +} +.uk-icon-female:before { + content: "\f182"; +} +.uk-icon-male:before { + content: "\f183"; +} +.uk-icon-gittip:before, +.uk-icon-gratipay:before { + content: "\f184"; +} +.uk-icon-sun-o:before { + content: "\f185"; +} +.uk-icon-moon-o:before { + content: "\f186"; +} +.uk-icon-archive:before { + content: "\f187"; +} +.uk-icon-bug:before { + content: "\f188"; +} +.uk-icon-vk:before { + content: "\f189"; +} +.uk-icon-weibo:before { + content: "\f18a"; +} +.uk-icon-renren:before { + content: "\f18b"; +} +.uk-icon-pagelines:before { + content: "\f18c"; +} +.uk-icon-stack-exchange:before { + content: "\f18d"; +} +.uk-icon-arrow-circle-o-right:before { + content: "\f18e"; +} +.uk-icon-arrow-circle-o-left:before { + content: "\f190"; +} +.uk-icon-toggle-left:before, +.uk-icon-caret-square-o-left:before { + content: "\f191"; +} +.uk-icon-dot-circle-o:before { + content: "\f192"; +} +.uk-icon-wheelchair:before { + content: "\f193"; +} +.uk-icon-vimeo-square:before { + content: "\f194"; +} +.uk-icon-turkish-lira:before, +.uk-icon-try:before { + content: "\f195"; +} +.uk-icon-plus-square-o:before { + content: "\f196"; +} +.uk-icon-space-shuttle:before { + content: "\f197"; +} +.uk-icon-slack:before { + content: "\f198"; +} +.uk-icon-envelope-square:before { + content: "\f199"; +} +.uk-icon-wordpress:before { + content: "\f19a"; +} +.uk-icon-openid:before { + content: "\f19b"; +} +.uk-icon-institution:before, +.uk-icon-bank:before, +.uk-icon-university:before { + content: "\f19c"; +} +.uk-icon-mortar-board:before, +.uk-icon-graduation-cap:before { + content: "\f19d"; +} +.uk-icon-yahoo:before { + content: "\f19e"; +} +.uk-icon-google:before { + content: "\f1a0"; +} +.uk-icon-reddit:before { + content: "\f1a1"; +} +.uk-icon-reddit-square:before { + content: "\f1a2"; +} +.uk-icon-stumbleupon-circle:before { + content: "\f1a3"; +} +.uk-icon-stumbleupon:before { + content: "\f1a4"; +} +.uk-icon-delicious:before { + content: "\f1a5"; +} +.uk-icon-digg:before { + content: "\f1a6"; +} +.uk-icon-pied-piper:before { + content: "\f1a7"; +} +.uk-icon-pied-piper-alt:before { + content: "\f1a8"; +} +.uk-icon-drupal:before { + content: "\f1a9"; +} +.uk-icon-joomla:before { + content: "\f1aa"; +} +.uk-icon-language:before { + content: "\f1ab"; +} +.uk-icon-fax:before { + content: "\f1ac"; +} +.uk-icon-building:before { + content: "\f1ad"; +} +.uk-icon-child:before { + content: "\f1ae"; +} +.uk-icon-paw:before { + content: "\f1b0"; +} +.uk-icon-spoon:before { + content: "\f1b1"; +} +.uk-icon-cube:before { + content: "\f1b2"; +} +.uk-icon-cubes:before { + content: "\f1b3"; +} +.uk-icon-behance:before { + content: "\f1b4"; +} +.uk-icon-behance-square:before { + content: "\f1b5"; +} +.uk-icon-steam:before { + content: "\f1b6"; +} +.uk-icon-steam-square:before { + content: "\f1b7"; +} +.uk-icon-recycle:before { + content: "\f1b8"; +} +.uk-icon-automobile:before, +.uk-icon-car:before { + content: "\f1b9"; +} +.uk-icon-cab:before, +.uk-icon-taxi:before { + content: "\f1ba"; +} +.uk-icon-tree:before { + content: "\f1bb"; +} +.uk-icon-spotify:before { + content: "\f1bc"; +} +.uk-icon-deviantart:before { + content: "\f1bd"; +} +.uk-icon-soundcloud:before { + content: "\f1be"; +} +.uk-icon-database:before { + content: "\f1c0"; +} +.uk-icon-file-pdf-o:before { + content: "\f1c1"; +} +.uk-icon-file-word-o:before { + content: "\f1c2"; +} +.uk-icon-file-excel-o:before { + content: "\f1c3"; +} +.uk-icon-file-powerpoint-o:before { + content: "\f1c4"; +} +.uk-icon-file-photo-o:before, +.uk-icon-file-picture-o:before, +.uk-icon-file-image-o:before { + content: "\f1c5"; +} +.uk-icon-file-zip-o:before, +.uk-icon-file-archive-o:before { + content: "\f1c6"; +} +.uk-icon-file-sound-o:before, +.uk-icon-file-audio-o:before { + content: "\f1c7"; +} +.uk-icon-file-movie-o:before, +.uk-icon-file-video-o:before { + content: "\f1c8"; +} +.uk-icon-file-code-o:before { + content: "\f1c9"; +} +.uk-icon-vine:before { + content: "\f1ca"; +} +.uk-icon-codepen:before { + content: "\f1cb"; +} +.uk-icon-jsfiddle:before { + content: "\f1cc"; +} +.uk-icon-life-bouy:before, +.uk-icon-life-buoy:before, +.uk-icon-life-saver:before, +.uk-icon-support:before, +.uk-icon-life-ring:before { + content: "\f1cd"; +} +.uk-icon-circle-o-notch:before { + content: "\f1ce"; +} +.uk-icon-ra:before, +.uk-icon-rebel:before { + content: "\f1d0"; +} +.uk-icon-ge:before, +.uk-icon-empire:before { + content: "\f1d1"; +} +.uk-icon-git-square:before { + content: "\f1d2"; +} +.uk-icon-git:before { + content: "\f1d3"; +} +.uk-icon-hacker-news:before { + content: "\f1d4"; +} +.uk-icon-tencent-weibo:before { + content: "\f1d5"; +} +.uk-icon-qq:before { + content: "\f1d6"; +} +.uk-icon-wechat:before, +.uk-icon-weixin:before { + content: "\f1d7"; +} +.uk-icon-send:before, +.uk-icon-paper-plane:before { + content: "\f1d8"; +} +.uk-icon-send-o:before, +.uk-icon-paper-plane-o:before { + content: "\f1d9"; +} +.uk-icon-history:before { + content: "\f1da"; +} +.uk-icon-genderless:before, +.uk-icon-circle-thin:before { + content: "\f1db"; +} +.uk-icon-header:before { + content: "\f1dc"; +} +.uk-icon-paragraph:before { + content: "\f1dd"; +} +.uk-icon-sliders:before { + content: "\f1de"; +} +.uk-icon-share-alt:before { + content: "\f1e0"; +} +.uk-icon-share-alt-square:before { + content: "\f1e1"; +} +.uk-icon-bomb:before { + content: "\f1e2"; +} +.uk-icon-soccer-ball-o:before, +.uk-icon-futbol-o:before { + content: "\f1e3"; +} +.uk-icon-tty:before { + content: "\f1e4"; +} +.uk-icon-binoculars:before { + content: "\f1e5"; +} +.uk-icon-plug:before { + content: "\f1e6"; +} +.uk-icon-slideshare:before { + content: "\f1e7"; +} +.uk-icon-twitch:before { + content: "\f1e8"; +} +.uk-icon-yelp:before { + content: "\f1e9"; +} +.uk-icon-newspaper-o:before { + content: "\f1ea"; +} +.uk-icon-wifi:before { + content: "\f1eb"; +} +.uk-icon-calculator:before { + content: "\f1ec"; +} +.uk-icon-paypal:before { + content: "\f1ed"; +} +.uk-icon-google-wallet:before { + content: "\f1ee"; +} +.uk-icon-cc-visa:before { + content: "\f1f0"; +} +.uk-icon-cc-mastercard:before { + content: "\f1f1"; +} +.uk-icon-cc-discover:before { + content: "\f1f2"; +} +.uk-icon-cc-amex:before { + content: "\f1f3"; +} +.uk-icon-cc-paypal:before { + content: "\f1f4"; +} +.uk-icon-cc-stripe:before { + content: "\f1f5"; +} +.uk-icon-bell-slash:before { + content: "\f1f6"; +} +.uk-icon-bell-slash-o:before { + content: "\f1f7"; +} +.uk-icon-trash:before { + content: "\f1f8"; +} +.uk-icon-copyright:before { + content: "\f1f9"; +} +.uk-icon-at:before { + content: "\f1fa"; +} +.uk-icon-eyedropper:before { + content: "\f1fb"; +} +.uk-icon-paint-brush:before { + content: "\f1fc"; +} +.uk-icon-birthday-cake:before { + content: "\f1fd"; +} +.uk-icon-area-chart:before { + content: "\f1fe"; +} +.uk-icon-pie-chart:before { + content: "\f200"; +} +.uk-icon-line-chart:before { + content: "\f201"; +} +.uk-icon-lastfm:before { + content: "\f202"; +} +.uk-icon-lastfm-square:before { + content: "\f203"; +} +.uk-icon-toggle-off:before { + content: "\f204"; +} +.uk-icon-toggle-on:before { + content: "\f205"; +} +.uk-icon-bicycle:before { + content: "\f206"; +} +.uk-icon-bus:before { + content: "\f207"; +} +.uk-icon-ioxhost:before { + content: "\f208"; +} +.uk-icon-angellist:before { + content: "\f209"; +} +.uk-icon-cc:before { + content: "\f20a"; +} +.uk-icon-shekel:before, +.uk-icon-sheqel:before, +.uk-icon-ils:before { + content: "\f20b"; +} +.uk-icon-meanpath:before { + content: "\f20c"; +} +.uk-icon-buysellads:before { + content: "\f20d"; +} +.uk-icon-connectdevelop:before { + content: "\f20e"; +} +.uk-icon-dashcube:before { + content: "\f210"; +} +.uk-icon-forumbee:before { + content: "\f211"; +} +.uk-icon-leanpub:before { + content: "\f212"; +} +.uk-icon-sellsy:before { + content: "\f213"; +} +.uk-icon-shirtsinbulk:before { + content: "\f214"; +} +.uk-icon-simplybuilt:before { + content: "\f215"; +} +.uk-icon-skyatlas:before { + content: "\f216"; +} +.uk-icon-cart-plus:before { + content: "\f217"; +} +.uk-icon-cart-arrow-down:before { + content: "\f218"; +} +.uk-icon-diamond:before { + content: "\f219"; +} +.uk-icon-ship:before { + content: "\f21a"; +} +.uk-icon-user-secret:before { + content: "\f21b"; +} +.uk-icon-motorcycle:before { + content: "\f21c"; +} +.uk-icon-street-view:before { + content: "\f21d"; +} +.uk-icon-heartbeat:before { + content: "\f21e"; +} +.uk-icon-venus:before { + content: "\f221"; +} +.uk-icon-mars:before { + content: "\f222"; +} +.uk-icon-mercury:before { + content: "\f223"; +} +.uk-icon-transgender:before { + content: "\f224"; +} +.uk-icon-transgender-alt:before { + content: "\f225"; +} +.uk-icon-venus-double:before { + content: "\f226"; +} +.uk-icon-mars-double:before { + content: "\f227"; +} +.uk-icon-venus-mars:before { + content: "\f228"; +} +.uk-icon-mars-stroke:before { + content: "\f229"; +} +.uk-icon-mars-stroke-v:before { + content: "\f22a"; +} +.uk-icon-mars-stroke-h:before { + content: "\f22b"; +} +.uk-icon-neuter:before { + content: "\f22c"; +} +.uk-icon-facebook-official:before { + content: "\f230"; +} +.uk-icon-pinterest-p:before { + content: "\f231"; +} +.uk-icon-whatsapp:before { + content: "\f232"; +} +.uk-icon-server:before { + content: "\f233"; +} +.uk-icon-user-plus:before { + content: "\f234"; +} +.uk-icon-user-times:before { + content: "\f235"; +} +.uk-icon-hotel:before, +.uk-icon-bed:before { + content: "\f236"; +} +.uk-icon-viacoin:before { + content: "\f237"; +} +.uk-icon-train:before { + content: "\f238"; +} +.uk-icon-subway:before { + content: "\f239"; +} +.uk-icon-medium-logo:before { + content: "\f23a"; +} +.uk-icon-500px:before { + content: "\f26e"; +} +.uk-icon-amazon:before { + content: "\f270"; +} +.uk-icon-balance-scale:before { + content: "\f24e"; +} +.uk-icon-battery-empty:before, +.uk-icon-battery-0:before { + content: "\f244"; +} +.uk-icon-battery-quarter:before, +.uk-icon-battery-1:before { + content: "\f243"; +} +.uk-icon-battery-half:before, +.uk-icon-battery-2:before { + content: "\f242"; +} +.uk-icon-battery-three-quarters:before, +.uk-icon-battery-3:before { + content: "\f241"; +} +.uk-icon-battery-full:before, +.uk-icon-battery-4:before { + content: "\f240"; +} +.uk-icon-black-tie:before { + content: "\f27e"; +} +.uk-icon-calendar-check-o:before { + content: "\f274"; +} +.uk-icon-calendar-minus-o:before { + content: "\f272"; +} +.uk-icon-calendar-plus-o:before { + content: "\f271"; +} +.uk-icon-calendar-times-o:before { + content: "\f273"; +} +.uk-icon-cc-diners-club:before { + content: "\f24c"; +} +.uk-icon-cc-jcb:before { + content: "\f24b"; +} +.uk-icon-chrome:before { + content: "\f268"; +} +.uk-icon-clone:before { + content: "\f24d"; +} +.uk-icon-commenting:before { + content: "\f27a"; +} +.uk-icon-commenting-o:before { + content: "\f27b"; +} +.uk-icon-contao:before { + content: "\f26d"; +} +.uk-icon-creative-commons:before { + content: "\f25e"; +} +.uk-icon-expeditedssl:before { + content: "\f23e"; +} +.uk-icon-firefox:before { + content: "\f269"; +} +.uk-icon-fonticons:before { + content: "\f280"; +} +.uk-icon-get-pocket:before { + content: "\f265"; +} +.uk-icon-gg:before { + content: "\f260"; +} +.uk-icon-gg-circle:before { + content: "\f261"; +} +.uk-icon-hand-lizard-o:before { + content: "\f258"; +} +.uk-icon-hand-stop-o:before, +.uk-icon-hand-paper-o:before { + content: "\f256"; +} +.uk-icon-hand-peace-o:before { + content: "\f25b"; +} +.uk-icon-hand-pointer-o:before { + content: "\f25a"; +} +.uk-icon-hand-grab-o:before, +.uk-icon-hand-rock-o:before { + content: "\f255"; +} +.uk-icon-hand-scissors-o:before { + content: "\f257"; +} +.uk-icon-hand-spock-o:before { + content: "\f259"; +} +.uk-icon-hourglass:before { + content: "\f254"; +} +.uk-icon-hourglass-o:before { + content: "\f250"; +} +.uk-icon-hourglass-1:before, +.uk-icon-hourglass-start:before { + content: "\f251"; +} +.uk-icon-hourglass-2:before, +.uk-icon-hourglass-half:before { + content: "\f252"; +} +.uk-icon-hourglass-3:before, +.uk-icon-hourglass-end:before { + content: "\f253"; +} +.uk-icon-houzz:before { + content: "\f27c"; +} +.uk-icon-i-cursor:before { + content: "\f246"; +} +.uk-icon-industry:before { + content: "\f275"; +} +.uk-icon-internet-explorer:before { + content: "\f26b"; +} +.uk-icon-map:before { + content: "\f279"; +} +.uk-icon-map-o:before { + content: "\f278"; +} +.uk-icon-map-pin:before { + content: "\f276"; +} +.uk-icon-map-signs:before { + content: "\f277"; +} +.uk-icon-mouse-pointer:before { + content: "\f245"; +} +.uk-icon-object-group:before { + content: "\f247"; +} +.uk-icon-object-ungroup:before { + content: "\f248"; +} +.uk-icon-odnoklassniki:before { + content: "\f263"; +} +.uk-icon-odnoklassniki-square:before { + content: "\f264"; +} +.uk-icon-opencart:before { + content: "\f23d"; +} +.uk-icon-opera:before { + content: "\f26a"; +} +.uk-icon-optin-monster:before { + content: "\f23c"; +} +.uk-icon-registered:before { + content: "\f25d"; +} +.uk-icon-safari:before { + content: "\f267"; +} +.uk-icon-sticky-note:before { + content: "\f249"; +} +.uk-icon-sticky-note-o:before { + content: "\f24a"; +} +.uk-icon-tv:before, +.uk-icon-television:before { + content: "\f26c"; +} +.uk-icon-trademark:before { + content: "\f25c"; +} +.uk-icon-tripadvisor:before { + content: "\f262"; +} +.uk-icon-vimeo:before { + content: "\f27d"; +} +.uk-icon-wikipedia-w:before { + content: "\f266"; +} +.uk-icon-yc:before, +.uk-icon-y-combinator:before { + content: "\f23b"; +} +.uk-icon-yc-square:before, +.uk-icon-y-combinator-square:before { + content: "\f1d4"; +} +.uk-icon-bluetooth:before { + content: "\f293"; +} +.uk-icon-bluetooth-b:before { + content: "\f294"; +} +.uk-icon-codiepie:before { + content: "\f284"; +} +.uk-icon-credit-card-alt:before { + content: "\f283"; +} +.uk-icon-edge:before { + content: "\f282"; +} +.uk-icon-fort-awesome:before { + content: "\f286"; +} +.uk-icon-hashtag:before { + content: "\f292"; +} +.uk-icon-mixcloud:before { + content: "\f289"; +} +.uk-icon-modx:before { + content: "\f285"; +} +.uk-icon-pause-circle:before { + content: "\f28b"; +} +.uk-icon-pause-circle-o:before { + content: "\f28c"; +} +.uk-icon-percent:before { + content: "\f295"; +} +.uk-icon-product-hunt:before { + content: "\f288"; +} +.uk-icon-reddit-alien:before { + content: "\f281"; +} +.uk-icon-scribd:before { + content: "\f28a"; +} +.uk-icon-shopping-bag:before { + content: "\f290"; +} +.uk-icon-shopping-basket:before { + content: "\f291"; +} +.uk-icon-stop-circle:before { + content: "\f28d"; +} +.uk-icon-stop-circle-o:before { + content: "\f28e"; +} +.uk-icon-usb:before { + content: "\f287"; +} +.uk-icon-american-sign-language-interpreting:before, +.uk-icon-asl-interpreting:before { + content: "\f2a3"; +} +.uk-icon-assistive-listening-systems:before { + content: "\f2a2"; +} +.uk-icon-audio-description:before { + content: "\f29e"; +} +.uk-icon-blind:before { + content: "\f29d"; +} +.uk-icon-braille:before { + content: "\f2a1"; +} +.uk-icon-deaf:before, +.uk-icon-deafness:before { + content: "\f2a4"; +} +.uk-icon-envira:before { + content: "\f299"; +} +.uk-icon-font-awesome:before, +.uk-icon-fa:before { + content: "\f2b4"; +} +.uk-icon-first-order:before { + content: "\f2b0"; +} +.uk-icon-gitlab:before { + content: "\f296"; +} +.uk-icon-glide:before { + content: "\f2a5"; +} +.uk-icon-glide-g:before { + content: "\f2a6"; +} +.uk-icon-hard-of-hearing:before { + content: "\f2a4"; +} +.uk-icon-low-vision:before { + content: "\f2a8"; +} +.uk-icon-question-circle-o:before { + content: "\f29c"; +} +.uk-icon-sign-language:before, +.uk-icon-signing:before { + content: "\f2a7"; +} +.uk-icon-snapchat:before { + content: "\f2ab"; +} +.uk-icon-snapchat-ghost:before { + content: "\f2ac"; +} +.uk-icon-snapchat-square:before { + content: "\f2ad"; +} +.uk-icon-themeisle:before { + content: "\f2b2"; +} +.uk-icon-universal-access:before { + content: "\f29a"; +} +.uk-icon-viadeo:before { + content: "\f2a9"; +} +.uk-icon-viadeo-square:before { + content: "\f2aa"; +} +.uk-icon-volume-control-phone:before { + content: "\f2a0"; +} +.uk-icon-wheelchair-alt:before { + content: "\f29b"; +} +.uk-icon-wpbeginner:before { + content: "\f297"; +} +.uk-icon-wpforms:before { + content: "\f298"; +} +.uk-icon-yoast:before { + content: "\f2b1"; +} +.uk-icon-adress-book:before { + content: "\f2b9"; +} +.uk-icon-adress-book-o:before { + content: "\f2ba"; +} +.uk-icon-adress-card:before { + content: "\f2bb"; +} +.uk-icon-adress-card-o:before { + content: "\f2bc"; +} +.uk-icon-bandcamp:before { + content: "\f2d5"; +} +.uk-icon-bath:before { + content: "\f2cd"; +} +.uk-icon-bathub:before { + content: "\f2cd"; +} +.uk-icon-drivers-license:before { + content: "\f2c2"; +} +.uk-icon-drivers-license-o:before { + content: "\f2c3"; +} +.uk-icon-eercast:before { + content: "\f2da"; +} +.uk-icon-envelope-open:before { + content: "\f2b6"; +} +.uk-icon-envelope-open-o:before { + content: "\f2b7"; +} +.uk-icon-etsy:before { + content: "\f2d7"; +} +.uk-icon-free-code-camp:before { + content: "\f2c5"; +} +.uk-icon-grav:before { + content: "\f2d6"; +} +.uk-icon-handshake-o:before { + content: "\f2b5"; +} +.uk-icon-id-badge:before { + content: "\f2c1"; +} +.uk-icon-id-card:before { + content: "\f2c2"; +} +.uk-icon-id-card-o:before { + content: "\f2c3"; +} +.uk-icon-imdb:before { + content: "\f2d8"; +} +.uk-icon-linode:before { + content: "\f2b8"; +} +.uk-icon-meetup:before { + content: "\f2e0"; +} +.uk-icon-microchip:before { + content: "\f2db"; +} +.uk-icon-podcast:before { + content: "\f2ce"; +} +.uk-icon-quora:before { + content: "\f2c4"; +} +.uk-icon-ravelry:before { + content: "\f2d9"; +} +.uk-icon-s15:before { + content: "\f2cd"; +} +.uk-icon-shower:before { + content: "\f2cc"; +} +.uk-icon-snowflake-o:before { + content: "\f2dc"; +} +.uk-icon-superpowers:before { + content: "\f2dd"; +} +.uk-icon-telegram:before { + content: "\f2c6"; +} +.uk-icon-thermometer:before { + content: "\f2c7"; +} +.uk-icon-thermometer-0:before { + content: "\f2cb"; +} +.uk-icon-thermometer-1:before { + content: "\f2ca"; +} +.uk-icon-thermometer-2:before { + content: "\f2c9"; +} +.uk-icon-thermometer-3:before { + content: "\f2c8"; +} +.uk-icon-thermometer-4:before { + content: "\f2c7"; +} +.uk-icon-thermometer-empty:before { + content: "\f2cb"; +} +.uk-icon-thermometer-full:before { + content: "\f2c7"; +} +.uk-icon-thermometer-half:before { + content: "\f2c9"; +} +.uk-icon-thermometer-quarter:before { + content: "\f2ca"; +} +.uk-icon-thermometer-three-quarters:before { + content: "\f2c8"; +} +.uk-icon-times-rectangle:before { + content: "\f2d3"; +} +.uk-icon-times-rectangle-o:before { + content: "\f2d4"; +} +.uk-icon-user-circle:before { + content: "\f2bd"; +} +.uk-icon-user-circle-o:before { + content: "\f2be"; +} +.uk-icon-user-o:before { + content: "\f2c0"; +} +.uk-icon-vcard:before { + content: "\f2bb"; +} +.uk-icon-vcard-o:before { + content: "\f2bc"; +} +.uk-icon-widow-close:before { + content: "\f2d3"; +} +.uk-icon-widow-close-o:before { + content: "\f2d4"; +} +.uk-icon-window-maximize:before { + content: "\f2d0"; +} +.uk-icon-window-minimize:before { + content: "\f2d1"; +} +.uk-icon-window-restore:before { + content: "\f2d2"; +} +.uk-icon-wpexplorer:before { + content: "\f2de"; +} +/* ======================================================================== + Component: Close + ========================================================================== */ +/* + * Removes inner padding and border in Firefox 4+. + */ +.uk-close::-moz-focus-inner { + border: 0; + padding: 0; +} +/* + * 1. Correct inability to style clickable `input` types in iOS. + * 2. Remove margins in Chrome, Safari and Opera. + * 3. Remove borders for `button`. + * 4. Address `overflow` set to `hidden` in IE 8/9/10/11. + * 5. Correct `font` properties and `color` not being inherited for `button`. + * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE + * 7. Remove default `button` padding and background color + * 8. Style + */ +.uk-close { + /* 1 */ + -webkit-appearance: none; + /* 2 */ + margin: 0; + /* 3 */ + border: none; + /* 4 */ + overflow: visible; + /* 5 */ + font: inherit; + color: inherit; + /* 6 */ + text-transform: none; + /* 7. */ + padding: 0; + background: transparent; + /* 8 */ + display: inline-block; + box-sizing: content-box; + width: 20px; + line-height: 20px; + text-align: center; + vertical-align: middle; + opacity: 0.3; +} +/* Icon */ +.uk-close:after { + display: block; + content: "\f00d"; + font-family: FontAwesome; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + */ +.uk-close:hover, +.uk-close:focus { + opacity: 0.5; + /* 2 */ + outline: none; + /* 3 */ + color: inherit; + text-decoration: none; + cursor: pointer; +} +/* Modifier + ========================================================================== */ +.uk-close-alt { + padding: 2px; + border-radius: 50%; + background: #fff; + opacity: 1; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 6px rgba(0, 0, 0, 0.3); +} +/* Hover */ +.uk-close-alt:hover, +.uk-close-alt:focus { + opacity: 1; +} +/* Icon */ +.uk-close-alt:after { + opacity: 0.5; +} +.uk-close-alt:hover:after, +.uk-close-alt:focus:after { + opacity: 0.8; +} +/* ======================================================================== + Component: Badge + ========================================================================== */ +.uk-badge { + display: inline-block; + padding: 0 5px; + background: #009dd8; + font-size: 10px; + font-weight: bold; + line-height: 14px; + color: #fff; + text-align: center; + vertical-align: middle; + text-transform: none; + border: 1px solid rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.3); + background-origin: border-box; + background-image: -webkit-linear-gradient(top, #00b4f5, #008dc5); + background-image: linear-gradient(to bottom, #00b4f5, #008dc5); + border-radius: 2px; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* + * Keep color when badge is a link + */ +a.uk-badge:hover { + color: #fff; +} +/* Modifier: `uk-badge-notification`; + ========================================================================== */ +.uk-badge-notification { + box-sizing: border-box; + min-width: 18px; + border-radius: 500px; + font-size: 12px; + line-height: 18px; +} +/* Color modifier + ========================================================================== */ +/* + * Modifier: `uk-badge-success` + */ +.uk-badge-success { + background-color: #82bb42; + background-image: -webkit-linear-gradient(top, #9fd256, #6fac34); + background-image: linear-gradient(to bottom, #9fd256, #6fac34); +} +/* + * Modifier: `uk-badge-warning` + */ +.uk-badge-warning { + background-color: #f9a124; + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); +} +/* + * Modifier: `uk-badge-danger` + */ +.uk-badge-danger { + background-color: #d32c46; + background-image: -webkit-linear-gradient(top, #ee465a, #c11a39); + background-image: linear-gradient(to bottom, #ee465a, #c11a39); +} +/* ======================================================================== + Component: Alert + ========================================================================== */ +.uk-alert { + margin-bottom: 15px; + padding: 10px; + background: #ebf7fd; + color: #2d7091; + border: 1px solid rgba(45, 112, 145, 0.3); + border-radius: 4px; + text-shadow: 0 1px 0 #fff; +} +/* + * Add margin if adjacent element + */ +* + .uk-alert { + margin-top: 15px; +} +/* + * Remove margin from the last-child + */ +.uk-alert > :last-child { + margin-bottom: 0; +} +/* + * Keep color for headings if the default heading color is changed + */ +.uk-alert h1, +.uk-alert h2, +.uk-alert h3, +.uk-alert h4, +.uk-alert h5, +.uk-alert h6 { + color: inherit; +} +/* Close in alert + ========================================================================== */ +.uk-alert > .uk-close:first-child { + float: right; +} +/* + * Remove margin from adjacent element + */ +.uk-alert > .uk-close:first-child + * { + margin-top: 0; +} +/* Modifier: `uk-alert-success` + ========================================================================== */ +.uk-alert-success { + background: #f2fae3; + color: #659f13; + border-color: rgba(101, 159, 19, 0.3); +} +/* Modifier: `uk-alert-warning` + ========================================================================== */ +.uk-alert-warning { + background: #fffceb; + color: #e28327; + border-color: rgba(226, 131, 39, 0.3); +} +/* Modifier: `uk-alert-danger` + ========================================================================== */ +.uk-alert-danger { + background: #fff1f0; + color: #d85030; + border-color: rgba(216, 80, 48, 0.3); +} +/* Modifier: `uk-alert-large` + ========================================================================== */ +.uk-alert-large { + padding: 20px; +} +.uk-alert-large > .uk-close:first-child { + margin: -10px -10px 0 0; +} +/* ======================================================================== + Component: Thumbnail + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Responsive behavior + * 3. Corrects `max-width` behavior sed + * 4. Required for `figure` element + * 5. Style + */ +.uk-thumbnail { + /* 1 */ + display: inline-block; + /* 2 */ + max-width: 100%; + /* 3 */ + box-sizing: border-box; + /* 3 */ + margin: 0; + /* 4 */ + padding: 4px; + border: 1px solid #ddd; + background: #fff; + border-radius: 4px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); +} +/* + * Hover state for `a` elements + * 1. Apply hover style also to focus state + * 2. Needed for caption + * 3. Remove default focus style + */ +a.uk-thumbnail:hover, +a.uk-thumbnail:focus { + border-color: #aaaaaa; + background-color: #fff; + /* 2 */ + text-decoration: none; + /* 3 */ + outline: none; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); +} +/* Caption + ========================================================================== */ +.uk-thumbnail-caption { + padding-top: 4px; + text-align: center; + color: #444; +} +/* Sizes + ========================================================================== */ +.uk-thumbnail-mini { + width: 150px; +} +.uk-thumbnail-small { + width: 200px; +} +.uk-thumbnail-medium { + width: 300px; +} +.uk-thumbnail-large { + width: 400px; +} +.uk-thumbnail-expand, +.uk-thumbnail-expand > img { + width: 100%; +} +/* ======================================================================== + Component: Overlay + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Set max-width for responsive images to prevent `inline-block` consequences + * 4. Remove the gap between the container and its child element + * 5. Needed for transitions and to fixed wrong scaling calculation for images in Chrome + * 6. Fixed `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit + * 7. Reset margin + */ +.uk-overlay { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; + /* 4 */ + vertical-align: middle; + /* 5 */ + overflow: hidden; + /* 6 */ + -webkit-transform: translateZ(0); + /* 7 */ + margin: 0; +} +/* 6 for Safari */ +.uk-overlay.uk-border-circle { + -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%); +} +/* + * Remove margin from content + */ +.uk-overlay > :first-child { + margin-bottom: 0; +} +/* Sub-object `uk-overlay-panel` + ========================================================================== */ +/* + * 1. Position cover + * 2. Style + */ +.uk-overlay-panel { + /* 1 */ + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + padding: 20px; + color: #fff; +} +/* + * Remove margin from the last-child + */ +.uk-overlay-panel > :last-child, +.uk-overlay-panel.uk-flex > * > :last-child { + margin-bottom: 0; +} +/* + * Keep color for headings if the default heading color is changed + */ +.uk-overlay-panel h1, +.uk-overlay-panel h2, +.uk-overlay-panel h3, +.uk-overlay-panel h4, +.uk-overlay-panel h5, +.uk-overlay-panel h6 { + color: inherit; +} +.uk-overlay-panel a:not([class]) { + color: inherit; + text-decoration: underline; +} +.uk-overlay-panel a[class*='uk-icon-']:not(.uk-icon-button) { + color: inherit; +} +/* Sub-object `uk-overlay-hover` and `uk-overlay-active` + ========================================================================== */ +.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore) { + opacity: 0; +} +.uk-overlay-active :not(.uk-active) > .uk-overlay-panel:not(.uk-ignore) { + opacity: 0; +} +/* Modifier `uk-overlay-background` + ========================================================================== */ +.uk-overlay-background { + background: rgba(0, 0, 0, 0.5); +} +/* Modifier `uk-overlay-image` + ========================================================================== */ +/* + * Reset panel + */ +.uk-overlay-image { + padding: 0; +} +/* Position modifiers + ========================================================================== */ +.uk-overlay-top { + bottom: auto; +} +.uk-overlay-bottom { + top: auto; +} +.uk-overlay-left { + right: auto; +} +.uk-overlay-right { + left: auto; +} +/* Sub-object `uk-overlay-icon` + ========================================================================== */ +.uk-overlay-icon:before { + content: "\f002"; + position: absolute; + top: 50%; + left: 50%; + width: 50px; + height: 50px; + margin-top: -25px; + margin-left: -25px; + font-size: 50px; + line-height: 1; + font-family: FontAwesome; + text-align: center; + color: #fff; +} +/* Transitions + ========================================================================== */ +.uk-overlay-fade, +.uk-overlay-scale, +.uk-overlay-spin, +.uk-overlay-grayscale, +.uk-overlay-blur, +[class*='uk-overlay-slide'] { + transition-duration: 0.3s; + transition-timing-function: ease-out; + transition-property: opacity, transform, filter; +} +.uk-overlay-active .uk-overlay-fade, +.uk-overlay-active .uk-overlay-scale, +.uk-overlay-active .uk-overlay-spin, +.uk-overlay-active [class*='uk-overlay-slide'] { + transition-duration: 0.8s; +} +/* + * Fade + */ +.uk-overlay-fade { + opacity: 0.7; +} +.uk-overlay-hover:hover .uk-overlay-fade, +.uk-overlay-hover.uk-hover .uk-overlay-fade, +.uk-overlay-active .uk-active > .uk-overlay-fade { + opacity: 1; +} +/* + * Scale + */ +.uk-overlay-scale { + -webkit-transform: scale(1); + transform: scale(1); +} +.uk-overlay-hover:hover .uk-overlay-scale, +.uk-overlay-hover.uk-hover .uk-overlay-scale, +.uk-overlay-active .uk-active > .uk-overlay-scale { + -webkit-transform: scale(1.1); + transform: scale(1.1); +} +/* + * Spin + */ +.uk-overlay-spin { + -webkit-transform: scale(1) rotate(0deg); + transform: scale(1) rotate(0deg); +} +.uk-overlay-hover:hover .uk-overlay-spin, +.uk-overlay-hover.uk-hover .uk-overlay-spin, +.uk-overlay-active .uk-active > .uk-overlay-spin { + -webkit-transform: scale(1.1) rotate(3deg); + transform: scale(1.1) rotate(3deg); +} +/* + * Grayscale + */ +.uk-overlay-grayscale { + -webkit-filter: grayscale(100%); + filter: grayscale(100%); +} +.uk-overlay-hover:hover .uk-overlay-grayscale, +.uk-overlay-hover.uk-hover .uk-overlay-grayscale, +.uk-overlay-active .uk-active > .uk-overlay-grayscale { + -webkit-filter: grayscale(0%); + filter: grayscale(0%); +} +/* + * Slide + */ +[class*='uk-overlay-slide'] { + opacity: 0; +} +/* Top */ +.uk-overlay-slide-top { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); +} +/* Bottom */ +.uk-overlay-slide-bottom { + -webkit-transform: translateY(100%); + transform: translateY(100%); +} +/* Left */ +.uk-overlay-slide-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} +/* Right */ +.uk-overlay-slide-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +/* Hover */ +.uk-overlay-hover:hover [class*='uk-overlay-slide'], +.uk-overlay-hover.uk-hover [class*='uk-overlay-slide'], +.uk-overlay-active .uk-active > [class*='uk-overlay-slide'] { + opacity: 1; + -webkit-transform: translateX(0) translateY(0); + transform: translateX(0) translateY(0); +} +/* DEPRECATED + * Sub-object `uk-overlay-area` + ========================================================================== */ +/* + * 1. Set position + * 2. Set style + * 3. Fade-in transition + */ +.uk-overlay-area { + /* 1 */ + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + background: rgba(0, 0, 0, 0.3); + /* 3 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + -webkit-transform: translate3d(0, 0, 0); +} +/* + * Hover + * 1. `uk-hover` to support touch devices + * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier + */ +.uk-overlay:hover .uk-overlay-area, +.uk-overlay.uk-hover .uk-overlay-area, +.uk-overlay-toggle:hover .uk-overlay-area, +.uk-overlay-toggle.uk-hover .uk-overlay-area { + opacity: 1; +} +/* + * Icon + */ +.uk-overlay-area:empty:before { + content: "\f002"; + position: absolute; + top: 50%; + left: 50%; + width: 50px; + height: 50px; + margin-top: -25px; + margin-left: -25px; + font-size: 50px; + line-height: 1; + font-family: FontAwesome; + text-align: center; + color: #fff; +} +/* DEPRECATED + * Sub-object `uk-overlay-area-content` + ========================================================================== */ +/* + * Remove whitespace between child elements when using `inline-block` + * Needed for Firefox + */ +.uk-overlay-area:not(:empty) { + font-size: 0.001px; +} +/* + * 1. Needed for vertical alignment + */ +.uk-overlay-area:not(:empty):before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} +/* + * 1. Set vertical alignment + * 2. Reset whitespace hack + * 3. Set horizontal alignment + * 4. Set style + */ +.uk-overlay-area-content { + /* 1 */ + display: inline-block; + box-sizing: border-box; + width: 100%; + vertical-align: middle; + /* 2 */ + font-size: 1rem; + /* 3 */ + text-align: center; + /* 4 */ + padding: 0 15px; + color: #fff; +} +/* + * Remove margin from the last-child + */ +.uk-overlay-area-content > :last-child { + margin-bottom: 0; +} +/* + * Links in overlay area + */ +.uk-overlay-area-content a:not([class]), +.uk-overlay-area-content a:not([class]):hover { + color: inherit; +} +/* DEPRECATED + * Sub-object `uk-overlay-caption` + ========================================================================== */ +/* + * 1. Set position + * 2. Set style + * 3. Fade-in transition + */ +.uk-overlay-caption { + /* 1 */ + position: absolute; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + padding: 15px; + background: rgba(0, 0, 0, 0.5); + color: #fff; + /* 3 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + -webkit-transform: translate3d(0, 0, 0); +} +/* + * Hover + * 1. `uk-hover` to support touch devices + * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier + */ +.uk-overlay:hover .uk-overlay-caption, +.uk-overlay.uk-hover .uk-overlay-caption, +.uk-overlay-toggle:hover .uk-overlay-caption, +.uk-overlay-toggle.uk-hover .uk-overlay-caption { + opacity: 1; +} +/* ======================================================================== + Component: Column + ========================================================================== */ +[class*='uk-column-'] { + -webkit-column-gap: 25px; + -moz-column-gap: 25px; + column-gap: 25px; +} +/* Width modifiers + ========================================================================== */ +.uk-column-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; +} +.uk-column-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; +} +.uk-column-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; +} +.uk-column-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; +} +.uk-column-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; +} +/* Phone landscape and bigger */ +@media (min-width: 480px) { + .uk-column-small-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + .uk-column-small-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + .uk-column-small-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + .uk-column-small-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + .uk-column-small-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-column-medium-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + .uk-column-medium-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + .uk-column-medium-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + .uk-column-medium-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + .uk-column-medium-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-column-large-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + .uk-column-large-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + .uk-column-large-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + .uk-column-large-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + .uk-column-large-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-column-xlarge-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + .uk-column-xlarge-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + .uk-column-xlarge-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + .uk-column-xlarge-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + .uk-column-xlarge-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} +/* ======================================================================== + Component: Animation + ========================================================================== */ +[class*='uk-animation-'] { + -webkit-animation-duration: 0.5s; + animation-duration: 0.5s; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} +/* Hide animated element if scrollspy is used */ +@media screen { + [data-uk-scrollspy*='uk-animation-']:not([data-uk-scrollspy*='target']) { + opacity: 0; + } +} +/* + * Fade + * Higher specificity (!important) needed because of reverse modifier + */ +.uk-animation-fade { + -webkit-animation-name: uk-fade; + animation-name: uk-fade; + -webkit-animation-duration: 0.8s; + animation-duration: 0.8s; + -webkit-animation-timing-function: linear !important; + animation-timing-function: linear !important; +} +/* + * Fade with scale + */ +.uk-animation-scale-up { + -webkit-animation-name: uk-fade-scale-02; + animation-name: uk-fade-scale-02; +} +.uk-animation-scale-down { + -webkit-animation-name: uk-fade-scale-18; + animation-name: uk-fade-scale-18; +} +/* + * Fade with slide + */ +.uk-animation-slide-top { + -webkit-animation-name: uk-fade-top; + animation-name: uk-fade-top; +} +.uk-animation-slide-bottom { + -webkit-animation-name: uk-fade-bottom; + animation-name: uk-fade-bottom; +} +.uk-animation-slide-left { + -webkit-animation-name: uk-fade-left; + animation-name: uk-fade-left; +} +.uk-animation-slide-right { + -webkit-animation-name: uk-fade-right; + animation-name: uk-fade-right; +} +/* + * Scale + */ +.uk-animation-scale { + -webkit-animation-name: uk-scale-12; + animation-name: uk-scale-12; +} +/* + * Shake + */ +.uk-animation-shake { + -webkit-animation-name: uk-shake; + animation-name: uk-shake; +} +/* Direction modifiers + ========================================================================== */ +.uk-animation-reverse { + -webkit-animation-direction: reverse; + animation-direction: reverse; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} +/* Duration modifiers +========================================================================== */ +.uk-animation-15 { + -webkit-animation-duration: 15s; + animation-duration: 15s; +} +/* Origin modifiers +========================================================================== */ +.uk-animation-top-left { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} +.uk-animation-top-center { + -webkit-transform-origin: 50% 0; + transform-origin: 50% 0; +} +.uk-animation-top-right { + -webkit-transform-origin: 100% 0; + transform-origin: 100% 0; +} +.uk-animation-middle-left { + -webkit-transform-origin: 0 50%; + transform-origin: 0 50%; +} +.uk-animation-middle-right { + -webkit-transform-origin: 100% 50%; + transform-origin: 100% 50%; +} +.uk-animation-bottom-left { + -webkit-transform-origin: 0 100%; + transform-origin: 0 100%; +} +.uk-animation-bottom-center { + -webkit-transform-origin: 50% 100%; + transform-origin: 50% 100%; +} +.uk-animation-bottom-right { + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100%; +} +/* Sub-object: `uk-animation-hover` +========================================================================== */ +/* + * Enable animation only on hover + * Note: Firefox also needs this because animations are not triggered when switching between display `hidden` and `block` + */ +.uk-animation-hover:not(:hover), +.uk-animation-hover:not(:hover) [class*='uk-animation-'], +.uk-touch .uk-animation-hover:not(.uk-hover), +.uk-touch .uk-animation-hover:not(.uk-hover) [class*='uk-animation-'] { + -webkit-animation-name: none; + animation-name: none; +} +/* Keyframes: Fade + * Used by dropdown, datepicker and slideshow component + ========================================================================== */ +@-webkit-keyframes uk-fade { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes uk-fade { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +/* Keyframes: Fade with slide + ========================================================================== */ +/* + * Top + */ +@-webkit-keyframes uk-fade-top { + 0% { + opacity: 0; + -webkit-transform: translateY(-100%); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes uk-fade-top { + 0% { + opacity: 0; + transform: translateY(-100%); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +/* + * Bottom + */ +@-webkit-keyframes uk-fade-bottom { + 0% { + opacity: 0; + -webkit-transform: translateY(100%); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes uk-fade-bottom { + 0% { + opacity: 0; + transform: translateY(100%); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +/* + * Left + */ +@-webkit-keyframes uk-fade-left { + 0% { + opacity: 0; + -webkit-transform: translateX(-100%); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} +@keyframes uk-fade-left { + 0% { + opacity: 0; + transform: translateX(-100%); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} +/* + * Right + */ +@-webkit-keyframes uk-fade-right { + 0% { + opacity: 0; + -webkit-transform: translateX(100%); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} +@keyframes uk-fade-right { + 0% { + opacity: 0; + transform: translateX(100%); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} +/* Keyframes: Fade with scale + ========================================================================== */ +/* + * Scale by 0.2 + */ +@-webkit-keyframes uk-fade-scale-02 { + 0% { + opacity: 0; + -webkit-transform: scale(0.2); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} +@keyframes uk-fade-scale-02 { + 0% { + opacity: 0; + transform: scale(0.2); + } + 100% { + opacity: 1; + transform: scale(1); + } +} +/* + * Scale by 1.5 + * Used by slideshow component + */ +@-webkit-keyframes uk-fade-scale-15 { + 0% { + opacity: 0; + -webkit-transform: scale(1.5); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} +@keyframes uk-fade-scale-15 { + 0% { + opacity: 0; + transform: scale(1.5); + } + 100% { + opacity: 1; + transform: scale(1); + } +} +/* + * Scale by 1.8 + */ +@-webkit-keyframes uk-fade-scale-18 { + 0% { + opacity: 0; + -webkit-transform: scale(1.8); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} +@keyframes uk-fade-scale-18 { + 0% { + opacity: 0; + transform: scale(1.8); + } + 100% { + opacity: 1; + transform: scale(1); + } +} +/* Keyframes: Slide + * Used by slideshow component + ========================================================================== */ +/* + * Left + */ +@-webkit-keyframes uk-slide-left { + 0% { + -webkit-transform: translateX(-100%); + } + 100% { + -webkit-transform: translateX(0); + } +} +@keyframes uk-slide-left { + 0% { + transform: translateX(-100%); + } + 100% { + transform: translateX(0); + } +} +/* + * Right + */ +@-webkit-keyframes uk-slide-right { + 0% { + -webkit-transform: translateX(100%); + } + 100% { + -webkit-transform: translateX(0); + } +} +@keyframes uk-slide-right { + 0% { + transform: translateX(100%); + } + 100% { + transform: translateX(0); + } +} +/* + * Left third + */ +@-webkit-keyframes uk-slide-left-33 { + 0% { + -webkit-transform: translateX(33%); + } + 100% { + -webkit-transform: translateX(0); + } +} +@keyframes uk-slide-left-33 { + 0% { + transform: translateX(33%); + } + 100% { + transform: translateX(0); + } +} +/* + * Right third + */ +@-webkit-keyframes uk-slide-right-33 { + 0% { + -webkit-transform: translateX(-33%); + } + 100% { + -webkit-transform: translateX(0); + } +} +@keyframes uk-slide-right-33 { + 0% { + transform: translateX(-33%); + } + 100% { + transform: translateX(0); + } +} +/* Keyframes: Scale + ========================================================================== */ +@-webkit-keyframes uk-scale-12 { + 0% { + -webkit-transform: scale(1.2); + } + 100% { + -webkit-transform: scale(1); + } +} +@keyframes uk-scale-12 { + 0% { + transform: scale(1.2); + } + 100% { + transform: scale(1); + } +} +/* Keyframes: Rotate + * Used by icon component + ========================================================================== */ +@-webkit-keyframes uk-rotate { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + } +} +@keyframes uk-rotate { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(359deg); + } +} +/* Keyframes: Shake + ========================================================================== */ +@-webkit-keyframes uk-shake { + 0%, + 100% { + -webkit-transform: translateX(0); + } + 10% { + -webkit-transform: translateX(-9px); + } + 20% { + -webkit-transform: translateX(8px); + } + 30% { + -webkit-transform: translateX(-7px); + } + 40% { + -webkit-transform: translateX(6px); + } + 50% { + -webkit-transform: translateX(-5px); + } + 60% { + -webkit-transform: translateX(4px); + } + 70% { + -webkit-transform: translateX(-3px); + } + 80% { + -webkit-transform: translateX(2px); + } + 90% { + -webkit-transform: translateX(-1px); + } +} +@keyframes uk-shake { + 0%, + 100% { + transform: translateX(0); + } + 10% { + transform: translateX(-9px); + } + 20% { + transform: translateX(8px); + } + 30% { + transform: translateX(-7px); + } + 40% { + transform: translateX(6px); + } + 50% { + transform: translateX(-5px); + } + 60% { + transform: translateX(4px); + } + 70% { + transform: translateX(-3px); + } + 80% { + transform: translateX(2px); + } + 90% { + transform: translateX(-1px); + } +} +/* Keyframes: Fade with slide fixed + * Used by dropdown and search component + ========================================================================== */ +/* + * Top fixed + */ +@-webkit-keyframes uk-slide-top-fixed { + 0% { + opacity: 0; + -webkit-transform: translateY(-10px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes uk-slide-top-fixed { + 0% { + opacity: 0; + transform: translateY(-10px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +/* + * Bottom fixed + */ +@-webkit-keyframes uk-slide-bottom-fixed { + 0% { + opacity: 0; + -webkit-transform: translateY(10px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes uk-slide-bottom-fixed { + 0% { + opacity: 0; + transform: translateY(10px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +/* ======================================================================== + Component: Dropdown + ========================================================================== */ +/* + * 1. Hide by default + * 2. Set position + * 3. Box-sizing is needed for `uk-dropdown-justify` + * 4. Set width + */ +.uk-dropdown, +.uk-dropdown-blank { + /* 1 */ + display: none; + /* 2 */ + position: absolute; + z-index: 1020; + /* 3 */ + box-sizing: border-box; + /* 4 */ + width: 200px; +} +/* + * Dropdown style + * 1. Reset button group whitespace hack + */ +.uk-dropdown { + padding: 15px; + background: #fff; + color: #444; + /* 1 */ + font-size: 1rem; + vertical-align: top; + border: 1px solid #cbcbcb; + border-radius: 4px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); +} +/* Focus */ +.uk-dropdown:focus { + outline: none; +} +/* + * 1. Show dropdown + * 2. Set animation + * 3. Needed for scale animation + */ +.uk-open > .uk-dropdown, +.uk-open > .uk-dropdown-blank { + /* 1 */ + display: block; + /* 2 */ + -webkit-animation: uk-fade 0.2s ease-in-out; + animation: uk-fade 0.2s ease-in-out; + /* 3 */ + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} +/* Alignment modifiers + ========================================================================== */ +/* + * Modifier + */ +.uk-dropdown-top { + margin-top: -5px; +} +.uk-dropdown-bottom { + margin-top: 5px; +} +.uk-dropdown-left { + margin-left: -5px; +} +.uk-dropdown-right { + margin-left: 5px; +} +/* Nav in dropdown + ========================================================================== */ +.uk-dropdown .uk-nav { + margin: 0 -15px; +} +/* Grid and panel in dropdown + ========================================================================== */ +/* +* Vertical gutter +*/ +/* + * Grid + * Higher specificity to override large gutter + */ +.uk-grid .uk-dropdown-grid + .uk-dropdown-grid { + margin-top: 15px; +} +/* Panels */ +.uk-dropdown-grid > [class*='uk-width-'] > .uk-panel + .uk-panel { + margin-top: 15px; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + /* + * Horizontal gutter + */ + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid { + margin-left: -15px; + margin-right: -15px; + } + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-'] { + padding-left: 15px; + padding-right: 15px; + } + /* + * Column divider + */ + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { + border-left: 1px solid #ddd; + } + /* + * Width multiplier for dropdown columns + */ + .uk-dropdown-width-2:not(.uk-dropdown-stack) { + width: 400px; + } + .uk-dropdown-width-3:not(.uk-dropdown-stack) { + width: 600px; + } + .uk-dropdown-width-4:not(.uk-dropdown-stack) { + width: 800px; + } + .uk-dropdown-width-5:not(.uk-dropdown-stack) { + width: 1000px; + } +} +/* Phone landscape and smaller */ +@media (max-width: 767px) { + /* + * Stack columns and take full width + */ + .uk-dropdown-grid > [class*='uk-width-'] { + width: 100%; + } + /* + * Vertical gutter + */ + .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { + margin-top: 15px; + } +} +/* +* Stack grid columns +*/ +.uk-dropdown-stack > .uk-dropdown-grid > [class*='uk-width-'] { + width: 100%; +} +.uk-dropdown-stack > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { + margin-top: 15px; +} +/* Modifier `uk-dropdown-small` + ========================================================================== */ +/* + * Set min-width and text expands dropdown if needed + */ +.uk-dropdown-small { + min-width: 150px; + width: auto; + padding: 5px; + white-space: nowrap; +} +/* + * Nav in dropdown + */ +.uk-dropdown-small .uk-nav { + margin: 0 -5px; +} +/* Modifier: `uk-dropdown-navbar` + ========================================================================== */ +.uk-dropdown-navbar { + margin-top: 6px; + background: #fff; + color: #444; + left: -1px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); +} +.uk-open > .uk-dropdown-navbar { + -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out; + animation: uk-slide-top-fixed 0.2s ease-in-out; +} +/* Modifier `uk-dropdown-scrollable` + ========================================================================== */ +/* + * Usefull for long lists + */ +.uk-dropdown-scrollable { + overflow-y: auto; + max-height: 200px; +} +/* Sub-object: `uk-dropdown-overlay` + ========================================================================== */ +.uk-dropdown-navbar.uk-dropdown-flip { + left: auto; +} +/* ======================================================================== + Component: Modal + ========================================================================== */ +/* + * This is the modal overlay and modal dialog container + * 1. Hide by default + * 2. Set fixed position + * 3. Allow scrolling for the modal dialog + * 4. Mask the background page + * 5. Fade-in transition + * 6. Deactivate browser history navigation in IE11 + * 7. force hardware acceleration to prevent browser rendering hiccups + */ +.uk-modal { + /* 1 */ + display: none; + /* 2 */ + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1010; + /* 3 */ + overflow-y: auto; + -webkit-overflow-scrolling: touch; + /* 4 */ + background: rgba(0, 0, 0, 0.6); + /* 5 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + /* 6 */ + touch-action: cross-slide-y pinch-zoom double-tap-zoom; + /* 7 */ + -webkit-transform: translateZ(0); + transform: translateZ(0); +} +/* + * Open state + */ +.uk-modal.uk-open { + opacity: 1; +} +/* + * Prevents duplicated scrollbar caused by 4. + */ +.uk-modal-page, +.uk-modal-page body { + overflow: hidden; +} +/* Sub-object: `uk-modal-dialog` + ========================================================================== */ +/* + * 1. Create position context for caption, spinner and close button + * 2. Set box sizing + * 3. Set style + * 4. Slide-in transition + */ +.uk-modal-dialog { + /* 1 */ + position: relative; + /* 2 */ + box-sizing: border-box; + margin: 50px auto; + padding: 20px; + width: 600px; + max-width: 100%; + max-width: calc(100% - 20px); + /* 3 */ + background: #fff; + /* 4 */ + opacity: 0; + -webkit-transform: translateY(-100px); + transform: translateY(-100px); + -webkit-transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out; + transition: opacity 0.3s linear, transform 0.3s ease-out; + border-radius: 4px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); +} +/* Phone landscape and smaller */ +@media (max-width: 767px) { + /* + * Fit in small screen + */ + .uk-modal-dialog { + width: auto; + margin: 10px auto; + } +} +/* + * Open state + */ +.uk-open .uk-modal-dialog { + /* 4 */ + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); +} +/* + * Remove margin from the last-child + */ +.uk-modal-dialog > :not([class*='uk-modal-']):last-child { + margin-bottom: 0; +} +/* Close in modal + ========================================================================== */ +.uk-modal-dialog > .uk-close:first-child { + margin: -10px -10px 0 0; + float: right; +} +/* + * Remove margin from adjacent element + */ +.uk-modal-dialog > .uk-close:first-child + :not([class*='uk-modal-']) { + margin-top: 0; +} +/* Modifier: `uk-modal-dialog-lightbox` + ========================================================================== */ +.uk-modal-dialog-lightbox { + margin: 15px auto; + padding: 0; + max-width: 95%; + max-width: calc(100% - 30px); + min-height: 50px; + border-radius: 0; +} +/* + * Close button + */ +.uk-modal-dialog-lightbox > .uk-close:first-child { + position: absolute; + top: -12px; + right: -12px; + margin: 0; + float: none; +} +/* Phone landscape and smaller */ +@media (max-width: 767px) { + .uk-modal-dialog-lightbox > .uk-close:first-child { + top: -7px; + right: -7px; + } +} +/* Modifier: `uk-modal-dialog-blank` + ========================================================================== */ +.uk-modal-dialog-blank { + margin: 0; + padding: 0; + width: 100%; + max-width: 100%; + -webkit-transition: opacity 0.3s linear; + transition: opacity 0.3s linear; +} +/* +* Close button +*/ +.uk-modal-dialog-blank > .uk-close:first-child { + position: absolute; + top: 20px; + right: 20px; + z-index: 1; + margin: 0; + float: none; +} +/* Modifier: `uk-modal-dialog-large` + ========================================================================== */ +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-modal-dialog-large { + width: 930px; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-modal-dialog-large { + width: 1130px; + } +} +/* Sub-Object: `uk-modal-header` and `uk-modal-footer` + ========================================================================== */ +.uk-modal-header { + margin-bottom: 15px; + margin: -20px -20px 15px -20px; + padding: 20px; + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + background: #fafafa; +} +.uk-modal-footer { + margin-top: 15px; + margin: 15px -20px -20px -20px; + padding: 20px; + border-top: 1px solid #ddd; + border-radius: 0 0 4px 4px; + background: #fafafa; +} +/* + * Remove margin from the last-child + */ +.uk-modal-header > :last-child, +.uk-modal-footer > :last-child { + margin-bottom: 0; +} +/* Sub-Object: `uk-modal-caption` + ========================================================================== */ +.uk-modal-caption { + position: absolute; + left: 0; + right: 0; + bottom: -20px; + margin-bottom: -10px; + color: #fff; + text-align: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +/* Sub-Object: `uk-modal-spinner` + ========================================================================== */ +.uk-modal-spinner { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + font-size: 25px; + color: #ddd; +} +.uk-modal-spinner:after { + content: "\f110"; + display: block; + font-family: FontAwesome; + -webkit-animation: uk-rotate 2s infinite linear; + animation: uk-rotate 2s infinite linear; +} +/* ======================================================================== + Component: Off-canvas + ========================================================================== */ +/* + * This is the offcanvas overlay and bar container + * 1. Hide by default + * 2. Set fixed position + * 3. Deactivate browser touch actions in IE11 + * 4. Mask the background page + */ +.uk-offcanvas { + /* 1 */ + display: none; + /* 2 */ + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1000; + /* 3 */ + touch-action: none; + /* 4 */ + background: rgba(0, 0, 0, 0.1); +} +.uk-offcanvas.uk-active { + display: block; +} +/* Sub-object `uk-offcanvas-page` + ========================================================================== */ +/* + * Prepares the whole HTML page to slide-out + * 1. Fix the main page and disallow scrolling + * 2. Side-out transition + * 3. Needed for the transition to work instead of just letting it pop to the side + */ +.uk-offcanvas-page { + /* 1 */ + position: fixed; + /* 2 */ + -webkit-transition: margin-left 0.3s ease-in-out; + transition: margin-left 0.3s ease-in-out; + /* 3 */ + margin-left: 0; +} +/* Sub-object `uk-offcanvas-bar` + ========================================================================== */ +/* + * This is the offcanvas bar + * 1. Set fixed position + * 2. Size and style + * 3. Allow scrolling + * 4. Side-out transition + * 5. Deactivate scroll chaining in IE11 + */ +.uk-offcanvas-bar { + /* 1 */ + position: fixed; + top: 0; + bottom: 0; + left: 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + z-index: 1001; + /* 2 */ + width: 270px; + max-width: 100%; + background: #333; + /* 3 */ + overflow-y: auto; + -webkit-overflow-scrolling: touch; + /* 4 */ + -webkit-transition: -webkit-transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out; + /* 5 */ + -ms-scroll-chaining: none; +} +.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show { + -webkit-transform: translateX(0%); + transform: translateX(0%); +} +/* Modifier `uk-offcanvas-bar-flip` + ========================================================================== */ +.uk-offcanvas-bar-flip { + left: auto; + right: 0; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +/* Offcanvase modes + ========================================================================== */ +.uk-offcanvas-bar[mode='none'] { + -webkit-transition: none; + transition: none; +} +.uk-offcanvas-bar[mode='reveal'] { + -webkit-transform: translateX(0%); + transform: translateX(0%); + clip: rect(0, 0, 100vh, 0); + -webkit-transition: -webkit-transform 0.3s ease-in-out, clip 0.3s ease-in-out; + transition: transform 0.3s ease-in-out, clip 0.3s ease-in-out; +} +.uk-offcanvas-bar-flip[mode='reveal'] { + clip: none; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +.uk-offcanvas-bar-flip[mode='reveal'] > * { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + -webkit-transition: -webkit-transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out; +} +.uk-offcanvas.uk-active .uk-offcanvas-bar-flip[mode='reveal'].uk-offcanvas-bar-show > * { + -webkit-transform: translateX(0%); + transform: translateX(0%); +} +/* Panel in offcanvas + ========================================================================== */ +.uk-offcanvas .uk-panel { + margin: 20px 15px; + color: #777; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); +} +.uk-offcanvas .uk-panel-title { + color: #ccc; +} +.uk-offcanvas .uk-panel a:not([class]) { + color: #ccc; +} +.uk-offcanvas .uk-panel a:not([class]):hover { + color: #fff; +} +.uk-offcanvas-bar:after { + content: ""; + display: block; + position: absolute; + top: 0; + bottom: 0; + right: 0; + width: 1px; + background: rgba(0, 0, 0, 0.6); + box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.6); +} +.uk-offcanvas-bar-flip:after { + right: auto; + left: 0; + width: 1px; + background: rgba(0, 0, 0, 0.6); + box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.6); +} +/* ======================================================================== + Component: Switcher + ========================================================================== */ +/* + * 1. Deactivate browser history navigation in IE11 + */ +.uk-switcher { + margin: 0; + padding: 0; + list-style: none; + /* 1 */ + touch-action: cross-slide-y pinch-zoom double-tap-zoom; +} +/* + * Items + */ +.uk-switcher > :not(.uk-active) { + display: none; +} +/* ======================================================================== + Component: Text + ========================================================================== */ +/* Size modifiers + ========================================================================== */ +.uk-text-small { + font-size: 11px; + line-height: 16px; +} +.uk-text-large { + font-size: 18px; + line-height: 24px; + font-weight: normal; +} +/* Weight modifiers + ========================================================================== */ +.uk-text-bold { + font-weight: bold; +} +/* Color modifiers + ========================================================================== */ +.uk-text-muted { + color: #999 !important; +} +.uk-text-primary { + color: #2d7091 !important; +} +.uk-text-success { + color: #659f13 !important; +} +.uk-text-warning { + color: #e28327 !important; +} +.uk-text-danger { + color: #d85030 !important; +} +.uk-text-contrast { + color: #fff !important; +} +/* Alignment modifiers + ========================================================================== */ +.uk-text-left { + text-align: left !important; +} +.uk-text-right { + text-align: right !important; +} +.uk-text-center { + text-align: center !important; +} +.uk-text-justify { + text-align: justify !important; +} +.uk-text-top { + vertical-align: top !important; +} +.uk-text-middle { + vertical-align: middle !important; +} +.uk-text-bottom { + vertical-align: bottom !important; +} +/* Only tablets portrait and smaller */ +@media (max-width: 959px) { + .uk-text-center-medium { + text-align: center !important; + } + .uk-text-left-medium { + text-align: left !important; + } +} +/* Phone landscape and smaller */ +@media (max-width: 767px) { + .uk-text-center-small { + text-align: center !important; + } + .uk-text-left-small { + text-align: left !important; + } +} +/* Wrap modifiers + ========================================================================== */ +/* + * Prevent text from wrapping onto multiple lines + */ +.uk-text-nowrap { + white-space: nowrap; +} +/* + * Prevent text from wrapping onto multiple lines, and truncate with an ellipsis + */ +.uk-text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +/* + * Break strings if their length exceeds the width of their container + */ +.uk-text-break { + word-wrap: break-word; + -webkit-hyphens: auto; + -ms-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; +} +/* Transform modifiers + ========================================================================== */ +.uk-text-capitalize { + text-transform: capitalize !important; +} +.uk-text-lowercase { + text-transform: lowercase !important; +} +.uk-text-uppercase { + text-transform: uppercase !important; +} +/* ======================================================================== + Component: Utility + ========================================================================== */ +/* Container + ========================================================================== */ +.uk-container { + box-sizing: border-box; + max-width: 980px; + padding: 0 25px; +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-container { + max-width: 1200px; + padding: 0 35px; + } +} +/* + * Micro clearfix + */ +.uk-container:before, +.uk-container:after { + content: ""; + display: table; +} +.uk-container:after { + clear: both; +} +/* + * Center container + */ +.uk-container-center { + margin-left: auto; + margin-right: auto; +} +/* Clearing + ========================================================================== */ +/* + * Micro clearfix +* `table-cell` is used with `:before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit + * `table` is used again with `:after` because `clear` only works with block elements. + * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari + */ +.uk-clearfix:before { + content: ""; + display: table-cell; +} +.uk-clearfix:after { + content: ""; + display: table; + clear: both; +} +/* + * Create a new block formatting context + */ +.uk-nbfc { + overflow: hidden; +} +.uk-nbfc-alt { + display: table-cell; + width: 10000px; +} +/* Alignment of block elements + ========================================================================== */ +/* + * Float blocks + * 1. Prevent content overflow on small devices + */ +.uk-float-left { + float: left; +} +.uk-float-right { + float: right; +} +/* 1 */ +[class*='uk-float-'] { + max-width: 100%; +} +/* Alignment of images and objects + ========================================================================== */ +/* + * Alignment + */ +[class*='uk-align-'] { + display: block; + margin-bottom: 15px; +} +.uk-align-left { + margin-right: 15px; + float: left; +} +.uk-align-right { + margin-left: 15px; + float: right; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-align-medium-left { + margin-right: 15px; + float: left; + } + .uk-align-medium-right { + margin-left: 15px; + float: right; + } +} +.uk-align-center { + margin-left: auto; + margin-right: auto; +} +/* Vertical alignment + ========================================================================== */ +/* + * Remove whitespace between child elements when using `inline-block` + */ +.uk-vertical-align { + font-size: 0.001px; +} +/* + * The `uk-vertical-align` container needs a specific height + */ +.uk-vertical-align:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} +/* + * Sub-object which can have any height + * 1. Reset whitespace hack + */ +.uk-vertical-align-middle, +.uk-vertical-align-bottom { + display: inline-block; + max-width: 100%; + /* 1 */ + font-size: 1rem; +} +.uk-vertical-align-middle { + vertical-align: middle; +} +.uk-vertical-align-bottom { + vertical-align: bottom; +} +/* Height + ========================================================================== */ +/* + * More robust if padding and border are used + */ +[class*='uk-height'] { + box-sizing: border-box; +} +/* + * Useful to extend the `html` and `body` element to the full height of the page. + */ +.uk-height-1-1 { + height: 100%; +} +/* + * Useful to create image teasers + */ +.uk-height-viewport { + height: 100vh; + min-height: 600px; +} +/* Responsive objects + * Note: Images are already responsive by default, see Base component + ========================================================================== */ +/* + * 1. Corrects `max-width` and `max-height` behavior if padding and border are used + */ +.uk-responsive-width, +.uk-responsive-height { + box-sizing: border-box; +} +/* + * Responsiveness: Sets a maximum width relative to the parent and auto scales the height + * `important` needed to override `uk-img-preserve img` + */ +.uk-responsive-width { + max-width: 100% !important; + height: auto; +} +/* + * Responsiveness: Sets a maximum height relative to the parent and auto scales the width + * Only works if the parent element has a fixed height. + */ +.uk-responsive-height { + max-height: 100%; + width: auto; +} +/* Margin + ========================================================================== */ +/* + * Create a block with the same margin of a paragraph + * Add margin if adjacent element + */ +.uk-margin { + margin-bottom: 15px; +} +* + .uk-margin { + margin-top: 15px; +} +.uk-margin-top { + margin-top: 15px !important; +} +.uk-margin-bottom { + margin-bottom: 15px !important; +} +.uk-margin-left { + margin-left: 15px !important; +} +.uk-margin-right { + margin-right: 15px !important; +} +/* + * Larger margins + */ +.uk-margin-large { + margin-bottom: 50px; +} +* + .uk-margin-large { + margin-top: 50px; +} +.uk-margin-large-top { + margin-top: 50px !important; +} +.uk-margin-large-bottom { + margin-bottom: 50px !important; +} +.uk-margin-large-left { + margin-left: 50px !important; +} +.uk-margin-large-right { + margin-right: 50px !important; +} +/* + * Smaller margins + */ +.uk-margin-small { + margin-bottom: 5px; +} +* + .uk-margin-small { + margin-top: 5px; +} +.uk-margin-small-top { + margin-top: 5px !important; +} +.uk-margin-small-bottom { + margin-bottom: 5px !important; +} +.uk-margin-small-left { + margin-left: 5px !important; +} +.uk-margin-small-right { + margin-right: 5px !important; +} +/* + * Remove margins + */ +.uk-margin-remove { + margin: 0 !important; +} +.uk-margin-top-remove { + margin-top: 0 !important; +} +.uk-margin-bottom-remove { + margin-bottom: 0 !important; +} +/* Padding + ========================================================================== */ +.uk-padding-remove { + padding: 0 !important; +} +.uk-padding-top-remove { + padding-top: 0 !important; +} +.uk-padding-bottom-remove { + padding-bottom: 0 !important; +} +.uk-padding-vertical-remove { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +/* Border + ========================================================================== */ +.uk-border-circle { + border-radius: 50%; +} +.uk-border-rounded { + border-radius: 5px; +} +/* Headings + ========================================================================== */ +.uk-heading-large { + font-size: 36px; + line-height: 42px; +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-heading-large { + font-size: 52px; + line-height: 64px; + } +} +/* Link + ========================================================================== */ +/* + * Let links appear in default text color + */ +.uk-link-muted, +.uk-link-muted a { + color: #444; +} +.uk-link-muted:hover, +.uk-link-muted a:hover { + color: #444; +} +/* + * Reset link style + */ +.uk-link-reset, +.uk-link-reset a, +.uk-link-reset:hover, +.uk-link-reset a:hover, +.uk-link-reset:focus, +.uk-link-reset a:focus { + color: inherit; + text-decoration: none; +} +/* Scrollable + ========================================================================== */ +/* + * Enable scrolling for preformatted text + */ +.uk-scrollable-text { + height: 300px; + overflow-y: scroll; + -webkit-overflow-scrolling: touch; + resize: both; +} +/* + * Box with scrolling enabled + */ +.uk-scrollable-box { + box-sizing: border-box; + height: 170px; + padding: 10px; + border: 1px solid #ddd; + overflow: auto; + -webkit-overflow-scrolling: touch; + resize: both; + border-radius: 3px; +} +.uk-scrollable-box > :last-child { + margin-bottom: 0; +} +/* Overflow + ========================================================================== */ +.uk-overflow-hidden { + overflow: hidden; +} +/* + * Enable scrollbars if content is clipped + */ +.uk-overflow-container { + overflow: auto; + -webkit-overflow-scrolling: touch; +} +.uk-overflow-container > :last-child { + margin-bottom: 0; +} +/* Position + ========================================================================== */ +.uk-position-absolute, +[class*='uk-position-top'], +[class*='uk-position-bottom'] { + position: absolute !important; +} +/* Don't use `width: 100%` because it is wrong if the parent has padding. */ +.uk-position-top { + top: 0; + left: 0; + right: 0; +} +.uk-position-bottom { + bottom: 0; + left: 0; + right: 0; +} +.uk-position-top-left { + top: 0; + left: 0; +} +.uk-position-top-right { + top: 0; + right: 0; +} +.uk-position-bottom-left { + bottom: 0; + left: 0; +} +.uk-position-bottom-right { + bottom: 0; + right: 0; +} +/* + * Cover + */ +.uk-position-cover { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +/* + * Relative + */ +.uk-position-relative { + position: relative !important; +} +/* + * Z-index + */ +.uk-position-z-index { + z-index: 1; +} +/* Display + ========================================================================== */ +/* + * Display + * 1. Required if child is a responsive image + */ +.uk-display-block { + display: block !important; +} +.uk-display-inline { + display: inline !important; +} +.uk-display-inline-block { + display: inline-block !important; + /* 1 */ + max-width: 100%; +} +/* + * Visibility + * Avoids setting display to `block` so it works also with `inline-block` and `table` + */ +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-visible-small { + display: none !important; + } + .uk-visible-medium { + display: none !important; + } + .uk-hidden-large { + display: none !important; + } +} +/* Tablets portrait */ +@media (min-width: 768px) and (max-width: 959px) { + .uk-visible-small { + display: none !important; + } + .uk-visible-large { + display: none !important ; + } + .uk-hidden-medium { + display: none !important; + } +} +/* Phone landscape and smaller*/ +@media (max-width: 767px) { + .uk-visible-medium { + display: none !important; + } + .uk-visible-large { + display: none !important; + } + .uk-hidden-small { + display: none !important; + } +} +/* Remove from the flow and screen readers on any device */ +.uk-hidden { + display: none !important; + visibility: hidden !important; +} +/* It's hidden, but still affects layout */ +.uk-invisible { + visibility: hidden !important; +} +/* Show on hover */ +.uk-visible-hover:hover .uk-hidden, +.uk-visible-hover:hover .uk-invisible { + display: block !important; + visibility: visible !important; +} +.uk-visible-hover-inline:hover .uk-hidden, +.uk-visible-hover-inline:hover .uk-invisible { + display: inline-block !important; + visibility: visible !important; +} +/* Hide on touch */ +.uk-touch .uk-hidden-touch, +.uk-notouch .uk-hidden-notouch { + display: none !important; +} +/* ======================================================================== + Component: Flex + ========================================================================== */ +.uk-flex { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; +} +.uk-flex-inline { + display: -ms-inline-flexbox; + display: -webkit-inline-flex; + display: inline-flex; +} +/* + * Fixes initial flex-shrink value in IE10 + */ +.uk-flex > *, +.uk-flex-inline > * { + -ms-flex-negative: 1; +} +/* Alignment + ========================================================================== */ +/* + * Vertical alignment + * Default value is `stretch` + */ +.uk-flex-top { + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; +} +.uk-flex-middle { + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} +.uk-flex-bottom { + -ms-flex-align: end; + -webkit-align-items: flex-end; + align-items: flex-end; +} +/* + * Horizontal alignment + * Default value is `flex-start` + */ +.uk-flex-center { + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.uk-flex-right { + -ms-flex-pack: end; + -webkit-justify-content: flex-end; + justify-content: flex-end; +} +.uk-flex-space-between { + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} +.uk-flex-space-around { + -ms-flex-pack: distribute; + -webkit-justify-content: space-around; + justify-content: space-around; +} +/* Direction + ========================================================================== */ +.uk-flex-row-reverse { + -ms-flex-direction: row-reverse; + -webkit-flex-direction: row-reverse; + flex-direction: row-reverse; +} +.uk-flex-column { + -ms-flex-direction: column; + -webkit-flex-direction: column; + flex-direction: column; +} +.uk-flex-column-reverse { + -ms-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + flex-direction: column-reverse; +} +/* Wrap + ========================================================================== */ +.uk-flex-nowrap { + -ms-flex-wrap: nowrap; + -webkit-flex-wrap: nowrap; + flex-wrap: nowrap; +} +.uk-flex-wrap { + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; +} +.uk-flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse; + -webkit-flex-wrap: wrap-reverse; + flex-wrap: wrap-reverse; +} +/* + * Horizontal alignment + * Default value is `stretch` + */ +.uk-flex-wrap-top { + -ms-flex-line-pack: start; + -webkit-align-content: flex-start; + align-content: flex-start; +} +.uk-flex-wrap-middle { + -ms-flex-line-pack: center; + -webkit-align-content: center; + align-content: center; +} +.uk-flex-wrap-bottom { + -ms-flex-line-pack: end; + -webkit-align-content: flex-end; + align-content: flex-end; +} +.uk-flex-wrap-space-between { + -ms-flex-line-pack: justify; + -webkit-align-content: space-between; + align-content: space-between; +} +.uk-flex-wrap-space-around { + -ms-flex-line-pack: distribute; + -webkit-align-content: space-around; + align-content: space-around; +} +/* Item ordering + ========================================================================== */ +/* + * Default is 0 + */ +.uk-flex-order-first { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; +} +.uk-flex-order-last { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; +} +/* Phone landscape and bigger */ +@media (min-width: 480px) { + .uk-flex-order-first-small { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .uk-flex-order-last-small { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } +} +/* Tablet and bigger */ +@media (min-width: 768px) { + .uk-flex-order-first-medium { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .uk-flex-order-last-medium { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } +} +/* Desktop and bigger */ +@media (min-width: 960px) { + .uk-flex-order-first-large { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .uk-flex-order-last-large { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } +} +/* Large screen and bigger */ +@media (min-width: 1220px) { + .uk-flex-order-first-xlarge { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + .uk-flex-order-last-xlarge { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } +} +/* Item dimensions + ========================================================================== */ +/* + * Initial: 0 1 auto + * Content dimensions, but shrinks + */ +/* + * No Flex: 0 0 auto + * Content dimensions + */ +.uk-flex-item-none { + -ms-flex: none; + -webkit-flex: none; + flex: none; +} +/* + * Relative Flex: 1 1 auto + * Space is allocated considering content + * 1. Fixes flex-shrink value in IE10 + */ +.uk-flex-item-auto { + -ms-flex: auto; + -webkit-flex: auto; + flex: auto; + /* 1 */ + -ms-flex-negative: 1; +} +/* + * Absolute Flex: 1 1 0% + * Space is allocated solely based on flex + */ +.uk-flex-item-1 { + -ms-flex: 1; + -webkit-flex: 1; + flex: 1; +} +/* ======================================================================== + Component: Contrast + ========================================================================== */ +.uk-contrast { + color: #fff; + /* Active */ +} +.uk-contrast a:not([class]), +.uk-contrast .uk-link { + color: rgba(255, 255, 255, 0.7); + text-decoration: none; +} +.uk-contrast a:not([class]):hover, +.uk-contrast .uk-link:hover { + color: #fff; + text-decoration: underline; +} +.uk-contrast :not(pre) > code, +.uk-contrast :not(pre) > kbd, +.uk-contrast :not(pre) > samp { + color: #fff; + border-color: rgba(255, 255, 255, 0.2); + background: rgba(255, 255, 255, 0.1); +} +.uk-contrast em { + color: #fff; +} +.uk-contrast h1, +.uk-contrast h2, +.uk-contrast h3, +.uk-contrast h4, +.uk-contrast h5, +.uk-contrast h6 { + color: #fff; +} +.uk-contrast hr { + border-top-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-nav li > a, +.uk-contrast .uk-nav li > a:hover { + text-decoration: none; +} +.uk-contrast .uk-nav-side > li > a { + color: #fff; +} +.uk-contrast .uk-nav-side > li > a:hover, +.uk-contrast .uk-nav-side > li > a:focus { + background: rgba(255, 255, 255, 0.1); + color: #fff; + text-shadow: none; +} +.uk-contrast .uk-nav-side > li.uk-active > a { + background: #fff; + color: #444; + text-shadow: none; +} +.uk-contrast .uk-nav-side .uk-nav-header { + color: #fff; +} +.uk-contrast .uk-nav-side .uk-nav-divider { + border-top-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-nav-side ul a { + color: rgba(255, 255, 255, 0.7); +} +.uk-contrast .uk-nav-side ul a:hover { + color: #fff; +} +.uk-contrast .uk-subnav > * > a { + color: rgba(255, 255, 255, 0.7); + text-decoration: none; +} +.uk-contrast .uk-subnav > * > a:hover, +.uk-contrast .uk-subnav > * > a:focus { + color: #fff; + text-decoration: none; +} +.uk-contrast .uk-subnav > .uk-active > a { + color: #fff; +} +.uk-contrast .uk-subnav-line > :nth-child(n+2):before { + border-left-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-subnav-pill > * > a:hover, +.uk-contrast .uk-subnav-pill > * > a:focus { + background: rgba(255, 255, 255, 0.7); + color: #444; + text-decoration: none; +} +.uk-contrast .uk-subnav-pill > .uk-active > a { + background: #fff; + color: #444; +} +.uk-contrast .uk-tab { + border-bottom-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-tab > li > a { + border-color: transparent; + color: rgba(255, 255, 255, 0.7); + text-shadow: none; +} +.uk-contrast .uk-tab > li > a:hover, +.uk-contrast .uk-tab > li > a:focus, +.uk-contrast .uk-tab > li.uk-open > a { + border-color: rgba(255, 255, 255, 0.7); + background: rgba(255, 255, 255, 0.7); + color: #444; + text-decoration: none; +} +.uk-contrast .uk-tab > li.uk-active > a { + border-color: rgba(255, 255, 255, 0.2); + border-bottom-color: transparent; + background: #fff; + color: #444; +} +.uk-contrast .uk-tab-center { + border-bottom-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-tab-grid:before { + border-top-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-list-line > li:nth-child(n+2) { + border-top-color: rgba(255, 255, 255, 0.2); +} +.uk-contrast .uk-form select, +.uk-contrast .uk-form textarea, +.uk-contrast .uk-form input:not([type]), +.uk-contrast .uk-form input[type="text"], +.uk-contrast .uk-form input[type="password"], +.uk-contrast .uk-form input[type="datetime"], +.uk-contrast .uk-form input[type="datetime-local"], +.uk-contrast .uk-form input[type="date"], +.uk-contrast .uk-form input[type="month"], +.uk-contrast .uk-form input[type="time"], +.uk-contrast .uk-form input[type="week"], +.uk-contrast .uk-form input[type="number"], +.uk-contrast .uk-form input[type="email"], +.uk-contrast .uk-form input[type="url"], +.uk-contrast .uk-form input[type="search"], +.uk-contrast .uk-form input[type="tel"], +.uk-contrast .uk-form input[type="color"] { + border-color: rgba(255, 255, 255, 0.8); + background: rgba(255, 255, 255, 0.8); + color: #444; + background-clip: padding-box; +} +.uk-contrast .uk-form select:focus, +.uk-contrast .uk-form textarea:focus, +.uk-contrast .uk-form input:not([type]):focus, +.uk-contrast .uk-form input[type="text"]:focus, +.uk-contrast .uk-form input[type="password"]:focus, +.uk-contrast .uk-form input[type="datetime"]:focus, +.uk-contrast .uk-form input[type="datetime-local"]:focus, +.uk-contrast .uk-form input[type="date"]:focus, +.uk-contrast .uk-form input[type="month"]:focus, +.uk-contrast .uk-form input[type="time"]:focus, +.uk-contrast .uk-form input[type="week"]:focus, +.uk-contrast .uk-form input[type="number"]:focus, +.uk-contrast .uk-form input[type="email"]:focus, +.uk-contrast .uk-form input[type="url"]:focus, +.uk-contrast .uk-form input[type="search"]:focus, +.uk-contrast .uk-form input[type="tel"]:focus, +.uk-contrast .uk-form input[type="color"]:focus { + border-color: #fff; + background: #fff; + color: #444; +} +.uk-contrast .uk-form :-ms-input-placeholder { + color: rgba(68, 68, 68, 0.7) !important; +} +.uk-contrast .uk-form ::-moz-placeholder { + color: rgba(68, 68, 68, 0.7); +} +.uk-contrast .uk-form ::-webkit-input-placeholder { + color: rgba(68, 68, 68, 0.7); +} +.uk-contrast .uk-button { + color: #444; + background: #fff; + border-color: transparent; +} +.uk-contrast .uk-button:hover, +.uk-contrast .uk-button:focus { + background-color: rgba(255, 255, 255, 0.8); + color: #444; + border-color: transparent; +} +.uk-contrast .uk-button:active, +.uk-contrast .uk-button.uk-active { + background-color: rgba(255, 255, 255, 0.7); + color: #444; + box-shadow: none; +} +.uk-contrast .uk-button-primary { + background-color: #009dd8; + color: #fff; +} +.uk-contrast .uk-button-primary:hover, +.uk-contrast .uk-button-primary:focus { + background-color: #00aff2; + color: #fff; +} +.uk-contrast .uk-button-primary:active, +.uk-contrast .uk-button-primary.uk-active { + background-color: #008abf; + color: #fff; +} +.uk-contrast .uk-icon-hover { + color: rgba(255, 255, 255, 0.7); +} +.uk-contrast .uk-icon-hover:hover { + color: #fff; +} +.uk-contrast .uk-icon-button { + background: #fff; + color: #444; + border-color: transparent; +} +.uk-contrast .uk-icon-button:hover, +.uk-contrast .uk-icon-button:focus { + background-color: rgba(255, 255, 255, 0.8); + color: #444; + border-color: transparent; +} +.uk-contrast .uk-icon-button:active { + background-color: rgba(255, 255, 255, 0.7); + color: #444; + box-shadow: none; +} +.uk-contrast .uk-text-muted { + color: rgba(255, 255, 255, 0.6) !important; +} +.uk-contrast .uk-text-primary { + color: #2d7091 !important; +} +/* ======================================================================== + Component: Print + ========================================================================== */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: black !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 0.5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } +} diff --git a/bower_components/uikit/css/uikit.gradient.min.css b/bower_components/uikit/css/uikit.gradient.min.css new file mode 100644 index 0000000..9612c04 --- /dev/null +++ b/bower_components/uikit/css/uikit.gradient.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +html{font:400 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#fff;color:#444;background-image:-webkit-radial-gradient(100% 100%,center,#fff,#fff);background-image:radial-gradient(100% 100% at center,#fff,#fff)}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}.uk-link,a{color:#07D;text-decoration:none;cursor:pointer}.uk-link:hover,a:hover{color:#059;text-decoration:underline}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}:not(pre)>code,:not(pre)>kbd,:not(pre)>samp{font-size:12px;font-family:Consolas,monospace,serif;color:#D05;white-space:nowrap;padding:0 4px;border:1px solid #ddd;border-radius:3px;background:#fafafa}em{color:#D05}ins{background:#ffa;color:#444;text-decoration:none}mark{background:#ffa;color:#444}q{font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}audio,canvas,iframe,img,svg,video{vertical-align:middle}audio,canvas,img,svg,video{max-width:100%;height:auto;box-sizing:border-box}.uk-img-preserve,.uk-img-preserve audio,.uk-img-preserve canvas,.uk-img-preserve img,.uk-img-preserve svg,.uk-img-preserve video{max-width:none}img{border:0}svg:not(:root){overflow:hidden}blockquote,figure{margin:0}address,blockquote,dl,fieldset,figure,ol,p,pre,ul{margin:0 0 15px 0}*+address,*+blockquote,*+dl,*+fieldset,*+figure,*+ol,*+p,*+pre,*+ul{margin-top:15px}h1,h2,h3,h4,h5,h6{margin:0 0 15px 0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;color:#444;text-transform:none}*+h1,*+h2,*+h3,*+h4,*+h5,*+h6{margin-top:25px}.uk-h1,h1{font-size:36px;line-height:42px}.uk-h2,h2{font-size:24px;line-height:30px}.uk-h3,h3{font-size:18px;line-height:24px}.uk-h4,h4{font-size:16px;line-height:22px}.uk-h5,h5{font-size:14px;line-height:20px}.uk-h6,h6{font-size:12px;line-height:18px}ol,ul{padding-left:30px}ol>li>ol,ol>li>ul,ul>li>ol,ul>li>ul{margin:0}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;margin:15px 0;border:0;border-top:1px solid #ddd}address{font-style:normal}blockquote{padding-left:15px;border-left:5px solid #ddd;font-size:16px;line-height:22px;font-style:italic}pre{padding:10px;background:#fafafa;font:12px/18px Consolas,monospace,serif;color:#444;-moz-tab-size:4;tab-size:4;overflow:auto;border:1px solid #ddd;border-radius:3px}::-moz-selection{background:#39f;color:#fff;text-shadow:none}::selection{background:#39f;color:#fff;text-shadow:none}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}progress{vertical-align:baseline}audio:not([controls]){display:none}[hidden],template{display:none}iframe{border:0}@media screen and (max-width:400px){@-ms-viewport{width:device-width}}.uk-grid{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.uk-grid:after,.uk-grid:before{content:"";display:block;overflow:hidden}.uk-grid:after{clear:both}.uk-grid>*{-ms-flex:none;-webkit-flex:none;flex:none;margin:0;float:left}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid{margin-left:-25px}.uk-grid>*{padding-left:25px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:25px}@media (min-width:1220px){.uk-grid{margin-left:-35px}.uk-grid>*{padding-left:35px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid-collapse{margin-left:0}.uk-grid-collapse>*{padding-left:0}.uk-grid-collapse+.uk-grid-collapse,.uk-grid-collapse>*>.uk-panel+.uk-panel,.uk-grid-collapse>.uk-grid-margin{margin-top:0}.uk-grid-small{margin-left:-10px}.uk-grid-small>*{padding-left:10px}.uk-grid-small+.uk-grid-small,.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid-small>.uk-grid-margin{margin-top:10px}.uk-grid-medium{margin-left:-25px}.uk-grid-medium>*{padding-left:25px}.uk-grid-medium+.uk-grid-medium,.uk-grid-medium>*>.uk-panel+.uk-panel,.uk-grid-medium>.uk-grid-margin{margin-top:25px}@media (min-width:960px){.uk-grid-large{margin-left:-35px}.uk-grid-large>*{padding-left:35px}.uk-grid-large+.uk-grid-large,.uk-grid-large-margin,.uk-grid-large>*>.uk-panel+.uk-panel{margin-top:35px}}@media (min-width:1220px){.uk-grid-large{margin-left:-50px}.uk-grid-large>*{padding-left:50px}.uk-grid-large+.uk-grid-large,.uk-grid-large-margin,.uk-grid-large>*>.uk-panel+.uk-panel{margin-top:50px}}.uk-grid-divider:not(:empty){margin-left:-25px;margin-right:-25px}.uk-grid-divider>*{padding-left:25px;padding-right:25px}.uk-grid-divider>[class*=uk-width-9-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-1-]:not(.uk-width-1-1):nth-child(n+2),.uk-grid-divider>[class*=uk-width-2-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-3-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-4-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-5-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-6-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-7-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-8-]:nth-child(n+2){border-left:1px solid #ddd}@media (min-width:768px){.uk-grid-divider>[class*=uk-width-medium-]:not(.uk-width-medium-1-1):nth-child(n+2){border-left:1px solid #ddd}}@media (min-width:960px){.uk-grid-divider>[class*=uk-width-large-]:not(.uk-width-large-1-1):nth-child(n+2){border-left:1px solid #ddd}}@media (min-width:1220px){.uk-grid-divider:not(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider>*{padding-left:35px;padding-right:35px}.uk-grid-divider:empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px;border-top:1px solid #ddd}.uk-grid-match>*{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-grid-match>*>*{-ms-flex:none;-webkit-flex:none;flex:none;box-sizing:border-box;width:100%}[class*=uk-grid-width]>*{box-sizing:border-box;width:100%}.uk-grid-width-1-2>*{width:50%}.uk-grid-width-1-3>*{width:33.333%}.uk-grid-width-1-4>*{width:25%}.uk-grid-width-1-5>*{width:20%}.uk-grid-width-1-6>*{width:16.666%}.uk-grid-width-1-10>*{width:10%}.uk-grid-width-auto>*{width:auto}@media (min-width:480px){.uk-grid-width-small-1-1>*{width:100%}.uk-grid-width-small-1-2>*{width:50%}.uk-grid-width-small-1-3>*{width:33.333%}.uk-grid-width-small-1-4>*{width:25%}.uk-grid-width-small-1-5>*{width:20%}.uk-grid-width-small-1-6>*{width:16.666%}.uk-grid-width-small-1-10>*{width:10%}}@media (min-width:768px){.uk-grid-width-medium-1-1>*{width:100%}.uk-grid-width-medium-1-2>*{width:50%}.uk-grid-width-medium-1-3>*{width:33.333%}.uk-grid-width-medium-1-4>*{width:25%}.uk-grid-width-medium-1-5>*{width:20%}.uk-grid-width-medium-1-6>*{width:16.666%}.uk-grid-width-medium-1-10>*{width:10%}}@media (min-width:960px){.uk-grid-width-large-1-1>*{width:100%}.uk-grid-width-large-1-2>*{width:50%}.uk-grid-width-large-1-3>*{width:33.333%}.uk-grid-width-large-1-4>*{width:25%}.uk-grid-width-large-1-5>*{width:20%}.uk-grid-width-large-1-6>*{width:16.666%}.uk-grid-width-large-1-10>*{width:10%}}@media (min-width:1220px){.uk-grid-width-xlarge-1-1>*{width:100%}.uk-grid-width-xlarge-1-2>*{width:50%}.uk-grid-width-xlarge-1-3>*{width:33.333%}.uk-grid-width-xlarge-1-4>*{width:25%}.uk-grid-width-xlarge-1-5>*{width:20%}.uk-grid-width-xlarge-1-6>*{width:16.666%}.uk-grid-width-xlarge-1-10>*{width:10%}}[class*=uk-width]{box-sizing:border-box;width:100%}.uk-width-1-1{width:100%}.uk-width-1-2,.uk-width-2-4,.uk-width-3-6,.uk-width-5-10{width:50%}.uk-width-1-3,.uk-width-2-6{width:33.333%}.uk-width-2-3,.uk-width-4-6{width:66.666%}.uk-width-1-4{width:25%}.uk-width-3-4{width:75%}.uk-width-1-5,.uk-width-2-10{width:20%}.uk-width-2-5,.uk-width-4-10{width:40%}.uk-width-3-5,.uk-width-6-10{width:60%}.uk-width-4-5,.uk-width-8-10{width:80%}.uk-width-1-6{width:16.666%}.uk-width-5-6{width:83.333%}.uk-width-1-10{width:10%}.uk-width-3-10{width:30%}.uk-width-7-10{width:70%}.uk-width-9-10{width:90%}@media (min-width:480px){.uk-width-small-1-1{width:100%}.uk-width-small-1-2,.uk-width-small-2-4,.uk-width-small-3-6,.uk-width-small-5-10{width:50%}.uk-width-small-1-3,.uk-width-small-2-6{width:33.333%}.uk-width-small-2-3,.uk-width-small-4-6{width:66.666%}.uk-width-small-1-4{width:25%}.uk-width-small-3-4{width:75%}.uk-width-small-1-5,.uk-width-small-2-10{width:20%}.uk-width-small-2-5,.uk-width-small-4-10{width:40%}.uk-width-small-3-5,.uk-width-small-6-10{width:60%}.uk-width-small-4-5,.uk-width-small-8-10{width:80%}.uk-width-small-1-6{width:16.666%}.uk-width-small-5-6{width:83.333%}.uk-width-small-1-10{width:10%}.uk-width-small-3-10{width:30%}.uk-width-small-7-10{width:70%}.uk-width-small-9-10{width:90%}}@media (min-width:768px){.uk-width-medium-1-1{width:100%}.uk-width-medium-1-2,.uk-width-medium-2-4,.uk-width-medium-3-6,.uk-width-medium-5-10{width:50%}.uk-width-medium-1-3,.uk-width-medium-2-6{width:33.333%}.uk-width-medium-2-3,.uk-width-medium-4-6{width:66.666%}.uk-width-medium-1-4{width:25%}.uk-width-medium-3-4{width:75%}.uk-width-medium-1-5,.uk-width-medium-2-10{width:20%}.uk-width-medium-2-5,.uk-width-medium-4-10{width:40%}.uk-width-medium-3-5,.uk-width-medium-6-10{width:60%}.uk-width-medium-4-5,.uk-width-medium-8-10{width:80%}.uk-width-medium-1-6{width:16.666%}.uk-width-medium-5-6{width:83.333%}.uk-width-medium-1-10{width:10%}.uk-width-medium-3-10{width:30%}.uk-width-medium-7-10{width:70%}.uk-width-medium-9-10{width:90%}}@media (min-width:960px){.uk-width-large-1-1{width:100%}.uk-width-large-1-2,.uk-width-large-2-4,.uk-width-large-3-6,.uk-width-large-5-10{width:50%}.uk-width-large-1-3,.uk-width-large-2-6{width:33.333%}.uk-width-large-2-3,.uk-width-large-4-6{width:66.666%}.uk-width-large-1-4{width:25%}.uk-width-large-3-4{width:75%}.uk-width-large-1-5,.uk-width-large-2-10{width:20%}.uk-width-large-2-5,.uk-width-large-4-10{width:40%}.uk-width-large-3-5,.uk-width-large-6-10{width:60%}.uk-width-large-4-5,.uk-width-large-8-10{width:80%}.uk-width-large-1-6{width:16.666%}.uk-width-large-5-6{width:83.333%}.uk-width-large-1-10{width:10%}.uk-width-large-3-10{width:30%}.uk-width-large-7-10{width:70%}.uk-width-large-9-10{width:90%}}@media (min-width:1220px){.uk-width-xlarge-1-1{width:100%}.uk-width-xlarge-1-2,.uk-width-xlarge-2-4,.uk-width-xlarge-3-6,.uk-width-xlarge-5-10{width:50%}.uk-width-xlarge-1-3,.uk-width-xlarge-2-6{width:33.333%}.uk-width-xlarge-2-3,.uk-width-xlarge-4-6{width:66.666%}.uk-width-xlarge-1-4{width:25%}.uk-width-xlarge-3-4{width:75%}.uk-width-xlarge-1-5,.uk-width-xlarge-2-10{width:20%}.uk-width-xlarge-2-5,.uk-width-xlarge-4-10{width:40%}.uk-width-xlarge-3-5,.uk-width-xlarge-6-10{width:60%}.uk-width-xlarge-4-5,.uk-width-xlarge-8-10{width:80%}.uk-width-xlarge-1-6{width:16.666%}.uk-width-xlarge-5-6{width:83.333%}.uk-width-xlarge-1-10{width:10%}.uk-width-xlarge-3-10{width:30%}.uk-width-xlarge-7-10{width:70%}.uk-width-xlarge-9-10{width:90%}}@media (min-width:768px){[class*=uk-push-],[class*=uk-pull-]{position:relative}.uk-push-1-2,.uk-push-2-4,.uk-push-3-6,.uk-push-5-10{left:50%}.uk-push-1-3,.uk-push-2-6{left:33.333%}.uk-push-2-3,.uk-push-4-6{left:66.666%}.uk-push-1-4{left:25%}.uk-push-3-4{left:75%}.uk-push-1-5,.uk-push-2-10{left:20%}.uk-push-2-5,.uk-push-4-10{left:40%}.uk-push-3-5,.uk-push-6-10{left:60%}.uk-push-4-5,.uk-push-8-10{left:80%}.uk-push-1-6{left:16.666%}.uk-push-5-6{left:83.333%}.uk-push-1-10{left:10%}.uk-push-3-10{left:30%}.uk-push-7-10{left:70%}.uk-push-9-10{left:90%}.uk-pull-1-2,.uk-pull-2-4,.uk-pull-3-6,.uk-pull-5-10{left:-50%}.uk-pull-1-3,.uk-pull-2-6{left:-33.333%}.uk-pull-2-3,.uk-pull-4-6{left:-66.666%}.uk-pull-1-4{left:-25%}.uk-pull-3-4{left:-75%}.uk-pull-1-5,.uk-pull-2-10{left:-20%}.uk-pull-2-5,.uk-pull-4-10{left:-40%}.uk-pull-3-5,.uk-pull-6-10{left:-60%}.uk-pull-4-5,.uk-pull-8-10{left:-80%}.uk-pull-1-6{left:-16.666%}.uk-pull-5-6{left:-83.333%}.uk-pull-1-10{left:-10%}.uk-pull-3-10{left:-30%}.uk-pull-7-10{left:-70%}.uk-pull-9-10{left:-90%}}.uk-panel{display:block;position:relative}.uk-panel,.uk-panel:hover{text-decoration:none}.uk-panel:after,.uk-panel:before{content:"";display:table}.uk-panel:after{clear:both}.uk-panel>:not(.uk-panel-title):last-child{margin-bottom:0}.uk-panel-title{margin-top:0;margin-bottom:15px;font-size:18px;line-height:24px;font-weight:400;text-transform:none;color:#444}.uk-panel-badge{position:absolute;top:0;right:0;z-index:1}.uk-panel-teaser{margin-bottom:15px}.uk-panel-body{padding:15px}.uk-panel-box{padding:15px;background:#fafafa;color:#444;border:1px solid #ddd;border-radius:4px}.uk-panel-box-hover:hover{color:#444}.uk-panel-box .uk-panel-title{color:#444}.uk-panel-box .uk-panel-badge{top:10px;right:10px}.uk-panel-box>.uk-panel-teaser{margin-top:-16px;margin-left:-16px;margin-right:-16px}.uk-panel-box>.uk-nav-side{margin:0 -15px}.uk-panel-box-primary{background-color:#ebf7fd;color:#2d7091;border-color:rgba(45,112,145,.3)}.uk-panel-box-primary-hover:hover{color:#2d7091}.uk-panel-box-primary .uk-panel-title{color:#2d7091}.uk-panel-box-secondary{background-color:#fff;color:#444}.uk-panel-box-secondary-hover:hover{color:#444}.uk-panel-box-secondary .uk-panel-title{color:#444}.uk-panel-hover{padding:15px;color:#444;border:1px solid transparent;border-radius:4px}.uk-panel-hover:hover{background:#fafafa;color:#444;border-color:#ddd}.uk-panel-hover .uk-panel-badge{top:10px;right:10px}.uk-panel-hover>.uk-panel-teaser{margin-top:-16px;margin-left:-16px;margin-right:-16px}.uk-panel-header .uk-panel-title{padding-bottom:10px;border-bottom:1px solid #ddd;color:#444}.uk-panel-space{padding:30px}.uk-panel-space .uk-panel-badge{top:30px;right:30px}.uk-panel+.uk-panel-divider{margin-top:50px!important}.uk-panel+.uk-panel-divider:before{content:"";display:block;position:absolute;top:-25px;left:0;right:0;border-top:1px solid #ddd}@media (min-width:1220px){.uk-panel+.uk-panel-divider{margin-top:70px!important}.uk-panel+.uk-panel-divider:before{top:-35px}}.uk-panel-box .uk-panel-teaser{border-top-left-radius:4px;border-top-right-radius:4px;overflow:hidden;-webkit-transform:translateZ(0)}.uk-block{position:relative;box-sizing:border-box;padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block{padding-top:50px;padding-bottom:50px}}.uk-block:after,.uk-block:before{content:"";display:table}.uk-block:after{clear:both}.uk-block>:last-child{margin-bottom:0}.uk-block-large{padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block-large{padding-top:50px;padding-bottom:50px}}@media (min-width:960px){.uk-block-large{padding-top:100px;padding-bottom:100px}}.uk-block-default{background:#fff}.uk-block-muted{background:#f9f9f9}.uk-block-primary{background:#00a8e6}.uk-block-secondary{background:#222}.uk-block-default+.uk-block-default,.uk-block-muted+.uk-block-muted,.uk-block-primary+.uk-block-primary,.uk-block-secondary+.uk-block-secondary{padding-top:0}.uk-article:after,.uk-article:before{content:"";display:table}.uk-article:after{clear:both}.uk-article>:last-child{margin-bottom:0}.uk-article+.uk-article{margin-top:25px}.uk-article-title{font-size:36px;line-height:42px;font-weight:400;text-transform:none}.uk-article-title a{color:inherit;text-decoration:none}.uk-article-meta{font-size:12px;line-height:18px;color:#999}.uk-article-lead{color:#444;font-size:18px;line-height:24px;font-weight:400}.uk-article-divider{margin-bottom:25px;border-color:#ddd}*+.uk-article-divider{margin-top:25px}.uk-article+.uk-article{padding-top:25px;border-top:1px solid #ddd}.uk-comment-header{margin-bottom:15px;padding:10px;border:1px solid #ddd;border-radius:4px;background:#fafafa}.uk-comment-header:after,.uk-comment-header:before{content:"";display:table}.uk-comment-header:after{clear:both}.uk-comment-avatar{margin-right:15px;float:left}.uk-comment-title{margin:5px 0 0 0;font-size:16px;line-height:22px}.uk-comment-meta{margin:2px 0 0 0;font-size:11px;line-height:16px;color:#999}.uk-comment-body{padding-left:10px;padding-right:10px}.uk-comment-body>:last-child{margin-bottom:0}.uk-comment-list{padding:0;list-style:none}.uk-comment-list .uk-comment+ul{margin:25px 0 0 0;list-style:none}.uk-comment-list .uk-comment+ul>li:nth-child(n+2),.uk-comment-list>li:nth-child(n+2){margin-top:25px}@media (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:100px}}.uk-comment-primary .uk-comment-header{border-color:rgba(45,112,145,.3);background-color:#ebf7fd;color:#2d7091;text-shadow:0 1px 0 #fff}.uk-cover-background{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.uk-cover{overflow:hidden}.uk-cover-object{width:auto;height:auto;min-width:100%;min-height:100%;max-width:none;position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}[data-uk-cover]{position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.uk-nav,.uk-nav ul{margin:0;padding:0;list-style:none}.uk-nav li>a{display:block;text-decoration:none}.uk-nav>li>a{padding:5px 15px}.uk-nav ul{padding-left:15px}.uk-nav ul a{padding:2px 0}.uk-nav li>a>div{font-size:12px;line-height:18px}.uk-nav-header{padding:5px 15px;text-transform:uppercase;font-weight:700;font-size:12px}.uk-nav-header:not(:first-child){margin-top:15px}.uk-nav-divider{margin:9px 15px}ul.uk-nav-sub{padding:5px 0 5px 15px}.uk-nav-parent-icon>.uk-parent>a:after{content:"\f104";width:20px;margin-right:-10px;float:right;font-family:FontAwesome;text-align:center}.uk-nav-parent-icon>.uk-parent.uk-open>a:after{content:"\f107"}.uk-nav-side>li>a{color:#444}.uk-nav-side>li>a:focus,.uk-nav-side>li>a:hover{background:rgba(0,0,0,.03);color:#444;outline:0;box-shadow:inset 0 0 1px rgba(0,0,0,.1);text-shadow:0 -1px 0 #fff}.uk-nav-side>li.uk-active>a{background:#009dd8;color:#fff;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-side .uk-nav-header{color:#444}.uk-nav-side .uk-nav-divider{border-top:1px solid #ddd;box-shadow:0 1px 0 #fff}.uk-nav-side ul a{color:#07D}.uk-nav-side ul a:hover{color:#059}.uk-nav-dropdown>li>a{color:#444}.uk-nav-dropdown>li>a:focus,.uk-nav-dropdown>li>a:hover{background:#009dd8;color:#fff;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-dropdown .uk-nav-header{color:#999}.uk-nav-dropdown .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-dropdown ul a{color:#07D}.uk-nav-dropdown ul a:hover{color:#059}.uk-nav-navbar>li>a{color:#444}.uk-nav-navbar>li>a:focus,.uk-nav-navbar>li>a:hover{background:#009dd8;color:#fff;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-navbar .uk-nav-header{color:#999}.uk-nav-navbar .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-navbar ul a{color:#07D}.uk-nav-navbar ul a:hover{color:#059}.uk-nav-offcanvas>li>a{color:#ccc;padding:10px 15px;border-top:1px solid rgba(0,0,0,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-nav-offcanvas>.uk-open>a,html:not(.uk-touch) .uk-nav-offcanvas>li>a:focus,html:not(.uk-touch) .uk-nav-offcanvas>li>a:hover{background:#404040;color:#fff;outline:0}html .uk-nav.uk-nav-offcanvas>li.uk-active>a{background:#1a1a1a;color:#fff;box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}.uk-nav-offcanvas .uk-nav-header{color:#777;margin-top:0;border-top:1px solid rgba(0,0,0,.3);background:#404040;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-nav-offcanvas .uk-nav-divider{border-top:1px solid rgba(255,255,255,.01);margin:0;height:4px;background:rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}.uk-nav-offcanvas ul a{color:#ccc}html:not(.uk-touch) .uk-nav-offcanvas ul a:hover{color:#fff}.uk-nav-offcanvas{border-bottom:1px solid rgba(0,0,0,.3);box-shadow:0 1px 0 rgba(255,255,255,.05)}.uk-nav-offcanvas .uk-nav-sub{border-top:1px solid rgba(0,0,0,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.uk-navbar{background:#f7f7f7;color:#444;border:1px solid rgba(0,0,0,.1);border-bottom-color:rgba(0,0,0,.3);border-radius:4px;background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee)}.uk-navbar:after,.uk-navbar:before{content:"";display:table}.uk-navbar:after{clear:both}.uk-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-navbar-nav>li{float:left;position:relative}.uk-navbar-nav>li>a{display:block;box-sizing:border-box;text-decoration:none;height:41px;padding:0 15px;line-height:40px;color:#444;font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;margin-top:-1px;margin-left:-1px;border:1px solid transparent;border-bottom-width:0;text-shadow:0 1px 0 #fff}.uk-navbar-nav>li>a[href='#']{cursor:text}.uk-navbar-nav>li.uk-open>a,.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus{background-color:transparent;color:#444;outline:0;position:relative;z-index:1;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.1);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-navbar-nav>li>a:active{background-color:#f5f5f5;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-navbar-nav>li.uk-active>a{background-color:#fafafa;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-navbar-nav .uk-navbar-nav-subtitle{line-height:28px}.uk-navbar-nav-subtitle>div{margin-top:-6px;font-size:10px;line-height:12px}.uk-navbar-brand,.uk-navbar-content,.uk-navbar-toggle{box-sizing:border-box;display:block;height:41px;padding:0 15px;float:left;margin-top:-1px;text-shadow:0 1px 0 #fff}.uk-navbar-brand:before,.uk-navbar-content:before,.uk-navbar-toggle:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-navbar-content+.uk-navbar-content:not(.uk-navbar-center){padding-left:0}.uk-navbar-content>a:not([class]){color:#07D}.uk-navbar-content>a:not([class]):hover{color:#059}.uk-navbar-brand{font-size:18px;color:#444;text-decoration:none}.uk-navbar-brand:focus,.uk-navbar-brand:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle{font-size:18px;color:#444;text-decoration:none}.uk-navbar-toggle:focus,.uk-navbar-toggle:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle:after{content:"\f0c9";font-family:FontAwesome;vertical-align:middle}.uk-navbar-toggle-alt:after{content:"\f002"}.uk-navbar-center{float:none;text-align:center;max-width:50%;margin-left:auto;margin-right:auto}.uk-navbar-flip{float:right}.uk-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.uk-navbar-flip .uk-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-navbar-flip .uk-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0;border-bottom-left-radius:0}.uk-navbar-flip .uk-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.uk-navbar-attached{border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;border-radius:0}.uk-navbar-attached .uk-navbar-nav>li>a{border-radius:0!important}.uk-subnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-subnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;position:relative}.uk-subnav:after,.uk-subnav:before{content:"";display:block;overflow:hidden}.uk-subnav:after{clear:both}.uk-subnav>*{float:left}.uk-subnav>*>*{display:inline-block;color:#444}.uk-subnav>*>:focus,.uk-subnav>*>:hover{color:#07D;text-decoration:none}.uk-subnav>.uk-active>*{color:#07D}.uk-subnav-line>:before{content:"";display:inline-block;height:10px;vertical-align:middle}.uk-subnav-line>:nth-child(n+2):before{margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>*>*{padding:3px 9px;border-radius:4px}.uk-subnav-pill>*>:focus,.uk-subnav-pill>*>:hover{background:#fafafa;color:#444;text-decoration:none;outline:0;box-shadow:0 0 0 1px rgba(0,0,0,.1)}.uk-subnav-pill>.uk-active>*{background:#009dd8;color:#fff;box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-subnav>.uk-disabled>*{background:0 0;color:#999;text-decoration:none;cursor:text;box-shadow:none}.uk-breadcrumb{padding:0;list-style:none;font-size:0}.uk-breadcrumb>li{font-size:1rem;vertical-align:top}.uk-breadcrumb>li,.uk-breadcrumb>li>a,.uk-breadcrumb>li>span{display:inline-block}.uk-breadcrumb>li:nth-child(n+2):before{content:"/";display:inline-block;margin:0 8px}.uk-breadcrumb>li:not(.uk-active)>span{color:#999}.uk-pagination{padding:0;list-style:none;text-align:center;font-size:0}.uk-pagination:after,.uk-pagination:before{content:"";display:table}.uk-pagination:after{clear:both}.uk-pagination>li{display:inline-block;font-size:1rem;vertical-align:top}.uk-pagination>li:nth-child(n+2){margin-left:5px}.uk-pagination>li>a,.uk-pagination>li>span{display:inline-block;min-width:16px;padding:3px 5px;line-height:20px;text-decoration:none;box-sizing:content-box;text-align:center;border-radius:4px}.uk-pagination>li>a{background:#f7f7f7;color:#444;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee);text-shadow:0 1px 0 #fff}.uk-pagination>li>a:focus,.uk-pagination>li>a:hover{background-color:#fafafa;color:#444;outline:0;background-image:none}.uk-pagination>li>a:active{background-color:#f5f5f5;color:#444;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.3);background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-pagination>.uk-active>span{background:#009dd8;color:#fff;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);background-origin:border-box;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-pagination>.uk-disabled>span{background-color:#fafafa;color:#999;border:1px solid rgba(0,0,0,.2);text-shadow:0 1px 0 #fff}.uk-pagination-previous{float:left}.uk-pagination-next{float:right}.uk-pagination-left{text-align:left}.uk-pagination-right{text-align:right}.uk-tab{margin:0;padding:0;list-style:none;border-bottom:1px solid #ddd}.uk-tab:after,.uk-tab:before{content:"";display:table}.uk-tab:after{clear:both}.uk-tab>li{margin-bottom:-1px;float:left;position:relative}.uk-tab>li>a{display:block;padding:8px 12px 8px 12px;border:1px solid transparent;border-bottom-width:0;color:#07D;text-decoration:none;border-radius:4px 4px 0 0;text-shadow:0 1px 0 #fff}.uk-tab>li:nth-child(n+2)>a{margin-left:5px}.uk-tab>li.uk-open>a,.uk-tab>li>a:focus,.uk-tab>li>a:hover{border-color:#ddd;background:#fafafa;color:#059;outline:0}.uk-tab>li.uk-open:not(.uk-active)>a,.uk-tab>li:not(.uk-active)>a:focus,.uk-tab>li:not(.uk-active)>a:hover{margin-bottom:1px;padding-bottom:7px}.uk-tab>li.uk-active>a{border-color:#ddd;border-bottom-color:transparent;background:#fff;color:#444}.uk-tab>li.uk-disabled>a{color:#999;cursor:text}.uk-tab>li.uk-disabled.uk-active>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{background:0 0;border-color:transparent}.uk-tab-flip>li{float:right}.uk-tab-flip>li:nth-child(n+2)>a{margin-left:0;margin-right:5px}.uk-tab>li.uk-tab-responsive>a{margin-left:0;margin-right:0}.uk-tab-responsive>a:before{content:"\f0c9\00a0";font-family:FontAwesome}.uk-tab-center{border-bottom:1px solid #ddd}.uk-tab-center-bottom{border-bottom:none;border-top:1px solid #ddd}.uk-tab-center:after,.uk-tab-center:before{content:"";display:table}.uk-tab-center:after{clear:both}.uk-tab-center .uk-tab{position:relative;right:50%;border:none;float:right}.uk-tab-center .uk-tab>li{position:relative;right:-50%}.uk-tab-center .uk-tab>li>a{text-align:center}.uk-tab-bottom{border-top:1px solid #ddd;border-bottom:none}.uk-tab-bottom>li{margin-top:-1px;margin-bottom:0}.uk-tab-bottom>li>a{padding-top:8px;padding-bottom:8px;border-bottom-width:1px;border-top-width:0}.uk-tab-bottom>li.uk-open:not(.uk-active)>a,.uk-tab-bottom>li:not(.uk-active)>a:focus,.uk-tab-bottom>li:not(.uk-active)>a:hover{margin-bottom:0;margin-top:1px;padding-bottom:8px;padding-top:7px}.uk-tab-bottom>li.uk-active>a{border-top-color:transparent;border-bottom-color:#ddd}.uk-tab-grid{margin-left:-5px;border-bottom:none;position:relative;z-index:0}.uk-tab-grid:before{display:block;position:absolute;left:5px;right:0;bottom:-1px;border-top:1px solid #ddd;z-index:-1}.uk-tab-grid>li:first-child>a{margin-left:5px}.uk-tab-grid>li>a{text-align:center}.uk-tab-grid.uk-tab-bottom{border-top:none}.uk-tab-grid.uk-tab-bottom:before{top:-1px;bottom:auto}@media (min-width:768px){.uk-tab-left,.uk-tab-right{border-bottom:none}.uk-tab-left>li,.uk-tab-right>li{margin-bottom:0;float:none}.uk-tab-left>li>a,.uk-tab-right>li>a{padding-top:8px;padding-bottom:8px}.uk-tab-left>li:nth-child(n+2)>a,.uk-tab-right>li:nth-child(n+2)>a{margin-left:0;margin-top:5px}.uk-tab-left>li.uk-active>a,.uk-tab-right>li.uk-active>a{border-color:#ddd}.uk-tab-left{border-right:1px solid #ddd}.uk-tab-left>li{margin-right:-1px}.uk-tab-left>li>a{border-bottom-width:1px;border-right-width:0}.uk-tab-left>li:not(.uk-active)>a:focus,.uk-tab-left>li:not(.uk-active)>a:hover{margin-bottom:0;margin-right:1px;padding-bottom:8px;padding-right:11px}.uk-tab-left>li.uk-active>a{border-right-color:transparent}.uk-tab-right{border-left:1px solid #ddd}.uk-tab-right>li{margin-left:-1px}.uk-tab-right>li>a{border-bottom-width:1px;border-left-width:0}.uk-tab-right>li:not(.uk-active)>a:focus,.uk-tab-right>li:not(.uk-active)>a:hover{margin-bottom:0;margin-left:1px;padding-bottom:8px;padding-left:11px}.uk-tab-right>li.uk-active>a{border-left-color:transparent}}.uk-tab-bottom>li>a{border-radius:0 0 4px 4px}@media (min-width:768px){.uk-tab-left>li>a{border-radius:4px 0 0 4px}.uk-tab-right>li>a{border-radius:0 4px 4px 0}}.uk-thumbnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-thumbnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px}.uk-thumbnav:after,.uk-thumbnav:before{content:"";display:block;overflow:hidden}.uk-thumbnav:after{clear:both}.uk-thumbnav>*{float:left}.uk-thumbnav>*>*{display:block;background:#fff}.uk-thumbnav>*>*>img{opacity:.7;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-thumbnav>*>:focus>img,.uk-thumbnav>*>:hover>img{opacity:1}.uk-thumbnav>.uk-active>*>img{opacity:1}.uk-list{padding:0;list-style:none}.uk-list>li:after,.uk-list>li:before{content:"";display:table}.uk-list>li:after{clear:both}.uk-list>li>:last-child{margin-bottom:0}.uk-list ul{margin:0;padding-left:20px;list-style:none}.uk-list-line>li:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-list-striped>li{padding:5px 5px;border-bottom:1px solid #ddd}.uk-list-striped>li:nth-of-type(odd){background:#fafafa}.uk-list-space>li:nth-child(n+2){margin-top:10px}.uk-list-striped>li:first-child{border-top:1px solid #ddd}@media (min-width:768px){.uk-description-list-horizontal{overflow:hidden}.uk-description-list-horizontal>dt{width:160px;float:left;clear:both;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-description-list-horizontal>dd{margin-left:180px}}.uk-description-list-line>dt{font-weight:400}.uk-description-list-line>dt:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-description-list-line>dd{color:#999}.uk-table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:15px}*+.uk-table{margin-top:15px}.uk-table td,.uk-table th{padding:8px 8px;border-bottom:1px solid #ddd}.uk-table th{text-align:left}.uk-table td{vertical-align:top}.uk-table thead th{vertical-align:bottom}.uk-table caption,.uk-table tfoot{font-size:12px;font-style:italic}.uk-table caption{text-align:left;color:#999}.uk-table tbody tr.uk-active{background:#f0f0f0}.uk-table-middle,.uk-table-middle td{vertical-align:middle!important}.uk-table-striped tbody tr:nth-of-type(odd){background:#fafafa}.uk-table-condensed td{padding:4px 8px}.uk-table-hover tbody tr:hover{background:#f0f0f0}.uk-form input,.uk-form select,.uk-form textarea{box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:inherit}.uk-form select{text-transform:none}.uk-form optgroup{font:inherit;font-weight:700}.uk-form input::-moz-focus-inner{border:0;padding:0}.uk-form input[type=checkbox],.uk-form input[type=radio]{padding:0}.uk-form input[type=checkbox]:not(:disabled),.uk-form input[type=radio]:not(:disabled){cursor:pointer}.uk-form input:not([type]),.uk-form input[type=text],.uk-form input[type=password],.uk-form input[type=email],.uk-form input[type=url],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=number],.uk-form input[type=datetime],.uk-form textarea{-webkit-appearance:none}.uk-form input[type=search]::-webkit-search-cancel-button,.uk-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.uk-form input[type=number]::-webkit-inner-spin-button,.uk-form input[type=number]::-webkit-outer-spin-button{height:auto}.uk-form fieldset{border:none;margin:0;padding:0}.uk-form textarea{overflow:auto;vertical-align:top}.uk-form ::-moz-placeholder{opacity:1}.uk-form :invalid{box-shadow:none}.uk-form input:not([type=radio]):not([type=checkbox]),.uk-form select{vertical-align:middle}.uk-form>:last-child{margin-bottom:0}.uk-form input:not([type]),.uk-form input[type=text],.uk-form input[type=password],.uk-form input[type=email],.uk-form input[type=url],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=number],.uk-form input[type=datetime],.uk-form input[type=datetime-local],.uk-form input[type=date],.uk-form input[type=month],.uk-form input[type=time],.uk-form input[type=week],.uk-form input[type=color],.uk-form select,.uk-form textarea{height:30px;max-width:100%;padding:4px 6px;border:1px solid #ddd;background:#fff;color:#444;-webkit-transition:all .2s linear;-webkit-transition-property:border,background,color,box-shadow,padding;transition:all .2s linear;transition-property:border,background,color,box-shadow,padding;border-radius:4px}.uk-form input:not([type]):focus,.uk-form input[type=text]:focus,.uk-form input[type=password]:focus,.uk-form input[type=email]:focus,.uk-form input[type=url]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=number]:focus,.uk-form input[type=datetime]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=date]:focus,.uk-form input[type=month]:focus,.uk-form input[type=time]:focus,.uk-form input[type=week]:focus,.uk-form input[type=color]:focus,.uk-form select:focus,.uk-form textarea:focus{border-color:#99baca;outline:0;background:#f5fbfe;color:#444}.uk-form input:not([type]):disabled,.uk-form input[type=text]:disabled,.uk-form input[type=password]:disabled,.uk-form input[type=email]:disabled,.uk-form input[type=url]:disabled,.uk-form input[type=search]:disabled,.uk-form input[type=tel]:disabled,.uk-form input[type=number]:disabled,.uk-form input[type=datetime]:disabled,.uk-form input[type=datetime-local]:disabled,.uk-form input[type=date]:disabled,.uk-form input[type=month]:disabled,.uk-form input[type=time]:disabled,.uk-form input[type=week]:disabled,.uk-form input[type=color]:disabled,.uk-form select:disabled,.uk-form textarea:disabled{border-color:#ddd;background-color:#fafafa;color:#999}.uk-form :-ms-input-placeholder{color:#999!important}.uk-form ::-moz-placeholder{color:#999}.uk-form ::-webkit-input-placeholder{color:#999}.uk-form :disabled:-ms-input-placeholder{color:#999!important}.uk-form :disabled::-moz-placeholder{color:#999}.uk-form :disabled::-webkit-input-placeholder{color:#999}.uk-form legend{width:100%;border:0;padding:0;padding-bottom:15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd;width:100%}input:not([type]).uk-form-small,input[type].uk-form-small,select.uk-form-small,textarea.uk-form-small{height:25px;padding:3px 3px;font-size:12px}input:not([type]).uk-form-large,input[type].uk-form-large,select.uk-form-large,textarea.uk-form-large{height:40px;padding:8px 6px;font-size:16px}.uk-form select[multiple],.uk-form select[size],.uk-form textarea{height:auto}.uk-form-danger{border-color:#dc8d99!important;background:#fff7f8!important;color:#d85030!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#659f13!important}.uk-form-blank{border-color:transparent!important;border-style:dashed!important;background:0 0!important}.uk-form-blank:focus{border-color:#ddd!important}input.uk-form-width-mini{width:40px}select.uk-form-width-mini{width:65px}.uk-form-width-small{width:130px}.uk-form-width-medium{width:200px}.uk-form-width-large{width:500px}.uk-form-row:after,.uk-form-row:before{content:"";display:table}.uk-form-row:after{clear:both}.uk-form-row+.uk-form-row{margin-top:15px}.uk-form-help-inline{display:inline-block;margin:0 0 0 10px}.uk-form-help-block{margin:5px 0 0 0}.uk-form-controls>:first-child{margin-top:0}.uk-form-controls>:last-child{margin-bottom:0}.uk-form-controls-condensed{margin:5px 0}.uk-form-stacked .uk-form-label{display:block;margin-bottom:5px;font-weight:700}@media (max-width:959px){.uk-form-horizontal .uk-form-label{display:block;margin-bottom:5px;font-weight:700}}@media (min-width:960px){.uk-form-horizontal .uk-form-label{width:200px;margin-top:5px;float:left}.uk-form-horizontal .uk-form-controls{margin-left:215px}.uk-form-horizontal .uk-form-controls-text{padding-top:5px}}.uk-form-icon{display:inline-block;position:relative;max-width:100%}.uk-form-icon>[class*=uk-icon-]{position:absolute;top:50%;width:30px;margin-top:-7px;font-size:14px;color:#999;text-align:center;pointer-events:none}.uk-form-icon:not(.uk-form-icon-flip)>input{padding-left:30px!important}.uk-form-icon-flip>[class*=uk-icon-]{right:0}.uk-form-icon-flip>input{padding-right:30px!important}.uk-button::-moz-focus-inner{border:0;padding:0}.uk-button{-webkit-appearance:none;margin:0;border:none;overflow:visible;font:inherit;color:#444;text-transform:none;display:inline-block;box-sizing:border-box;padding:0 12px;background:#f7f7f7;vertical-align:middle;line-height:28px;min-height:30px;font-size:1rem;text-decoration:none;text-align:center;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee);border-radius:4px;text-shadow:0 1px 0 #fff}.uk-button:not(:disabled){cursor:pointer}.uk-button:focus,.uk-button:hover{background-color:#fafafa;color:#444;outline:0;text-decoration:none;background-image:none}.uk-button.uk-active,.uk-button:active{background-color:#f5f5f5;color:#444;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.3);background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-button-primary{background-color:#009dd8;color:#fff;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-button-primary:focus,.uk-button-primary:hover{background-color:#00aff2;color:#fff;background-image:none}.uk-button-primary.uk-active,.uk-button-primary:active{background-color:#008abf;color:#fff;background-image:none;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.4);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-button-success{background-color:#82bb42;color:#fff;background-image:-webkit-linear-gradient(top,#9fd256,#6fac34);background-image:linear-gradient(to bottom,#9fd256,#6fac34);border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-button-success:focus,.uk-button-success:hover{background-color:#8fce48;color:#fff;background-image:none}.uk-button-success.uk-active,.uk-button-success:active{background-color:#76b430;color:#fff;background-image:none;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.4);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-button-danger{background-color:#d32c46;color:#fff;background-image:-webkit-linear-gradient(top,#ee465a,#c11a39);background-image:linear-gradient(to bottom,#ee465a,#c11a39);border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-button-danger:focus,.uk-button-danger:hover{background-color:#e33551;color:#fff;background-image:none}.uk-button-danger.uk-active,.uk-button-danger:active{background-color:#c91c37;color:#fff;background-image:none;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.4);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-button:disabled{background-color:#fafafa;color:#999;border-color:rgba(0,0,0,.2);background-image:none;box-shadow:none;text-shadow:0 1px 0 #fff}.uk-button-link,.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:disabled,.uk-button-link:focus,.uk-button-link:hover{border-color:transparent;background:0 0;box-shadow:none;text-shadow:none}.uk-button-link{color:#07D}.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:focus,.uk-button-link:hover{color:#059;text-decoration:underline}.uk-button-link:disabled{color:#999}.uk-button-link:focus{outline:1px dotted}.uk-button-mini{min-height:20px;padding:0 6px;line-height:18px;font-size:11px}.uk-button-small{min-height:25px;padding:0 10px;line-height:23px;font-size:12px}.uk-button-large{min-height:40px;padding:0 15px;line-height:38px;font-size:16px;border-radius:5px}.uk-button-group{display:inline-block;vertical-align:middle;position:relative;font-size:0;white-space:nowrap}.uk-button-group>*{display:inline-block}.uk-button-group .uk-button{vertical-align:top}.uk-button-dropdown{display:inline-block;vertical-align:middle;position:relative}.uk-button-group>.uk-button:not(:first-child):not(:last-child),.uk-button-group>div:not(:first-child):not(:last-child) .uk-button{border-radius:0}.uk-button-group>.uk-button:first-child,.uk-button-group>div:first-child .uk-button{border-top-right-radius:0;border-bottom-right-radius:0}.uk-button-group>.uk-button:last-child,.uk-button-group>div:last-child .uk-button{border-top-left-radius:0;border-bottom-left-radius:0}.uk-button-group>.uk-button:nth-child(n+2),.uk-button-group>div:nth-child(n+2) .uk-button{margin-left:-1px}.uk-button-group .uk-button.uk-active,.uk-button-group .uk-button:active,.uk-button-group .uk-button:hover{position:relative}@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.woff2) format('woff2'),url(../fonts/fontawesome-webfont.woff) format("woff"),url(../fonts/fontawesome-webfont.ttf) format("truetype");font-weight:400;font-style:normal}[class*=uk-icon-]{font-family:FontAwesome;display:inline-block;font-weight:400;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=uk-icon-],[class*=uk-icon-]:focus,[class*=uk-icon-]:hover{text-decoration:none}.uk-icon-small{font-size:150%;vertical-align:-10%}.uk-icon-medium{font-size:200%;vertical-align:-16%}.uk-icon-large{font-size:250%;vertical-align:-22%}.uk-icon-justify{width:1em;text-align:center}.uk-icon-spin{display:inline-block;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-hover{color:#999}.uk-icon-hover:hover{color:#444}.uk-icon-button{box-sizing:border-box;display:inline-block;width:35px;height:35px;border-radius:100%;background:#f7f7f7;line-height:35px;color:#444;font-size:18px;text-align:center;border:1px solid #ccc;border-bottom-color:#bbb;background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee);text-shadow:0 1px 0 #fff}.uk-icon-button:focus,.uk-icon-button:hover{background-color:#fafafa;color:#444;outline:0;background-image:none}.uk-icon-button:active{background-color:#f5f5f5;color:#444;border-color:#ccc;border-top-color:#bbb;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-icon-glass:before{content:"\f000"}.uk-icon-music:before{content:"\f001"}.uk-icon-search:before{content:"\f002"}.uk-icon-envelope-o:before{content:"\f003"}.uk-icon-heart:before{content:"\f004"}.uk-icon-star:before{content:"\f005"}.uk-icon-star-o:before{content:"\f006"}.uk-icon-user:before{content:"\f007"}.uk-icon-film:before{content:"\f008"}.uk-icon-th-large:before{content:"\f009"}.uk-icon-th:before{content:"\f00a"}.uk-icon-th-list:before{content:"\f00b"}.uk-icon-check:before{content:"\f00c"}.uk-icon-close:before,.uk-icon-remove:before,.uk-icon-times:before{content:"\f00d"}.uk-icon-search-plus:before{content:"\f00e"}.uk-icon-search-minus:before{content:"\f010"}.uk-icon-power-off:before{content:"\f011"}.uk-icon-signal:before{content:"\f012"}.uk-icon-cog:before,.uk-icon-gear:before{content:"\f013"}.uk-icon-trash-o:before{content:"\f014"}.uk-icon-home:before{content:"\f015"}.uk-icon-file-o:before{content:"\f016"}.uk-icon-clock-o:before{content:"\f017"}.uk-icon-road:before{content:"\f018"}.uk-icon-download:before{content:"\f019"}.uk-icon-arrow-circle-o-down:before{content:"\f01a"}.uk-icon-arrow-circle-o-up:before{content:"\f01b"}.uk-icon-inbox:before{content:"\f01c"}.uk-icon-play-circle-o:before{content:"\f01d"}.uk-icon-repeat:before,.uk-icon-rotate-right:before{content:"\f01e"}.uk-icon-refresh:before{content:"\f021"}.uk-icon-list-alt:before{content:"\f022"}.uk-icon-lock:before{content:"\f023"}.uk-icon-flag:before{content:"\f024"}.uk-icon-headphones:before{content:"\f025"}.uk-icon-volume-off:before{content:"\f026"}.uk-icon-volume-down:before{content:"\f027"}.uk-icon-volume-up:before{content:"\f028"}.uk-icon-qrcode:before{content:"\f029"}.uk-icon-barcode:before{content:"\f02a"}.uk-icon-tag:before{content:"\f02b"}.uk-icon-tags:before{content:"\f02c"}.uk-icon-book:before{content:"\f02d"}.uk-icon-bookmark:before{content:"\f02e"}.uk-icon-print:before{content:"\f02f"}.uk-icon-camera:before{content:"\f030"}.uk-icon-font:before{content:"\f031"}.uk-icon-bold:before{content:"\f032"}.uk-icon-italic:before{content:"\f033"}.uk-icon-text-height:before{content:"\f034"}.uk-icon-text-width:before{content:"\f035"}.uk-icon-align-left:before{content:"\f036"}.uk-icon-align-center:before{content:"\f037"}.uk-icon-align-right:before{content:"\f038"}.uk-icon-align-justify:before{content:"\f039"}.uk-icon-list:before{content:"\f03a"}.uk-icon-dedent:before,.uk-icon-outdent:before{content:"\f03b"}.uk-icon-indent:before{content:"\f03c"}.uk-icon-video-camera:before{content:"\f03d"}.uk-icon-image:before,.uk-icon-photo:before,.uk-icon-picture-o:before{content:"\f03e"}.uk-icon-pencil:before{content:"\f040"}.uk-icon-map-marker:before{content:"\f041"}.uk-icon-adjust:before{content:"\f042"}.uk-icon-tint:before{content:"\f043"}.uk-icon-edit:before,.uk-icon-pencil-square-o:before{content:"\f044"}.uk-icon-share-square-o:before{content:"\f045"}.uk-icon-check-square-o:before{content:"\f046"}.uk-icon-arrows:before{content:"\f047"}.uk-icon-step-backward:before{content:"\f048"}.uk-icon-fast-backward:before{content:"\f049"}.uk-icon-backward:before{content:"\f04a"}.uk-icon-play:before{content:"\f04b"}.uk-icon-pause:before{content:"\f04c"}.uk-icon-stop:before{content:"\f04d"}.uk-icon-forward:before{content:"\f04e"}.uk-icon-fast-forward:before{content:"\f050"}.uk-icon-step-forward:before{content:"\f051"}.uk-icon-eject:before{content:"\f052"}.uk-icon-chevron-left:before{content:"\f053"}.uk-icon-chevron-right:before{content:"\f054"}.uk-icon-plus-circle:before{content:"\f055"}.uk-icon-minus-circle:before{content:"\f056"}.uk-icon-times-circle:before{content:"\f057"}.uk-icon-check-circle:before{content:"\f058"}.uk-icon-question-circle:before{content:"\f059"}.uk-icon-info-circle:before{content:"\f05a"}.uk-icon-crosshairs:before{content:"\f05b"}.uk-icon-times-circle-o:before{content:"\f05c"}.uk-icon-check-circle-o:before{content:"\f05d"}.uk-icon-ban:before{content:"\f05e"}.uk-icon-arrow-left:before{content:"\f060"}.uk-icon-arrow-right:before{content:"\f061"}.uk-icon-arrow-up:before{content:"\f062"}.uk-icon-arrow-down:before{content:"\f063"}.uk-icon-mail-forward:before,.uk-icon-share:before{content:"\f064"}.uk-icon-expand:before{content:"\f065"}.uk-icon-compress:before{content:"\f066"}.uk-icon-plus:before{content:"\f067"}.uk-icon-minus:before{content:"\f068"}.uk-icon-asterisk:before{content:"\f069"}.uk-icon-exclamation-circle:before{content:"\f06a"}.uk-icon-gift:before{content:"\f06b"}.uk-icon-leaf:before{content:"\f06c"}.uk-icon-fire:before{content:"\f06d"}.uk-icon-eye:before{content:"\f06e"}.uk-icon-eye-slash:before{content:"\f070"}.uk-icon-exclamation-triangle:before,.uk-icon-warning:before{content:"\f071"}.uk-icon-plane:before{content:"\f072"}.uk-icon-calendar:before{content:"\f073"}.uk-icon-random:before{content:"\f074"}.uk-icon-comment:before{content:"\f075"}.uk-icon-magnet:before{content:"\f076"}.uk-icon-chevron-up:before{content:"\f077"}.uk-icon-chevron-down:before{content:"\f078"}.uk-icon-retweet:before{content:"\f079"}.uk-icon-shopping-cart:before{content:"\f07a"}.uk-icon-folder:before{content:"\f07b"}.uk-icon-folder-open:before{content:"\f07c"}.uk-icon-arrows-v:before{content:"\f07d"}.uk-icon-arrows-h:before{content:"\f07e"}.uk-icon-bar-chart-o:before,.uk-icon-bar-chart:before{content:"\f080"}.uk-icon-twitter-square:before{content:"\f081"}.uk-icon-facebook-square:before{content:"\f082"}.uk-icon-camera-retro:before{content:"\f083"}.uk-icon-key:before{content:"\f084"}.uk-icon-cogs:before,.uk-icon-gears:before{content:"\f085"}.uk-icon-comments:before{content:"\f086"}.uk-icon-thumbs-o-up:before{content:"\f087"}.uk-icon-thumbs-o-down:before{content:"\f088"}.uk-icon-star-half:before{content:"\f089"}.uk-icon-heart-o:before{content:"\f08a"}.uk-icon-sign-out:before{content:"\f08b"}.uk-icon-linkedin-square:before{content:"\f08c"}.uk-icon-thumb-tack:before{content:"\f08d"}.uk-icon-external-link:before{content:"\f08e"}.uk-icon-sign-in:before{content:"\f090"}.uk-icon-trophy:before{content:"\f091"}.uk-icon-github-square:before{content:"\f092"}.uk-icon-upload:before{content:"\f093"}.uk-icon-lemon-o:before{content:"\f094"}.uk-icon-phone:before{content:"\f095"}.uk-icon-square-o:before{content:"\f096"}.uk-icon-bookmark-o:before{content:"\f097"}.uk-icon-phone-square:before{content:"\f098"}.uk-icon-twitter:before{content:"\f099"}.uk-icon-facebook-f:before,.uk-icon-facebook:before{content:"\f09a"}.uk-icon-github:before{content:"\f09b"}.uk-icon-unlock:before{content:"\f09c"}.uk-icon-credit-card:before{content:"\f09d"}.uk-icon-rss:before{content:"\f09e"}.uk-icon-hdd-o:before{content:"\f0a0"}.uk-icon-bullhorn:before{content:"\f0a1"}.uk-icon-bell:before{content:"\f0f3"}.uk-icon-certificate:before{content:"\f0a3"}.uk-icon-hand-o-right:before{content:"\f0a4"}.uk-icon-hand-o-left:before{content:"\f0a5"}.uk-icon-hand-o-up:before{content:"\f0a6"}.uk-icon-hand-o-down:before{content:"\f0a7"}.uk-icon-arrow-circle-left:before{content:"\f0a8"}.uk-icon-arrow-circle-right:before{content:"\f0a9"}.uk-icon-arrow-circle-up:before{content:"\f0aa"}.uk-icon-arrow-circle-down:before{content:"\f0ab"}.uk-icon-globe:before{content:"\f0ac"}.uk-icon-wrench:before{content:"\f0ad"}.uk-icon-tasks:before{content:"\f0ae"}.uk-icon-filter:before{content:"\f0b0"}.uk-icon-briefcase:before{content:"\f0b1"}.uk-icon-arrows-alt:before{content:"\f0b2"}.uk-icon-group:before,.uk-icon-users:before{content:"\f0c0"}.uk-icon-chain:before,.uk-icon-link:before{content:"\f0c1"}.uk-icon-cloud:before{content:"\f0c2"}.uk-icon-flask:before{content:"\f0c3"}.uk-icon-cut:before,.uk-icon-scissors:before{content:"\f0c4"}.uk-icon-copy:before,.uk-icon-files-o:before{content:"\f0c5"}.uk-icon-paperclip:before{content:"\f0c6"}.uk-icon-floppy-o:before,.uk-icon-save:before{content:"\f0c7"}.uk-icon-square:before{content:"\f0c8"}.uk-icon-bars:before,.uk-icon-navicon:before,.uk-icon-reorder:before{content:"\f0c9"}.uk-icon-list-ul:before{content:"\f0ca"}.uk-icon-list-ol:before{content:"\f0cb"}.uk-icon-strikethrough:before{content:"\f0cc"}.uk-icon-underline:before{content:"\f0cd"}.uk-icon-table:before{content:"\f0ce"}.uk-icon-magic:before{content:"\f0d0"}.uk-icon-truck:before{content:"\f0d1"}.uk-icon-pinterest:before{content:"\f0d2"}.uk-icon-pinterest-square:before{content:"\f0d3"}.uk-icon-google-plus-square:before{content:"\f0d4"}.uk-icon-google-plus:before{content:"\f0d5"}.uk-icon-money:before{content:"\f0d6"}.uk-icon-caret-down:before{content:"\f0d7"}.uk-icon-caret-up:before{content:"\f0d8"}.uk-icon-caret-left:before{content:"\f0d9"}.uk-icon-caret-right:before{content:"\f0da"}.uk-icon-columns:before{content:"\f0db"}.uk-icon-sort:before,.uk-icon-unsorted:before{content:"\f0dc"}.uk-icon-sort-desc:before,.uk-icon-sort-down:before{content:"\f0dd"}.uk-icon-sort-asc:before,.uk-icon-sort-up:before{content:"\f0de"}.uk-icon-envelope:before{content:"\f0e0"}.uk-icon-linkedin:before{content:"\f0e1"}.uk-icon-rotate-left:before,.uk-icon-undo:before{content:"\f0e2"}.uk-icon-gavel:before,.uk-icon-legal:before{content:"\f0e3"}.uk-icon-dashboard:before,.uk-icon-tachometer:before{content:"\f0e4"}.uk-icon-comment-o:before{content:"\f0e5"}.uk-icon-comments-o:before{content:"\f0e6"}.uk-icon-bolt:before,.uk-icon-flash:before{content:"\f0e7"}.uk-icon-sitemap:before{content:"\f0e8"}.uk-icon-umbrella:before{content:"\f0e9"}.uk-icon-clipboard:before,.uk-icon-paste:before{content:"\f0ea"}.uk-icon-lightbulb-o:before{content:"\f0eb"}.uk-icon-exchange:before{content:"\f0ec"}.uk-icon-cloud-download:before{content:"\f0ed"}.uk-icon-cloud-upload:before{content:"\f0ee"}.uk-icon-user-md:before{content:"\f0f0"}.uk-icon-stethoscope:before{content:"\f0f1"}.uk-icon-suitcase:before{content:"\f0f2"}.uk-icon-bell-o:before{content:"\f0a2"}.uk-icon-coffee:before{content:"\f0f4"}.uk-icon-cutlery:before{content:"\f0f5"}.uk-icon-file-text-o:before{content:"\f0f6"}.uk-icon-building-o:before{content:"\f0f7"}.uk-icon-hospital-o:before{content:"\f0f8"}.uk-icon-ambulance:before{content:"\f0f9"}.uk-icon-medkit:before{content:"\f0fa"}.uk-icon-fighter-jet:before{content:"\f0fb"}.uk-icon-beer:before{content:"\f0fc"}.uk-icon-h-square:before{content:"\f0fd"}.uk-icon-plus-square:before{content:"\f0fe"}.uk-icon-angle-double-left:before{content:"\f100"}.uk-icon-angle-double-right:before{content:"\f101"}.uk-icon-angle-double-up:before{content:"\f102"}.uk-icon-angle-double-down:before{content:"\f103"}.uk-icon-angle-left:before{content:"\f104"}.uk-icon-angle-right:before{content:"\f105"}.uk-icon-angle-up:before{content:"\f106"}.uk-icon-angle-down:before{content:"\f107"}.uk-icon-desktop:before{content:"\f108"}.uk-icon-laptop:before{content:"\f109"}.uk-icon-tablet:before{content:"\f10a"}.uk-icon-mobile-phone:before,.uk-icon-mobile:before{content:"\f10b"}.uk-icon-circle-o:before{content:"\f10c"}.uk-icon-quote-left:before{content:"\f10d"}.uk-icon-quote-right:before{content:"\f10e"}.uk-icon-spinner:before{content:"\f110"}.uk-icon-circle:before{content:"\f111"}.uk-icon-mail-reply:before,.uk-icon-reply:before{content:"\f112"}.uk-icon-github-alt:before{content:"\f113"}.uk-icon-folder-o:before{content:"\f114"}.uk-icon-folder-open-o:before{content:"\f115"}.uk-icon-smile-o:before{content:"\f118"}.uk-icon-frown-o:before{content:"\f119"}.uk-icon-meh-o:before{content:"\f11a"}.uk-icon-gamepad:before{content:"\f11b"}.uk-icon-keyboard-o:before{content:"\f11c"}.uk-icon-flag-o:before{content:"\f11d"}.uk-icon-flag-checkered:before{content:"\f11e"}.uk-icon-terminal:before{content:"\f120"}.uk-icon-code:before{content:"\f121"}.uk-icon-mail-reply-all:before,.uk-icon-reply-all:before{content:"\f122"}.uk-icon-star-half-empty:before,.uk-icon-star-half-full:before,.uk-icon-star-half-o:before{content:"\f123"}.uk-icon-location-arrow:before{content:"\f124"}.uk-icon-crop:before{content:"\f125"}.uk-icon-code-fork:before{content:"\f126"}.uk-icon-chain-broken:before,.uk-icon-unlink:before{content:"\f127"}.uk-icon-question:before{content:"\f128"}.uk-icon-info:before{content:"\f129"}.uk-icon-exclamation:before{content:"\f12a"}.uk-icon-superscript:before{content:"\f12b"}.uk-icon-subscript:before{content:"\f12c"}.uk-icon-eraser:before{content:"\f12d"}.uk-icon-puzzle-piece:before{content:"\f12e"}.uk-icon-microphone:before{content:"\f130"}.uk-icon-microphone-slash:before{content:"\f131"}.uk-icon-shield:before{content:"\f132"}.uk-icon-calendar-o:before{content:"\f133"}.uk-icon-fire-extinguisher:before{content:"\f134"}.uk-icon-rocket:before{content:"\f135"}.uk-icon-maxcdn:before{content:"\f136"}.uk-icon-chevron-circle-left:before{content:"\f137"}.uk-icon-chevron-circle-right:before{content:"\f138"}.uk-icon-chevron-circle-up:before{content:"\f139"}.uk-icon-chevron-circle-down:before{content:"\f13a"}.uk-icon-html5:before{content:"\f13b"}.uk-icon-css3:before{content:"\f13c"}.uk-icon-anchor:before{content:"\f13d"}.uk-icon-unlock-alt:before{content:"\f13e"}.uk-icon-bullseye:before{content:"\f140"}.uk-icon-ellipsis-h:before{content:"\f141"}.uk-icon-ellipsis-v:before{content:"\f142"}.uk-icon-rss-square:before{content:"\f143"}.uk-icon-play-circle:before{content:"\f144"}.uk-icon-ticket:before{content:"\f145"}.uk-icon-minus-square:before{content:"\f146"}.uk-icon-minus-square-o:before{content:"\f147"}.uk-icon-level-up:before{content:"\f148"}.uk-icon-level-down:before{content:"\f149"}.uk-icon-check-square:before{content:"\f14a"}.uk-icon-pencil-square:before{content:"\f14b"}.uk-icon-external-link-square:before{content:"\f14c"}.uk-icon-share-square:before{content:"\f14d"}.uk-icon-compass:before{content:"\f14e"}.uk-icon-caret-square-o-down:before,.uk-icon-toggle-down:before{content:"\f150"}.uk-icon-caret-square-o-up:before,.uk-icon-toggle-up:before{content:"\f151"}.uk-icon-caret-square-o-right:before,.uk-icon-toggle-right:before{content:"\f152"}.uk-icon-eur:before,.uk-icon-euro:before{content:"\f153"}.uk-icon-gbp:before{content:"\f154"}.uk-icon-dollar:before,.uk-icon-usd:before{content:"\f155"}.uk-icon-inr:before,.uk-icon-rupee:before{content:"\f156"}.uk-icon-cny:before,.uk-icon-jpy:before,.uk-icon-rmb:before,.uk-icon-yen:before{content:"\f157"}.uk-icon-rouble:before,.uk-icon-rub:before,.uk-icon-ruble:before{content:"\f158"}.uk-icon-krw:before,.uk-icon-won:before{content:"\f159"}.uk-icon-bitcoin:before,.uk-icon-btc:before{content:"\f15a"}.uk-icon-file:before{content:"\f15b"}.uk-icon-file-text:before{content:"\f15c"}.uk-icon-sort-alpha-asc:before{content:"\f15d"}.uk-icon-sort-alpha-desc:before{content:"\f15e"}.uk-icon-sort-amount-asc:before{content:"\f160"}.uk-icon-sort-amount-desc:before{content:"\f161"}.uk-icon-sort-numeric-asc:before{content:"\f162"}.uk-icon-sort-numeric-desc:before{content:"\f163"}.uk-icon-thumbs-up:before{content:"\f164"}.uk-icon-thumbs-down:before{content:"\f165"}.uk-icon-youtube-square:before{content:"\f166"}.uk-icon-youtube:before{content:"\f167"}.uk-icon-xing:before{content:"\f168"}.uk-icon-xing-square:before{content:"\f169"}.uk-icon-youtube-play:before{content:"\f16a"}.uk-icon-dropbox:before{content:"\f16b"}.uk-icon-stack-overflow:before{content:"\f16c"}.uk-icon-instagram:before{content:"\f16d"}.uk-icon-flickr:before{content:"\f16e"}.uk-icon-adn:before{content:"\f170"}.uk-icon-bitbucket:before{content:"\f171"}.uk-icon-bitbucket-square:before{content:"\f172"}.uk-icon-tumblr:before{content:"\f173"}.uk-icon-tumblr-square:before{content:"\f174"}.uk-icon-long-arrow-down:before{content:"\f175"}.uk-icon-long-arrow-up:before{content:"\f176"}.uk-icon-long-arrow-left:before{content:"\f177"}.uk-icon-long-arrow-right:before{content:"\f178"}.uk-icon-apple:before{content:"\f179"}.uk-icon-windows:before{content:"\f17a"}.uk-icon-android:before{content:"\f17b"}.uk-icon-linux:before{content:"\f17c"}.uk-icon-dribbble:before{content:"\f17d"}.uk-icon-skype:before{content:"\f17e"}.uk-icon-foursquare:before{content:"\f180"}.uk-icon-trello:before{content:"\f181"}.uk-icon-female:before{content:"\f182"}.uk-icon-male:before{content:"\f183"}.uk-icon-gittip:before,.uk-icon-gratipay:before{content:"\f184"}.uk-icon-sun-o:before{content:"\f185"}.uk-icon-moon-o:before{content:"\f186"}.uk-icon-archive:before{content:"\f187"}.uk-icon-bug:before{content:"\f188"}.uk-icon-vk:before{content:"\f189"}.uk-icon-weibo:before{content:"\f18a"}.uk-icon-renren:before{content:"\f18b"}.uk-icon-pagelines:before{content:"\f18c"}.uk-icon-stack-exchange:before{content:"\f18d"}.uk-icon-arrow-circle-o-right:before{content:"\f18e"}.uk-icon-arrow-circle-o-left:before{content:"\f190"}.uk-icon-caret-square-o-left:before,.uk-icon-toggle-left:before{content:"\f191"}.uk-icon-dot-circle-o:before{content:"\f192"}.uk-icon-wheelchair:before{content:"\f193"}.uk-icon-vimeo-square:before{content:"\f194"}.uk-icon-try:before,.uk-icon-turkish-lira:before{content:"\f195"}.uk-icon-plus-square-o:before{content:"\f196"}.uk-icon-space-shuttle:before{content:"\f197"}.uk-icon-slack:before{content:"\f198"}.uk-icon-envelope-square:before{content:"\f199"}.uk-icon-wordpress:before{content:"\f19a"}.uk-icon-openid:before{content:"\f19b"}.uk-icon-bank:before,.uk-icon-institution:before,.uk-icon-university:before{content:"\f19c"}.uk-icon-graduation-cap:before,.uk-icon-mortar-board:before{content:"\f19d"}.uk-icon-yahoo:before{content:"\f19e"}.uk-icon-google:before{content:"\f1a0"}.uk-icon-reddit:before{content:"\f1a1"}.uk-icon-reddit-square:before{content:"\f1a2"}.uk-icon-stumbleupon-circle:before{content:"\f1a3"}.uk-icon-stumbleupon:before{content:"\f1a4"}.uk-icon-delicious:before{content:"\f1a5"}.uk-icon-digg:before{content:"\f1a6"}.uk-icon-pied-piper:before{content:"\f1a7"}.uk-icon-pied-piper-alt:before{content:"\f1a8"}.uk-icon-drupal:before{content:"\f1a9"}.uk-icon-joomla:before{content:"\f1aa"}.uk-icon-language:before{content:"\f1ab"}.uk-icon-fax:before{content:"\f1ac"}.uk-icon-building:before{content:"\f1ad"}.uk-icon-child:before{content:"\f1ae"}.uk-icon-paw:before{content:"\f1b0"}.uk-icon-spoon:before{content:"\f1b1"}.uk-icon-cube:before{content:"\f1b2"}.uk-icon-cubes:before{content:"\f1b3"}.uk-icon-behance:before{content:"\f1b4"}.uk-icon-behance-square:before{content:"\f1b5"}.uk-icon-steam:before{content:"\f1b6"}.uk-icon-steam-square:before{content:"\f1b7"}.uk-icon-recycle:before{content:"\f1b8"}.uk-icon-automobile:before,.uk-icon-car:before{content:"\f1b9"}.uk-icon-cab:before,.uk-icon-taxi:before{content:"\f1ba"}.uk-icon-tree:before{content:"\f1bb"}.uk-icon-spotify:before{content:"\f1bc"}.uk-icon-deviantart:before{content:"\f1bd"}.uk-icon-soundcloud:before{content:"\f1be"}.uk-icon-database:before{content:"\f1c0"}.uk-icon-file-pdf-o:before{content:"\f1c1"}.uk-icon-file-word-o:before{content:"\f1c2"}.uk-icon-file-excel-o:before{content:"\f1c3"}.uk-icon-file-powerpoint-o:before{content:"\f1c4"}.uk-icon-file-image-o:before,.uk-icon-file-photo-o:before,.uk-icon-file-picture-o:before{content:"\f1c5"}.uk-icon-file-archive-o:before,.uk-icon-file-zip-o:before{content:"\f1c6"}.uk-icon-file-audio-o:before,.uk-icon-file-sound-o:before{content:"\f1c7"}.uk-icon-file-movie-o:before,.uk-icon-file-video-o:before{content:"\f1c8"}.uk-icon-file-code-o:before{content:"\f1c9"}.uk-icon-vine:before{content:"\f1ca"}.uk-icon-codepen:before{content:"\f1cb"}.uk-icon-jsfiddle:before{content:"\f1cc"}.uk-icon-life-bouy:before,.uk-icon-life-buoy:before,.uk-icon-life-ring:before,.uk-icon-life-saver:before,.uk-icon-support:before{content:"\f1cd"}.uk-icon-circle-o-notch:before{content:"\f1ce"}.uk-icon-ra:before,.uk-icon-rebel:before{content:"\f1d0"}.uk-icon-empire:before,.uk-icon-ge:before{content:"\f1d1"}.uk-icon-git-square:before{content:"\f1d2"}.uk-icon-git:before{content:"\f1d3"}.uk-icon-hacker-news:before{content:"\f1d4"}.uk-icon-tencent-weibo:before{content:"\f1d5"}.uk-icon-qq:before{content:"\f1d6"}.uk-icon-wechat:before,.uk-icon-weixin:before{content:"\f1d7"}.uk-icon-paper-plane:before,.uk-icon-send:before{content:"\f1d8"}.uk-icon-paper-plane-o:before,.uk-icon-send-o:before{content:"\f1d9"}.uk-icon-history:before{content:"\f1da"}.uk-icon-circle-thin:before,.uk-icon-genderless:before{content:"\f1db"}.uk-icon-header:before{content:"\f1dc"}.uk-icon-paragraph:before{content:"\f1dd"}.uk-icon-sliders:before{content:"\f1de"}.uk-icon-share-alt:before{content:"\f1e0"}.uk-icon-share-alt-square:before{content:"\f1e1"}.uk-icon-bomb:before{content:"\f1e2"}.uk-icon-futbol-o:before,.uk-icon-soccer-ball-o:before{content:"\f1e3"}.uk-icon-tty:before{content:"\f1e4"}.uk-icon-binoculars:before{content:"\f1e5"}.uk-icon-plug:before{content:"\f1e6"}.uk-icon-slideshare:before{content:"\f1e7"}.uk-icon-twitch:before{content:"\f1e8"}.uk-icon-yelp:before{content:"\f1e9"}.uk-icon-newspaper-o:before{content:"\f1ea"}.uk-icon-wifi:before{content:"\f1eb"}.uk-icon-calculator:before{content:"\f1ec"}.uk-icon-paypal:before{content:"\f1ed"}.uk-icon-google-wallet:before{content:"\f1ee"}.uk-icon-cc-visa:before{content:"\f1f0"}.uk-icon-cc-mastercard:before{content:"\f1f1"}.uk-icon-cc-discover:before{content:"\f1f2"}.uk-icon-cc-amex:before{content:"\f1f3"}.uk-icon-cc-paypal:before{content:"\f1f4"}.uk-icon-cc-stripe:before{content:"\f1f5"}.uk-icon-bell-slash:before{content:"\f1f6"}.uk-icon-bell-slash-o:before{content:"\f1f7"}.uk-icon-trash:before{content:"\f1f8"}.uk-icon-copyright:before{content:"\f1f9"}.uk-icon-at:before{content:"\f1fa"}.uk-icon-eyedropper:before{content:"\f1fb"}.uk-icon-paint-brush:before{content:"\f1fc"}.uk-icon-birthday-cake:before{content:"\f1fd"}.uk-icon-area-chart:before{content:"\f1fe"}.uk-icon-pie-chart:before{content:"\f200"}.uk-icon-line-chart:before{content:"\f201"}.uk-icon-lastfm:before{content:"\f202"}.uk-icon-lastfm-square:before{content:"\f203"}.uk-icon-toggle-off:before{content:"\f204"}.uk-icon-toggle-on:before{content:"\f205"}.uk-icon-bicycle:before{content:"\f206"}.uk-icon-bus:before{content:"\f207"}.uk-icon-ioxhost:before{content:"\f208"}.uk-icon-angellist:before{content:"\f209"}.uk-icon-cc:before{content:"\f20a"}.uk-icon-ils:before,.uk-icon-shekel:before,.uk-icon-sheqel:before{content:"\f20b"}.uk-icon-meanpath:before{content:"\f20c"}.uk-icon-buysellads:before{content:"\f20d"}.uk-icon-connectdevelop:before{content:"\f20e"}.uk-icon-dashcube:before{content:"\f210"}.uk-icon-forumbee:before{content:"\f211"}.uk-icon-leanpub:before{content:"\f212"}.uk-icon-sellsy:before{content:"\f213"}.uk-icon-shirtsinbulk:before{content:"\f214"}.uk-icon-simplybuilt:before{content:"\f215"}.uk-icon-skyatlas:before{content:"\f216"}.uk-icon-cart-plus:before{content:"\f217"}.uk-icon-cart-arrow-down:before{content:"\f218"}.uk-icon-diamond:before{content:"\f219"}.uk-icon-ship:before{content:"\f21a"}.uk-icon-user-secret:before{content:"\f21b"}.uk-icon-motorcycle:before{content:"\f21c"}.uk-icon-street-view:before{content:"\f21d"}.uk-icon-heartbeat:before{content:"\f21e"}.uk-icon-venus:before{content:"\f221"}.uk-icon-mars:before{content:"\f222"}.uk-icon-mercury:before{content:"\f223"}.uk-icon-transgender:before{content:"\f224"}.uk-icon-transgender-alt:before{content:"\f225"}.uk-icon-venus-double:before{content:"\f226"}.uk-icon-mars-double:before{content:"\f227"}.uk-icon-venus-mars:before{content:"\f228"}.uk-icon-mars-stroke:before{content:"\f229"}.uk-icon-mars-stroke-v:before{content:"\f22a"}.uk-icon-mars-stroke-h:before{content:"\f22b"}.uk-icon-neuter:before{content:"\f22c"}.uk-icon-facebook-official:before{content:"\f230"}.uk-icon-pinterest-p:before{content:"\f231"}.uk-icon-whatsapp:before{content:"\f232"}.uk-icon-server:before{content:"\f233"}.uk-icon-user-plus:before{content:"\f234"}.uk-icon-user-times:before{content:"\f235"}.uk-icon-bed:before,.uk-icon-hotel:before{content:"\f236"}.uk-icon-viacoin:before{content:"\f237"}.uk-icon-train:before{content:"\f238"}.uk-icon-subway:before{content:"\f239"}.uk-icon-medium-logo:before{content:"\f23a"}.uk-icon-500px:before{content:"\f26e"}.uk-icon-amazon:before{content:"\f270"}.uk-icon-balance-scale:before{content:"\f24e"}.uk-icon-battery-0:before,.uk-icon-battery-empty:before{content:"\f244"}.uk-icon-battery-1:before,.uk-icon-battery-quarter:before{content:"\f243"}.uk-icon-battery-2:before,.uk-icon-battery-half:before{content:"\f242"}.uk-icon-battery-3:before,.uk-icon-battery-three-quarters:before{content:"\f241"}.uk-icon-battery-4:before,.uk-icon-battery-full:before{content:"\f240"}.uk-icon-black-tie:before{content:"\f27e"}.uk-icon-calendar-check-o:before{content:"\f274"}.uk-icon-calendar-minus-o:before{content:"\f272"}.uk-icon-calendar-plus-o:before{content:"\f271"}.uk-icon-calendar-times-o:before{content:"\f273"}.uk-icon-cc-diners-club:before{content:"\f24c"}.uk-icon-cc-jcb:before{content:"\f24b"}.uk-icon-chrome:before{content:"\f268"}.uk-icon-clone:before{content:"\f24d"}.uk-icon-commenting:before{content:"\f27a"}.uk-icon-commenting-o:before{content:"\f27b"}.uk-icon-contao:before{content:"\f26d"}.uk-icon-creative-commons:before{content:"\f25e"}.uk-icon-expeditedssl:before{content:"\f23e"}.uk-icon-firefox:before{content:"\f269"}.uk-icon-fonticons:before{content:"\f280"}.uk-icon-get-pocket:before{content:"\f265"}.uk-icon-gg:before{content:"\f260"}.uk-icon-gg-circle:before{content:"\f261"}.uk-icon-hand-lizard-o:before{content:"\f258"}.uk-icon-hand-paper-o:before,.uk-icon-hand-stop-o:before{content:"\f256"}.uk-icon-hand-peace-o:before{content:"\f25b"}.uk-icon-hand-pointer-o:before{content:"\f25a"}.uk-icon-hand-grab-o:before,.uk-icon-hand-rock-o:before{content:"\f255"}.uk-icon-hand-scissors-o:before{content:"\f257"}.uk-icon-hand-spock-o:before{content:"\f259"}.uk-icon-hourglass:before{content:"\f254"}.uk-icon-hourglass-o:before{content:"\f250"}.uk-icon-hourglass-1:before,.uk-icon-hourglass-start:before{content:"\f251"}.uk-icon-hourglass-2:before,.uk-icon-hourglass-half:before{content:"\f252"}.uk-icon-hourglass-3:before,.uk-icon-hourglass-end:before{content:"\f253"}.uk-icon-houzz:before{content:"\f27c"}.uk-icon-i-cursor:before{content:"\f246"}.uk-icon-industry:before{content:"\f275"}.uk-icon-internet-explorer:before{content:"\f26b"}.uk-icon-map:before{content:"\f279"}.uk-icon-map-o:before{content:"\f278"}.uk-icon-map-pin:before{content:"\f276"}.uk-icon-map-signs:before{content:"\f277"}.uk-icon-mouse-pointer:before{content:"\f245"}.uk-icon-object-group:before{content:"\f247"}.uk-icon-object-ungroup:before{content:"\f248"}.uk-icon-odnoklassniki:before{content:"\f263"}.uk-icon-odnoklassniki-square:before{content:"\f264"}.uk-icon-opencart:before{content:"\f23d"}.uk-icon-opera:before{content:"\f26a"}.uk-icon-optin-monster:before{content:"\f23c"}.uk-icon-registered:before{content:"\f25d"}.uk-icon-safari:before{content:"\f267"}.uk-icon-sticky-note:before{content:"\f249"}.uk-icon-sticky-note-o:before{content:"\f24a"}.uk-icon-television:before,.uk-icon-tv:before{content:"\f26c"}.uk-icon-trademark:before{content:"\f25c"}.uk-icon-tripadvisor:before{content:"\f262"}.uk-icon-vimeo:before{content:"\f27d"}.uk-icon-wikipedia-w:before{content:"\f266"}.uk-icon-y-combinator:before,.uk-icon-yc:before{content:"\f23b"}.uk-icon-y-combinator-square:before,.uk-icon-yc-square:before{content:"\f1d4"}.uk-icon-bluetooth:before{content:"\f293"}.uk-icon-bluetooth-b:before{content:"\f294"}.uk-icon-codiepie:before{content:"\f284"}.uk-icon-credit-card-alt:before{content:"\f283"}.uk-icon-edge:before{content:"\f282"}.uk-icon-fort-awesome:before{content:"\f286"}.uk-icon-hashtag:before{content:"\f292"}.uk-icon-mixcloud:before{content:"\f289"}.uk-icon-modx:before{content:"\f285"}.uk-icon-pause-circle:before{content:"\f28b"}.uk-icon-pause-circle-o:before{content:"\f28c"}.uk-icon-percent:before{content:"\f295"}.uk-icon-product-hunt:before{content:"\f288"}.uk-icon-reddit-alien:before{content:"\f281"}.uk-icon-scribd:before{content:"\f28a"}.uk-icon-shopping-bag:before{content:"\f290"}.uk-icon-shopping-basket:before{content:"\f291"}.uk-icon-stop-circle:before{content:"\f28d"}.uk-icon-stop-circle-o:before{content:"\f28e"}.uk-icon-usb:before{content:"\f287"}.uk-icon-american-sign-language-interpreting:before,.uk-icon-asl-interpreting:before{content:"\f2a3"}.uk-icon-assistive-listening-systems:before{content:"\f2a2"}.uk-icon-audio-description:before{content:"\f29e"}.uk-icon-blind:before{content:"\f29d"}.uk-icon-braille:before{content:"\f2a1"}.uk-icon-deaf:before,.uk-icon-deafness:before{content:"\f2a4"}.uk-icon-envira:before{content:"\f299"}.uk-icon-fa:before,.uk-icon-font-awesome:before{content:"\f2b4"}.uk-icon-first-order:before{content:"\f2b0"}.uk-icon-gitlab:before{content:"\f296"}.uk-icon-glide:before{content:"\f2a5"}.uk-icon-glide-g:before{content:"\f2a6"}.uk-icon-hard-of-hearing:before{content:"\f2a4"}.uk-icon-low-vision:before{content:"\f2a8"}.uk-icon-question-circle-o:before{content:"\f29c"}.uk-icon-sign-language:before,.uk-icon-signing:before{content:"\f2a7"}.uk-icon-snapchat:before{content:"\f2ab"}.uk-icon-snapchat-ghost:before{content:"\f2ac"}.uk-icon-snapchat-square:before{content:"\f2ad"}.uk-icon-themeisle:before{content:"\f2b2"}.uk-icon-universal-access:before{content:"\f29a"}.uk-icon-viadeo:before{content:"\f2a9"}.uk-icon-viadeo-square:before{content:"\f2aa"}.uk-icon-volume-control-phone:before{content:"\f2a0"}.uk-icon-wheelchair-alt:before{content:"\f29b"}.uk-icon-wpbeginner:before{content:"\f297"}.uk-icon-wpforms:before{content:"\f298"}.uk-icon-yoast:before{content:"\f2b1"}.uk-icon-adress-book:before{content:"\f2b9"}.uk-icon-adress-book-o:before{content:"\f2ba"}.uk-icon-adress-card:before{content:"\f2bb"}.uk-icon-adress-card-o:before{content:"\f2bc"}.uk-icon-bandcamp:before{content:"\f2d5"}.uk-icon-bath:before{content:"\f2cd"}.uk-icon-bathub:before{content:"\f2cd"}.uk-icon-drivers-license:before{content:"\f2c2"}.uk-icon-drivers-license-o:before{content:"\f2c3"}.uk-icon-eercast:before{content:"\f2da"}.uk-icon-envelope-open:before{content:"\f2b6"}.uk-icon-envelope-open-o:before{content:"\f2b7"}.uk-icon-etsy:before{content:"\f2d7"}.uk-icon-free-code-camp:before{content:"\f2c5"}.uk-icon-grav:before{content:"\f2d6"}.uk-icon-handshake-o:before{content:"\f2b5"}.uk-icon-id-badge:before{content:"\f2c1"}.uk-icon-id-card:before{content:"\f2c2"}.uk-icon-id-card-o:before{content:"\f2c3"}.uk-icon-imdb:before{content:"\f2d8"}.uk-icon-linode:before{content:"\f2b8"}.uk-icon-meetup:before{content:"\f2e0"}.uk-icon-microchip:before{content:"\f2db"}.uk-icon-podcast:before{content:"\f2ce"}.uk-icon-quora:before{content:"\f2c4"}.uk-icon-ravelry:before{content:"\f2d9"}.uk-icon-s15:before{content:"\f2cd"}.uk-icon-shower:before{content:"\f2cc"}.uk-icon-snowflake-o:before{content:"\f2dc"}.uk-icon-superpowers:before{content:"\f2dd"}.uk-icon-telegram:before{content:"\f2c6"}.uk-icon-thermometer:before{content:"\f2c7"}.uk-icon-thermometer-0:before{content:"\f2cb"}.uk-icon-thermometer-1:before{content:"\f2ca"}.uk-icon-thermometer-2:before{content:"\f2c9"}.uk-icon-thermometer-3:before{content:"\f2c8"}.uk-icon-thermometer-4:before{content:"\f2c7"}.uk-icon-thermometer-empty:before{content:"\f2cb"}.uk-icon-thermometer-full:before{content:"\f2c7"}.uk-icon-thermometer-half:before{content:"\f2c9"}.uk-icon-thermometer-quarter:before{content:"\f2ca"}.uk-icon-thermometer-three-quarters:before{content:"\f2c8"}.uk-icon-times-rectangle:before{content:"\f2d3"}.uk-icon-times-rectangle-o:before{content:"\f2d4"}.uk-icon-user-circle:before{content:"\f2bd"}.uk-icon-user-circle-o:before{content:"\f2be"}.uk-icon-user-o:before{content:"\f2c0"}.uk-icon-vcard:before{content:"\f2bb"}.uk-icon-vcard-o:before{content:"\f2bc"}.uk-icon-widow-close:before{content:"\f2d3"}.uk-icon-widow-close-o:before{content:"\f2d4"}.uk-icon-window-maximize:before{content:"\f2d0"}.uk-icon-window-minimize:before{content:"\f2d1"}.uk-icon-window-restore:before{content:"\f2d2"}.uk-icon-wpexplorer:before{content:"\f2de"}.uk-close::-moz-focus-inner{border:0;padding:0}.uk-close{-webkit-appearance:none;margin:0;border:none;overflow:visible;font:inherit;color:inherit;text-transform:none;padding:0;background:0 0;display:inline-block;box-sizing:content-box;width:20px;line-height:20px;text-align:center;vertical-align:middle;opacity:.3}.uk-close:after{display:block;content:"\f00d";font-family:FontAwesome}.uk-close:focus,.uk-close:hover{opacity:.5;outline:0;color:inherit;text-decoration:none;cursor:pointer}.uk-close-alt{padding:2px;border-radius:50%;background:#fff;opacity:1;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 0 6px rgba(0,0,0,.3)}.uk-close-alt:focus,.uk-close-alt:hover{opacity:1}.uk-close-alt:after{opacity:.5}.uk-close-alt:focus:after,.uk-close-alt:hover:after{opacity:.8}.uk-badge{display:inline-block;padding:0 5px;background:#009dd8;font-size:10px;font-weight:700;line-height:14px;color:#fff;text-align:center;vertical-align:middle;text-transform:none;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);background-origin:border-box;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);border-radius:2px;text-shadow:0 -1px 0 rgba(0,0,0,.2)}a.uk-badge:hover{color:#fff}.uk-badge-notification{box-sizing:border-box;min-width:18px;border-radius:500px;font-size:12px;line-height:18px}.uk-badge-success{background-color:#82bb42;background-image:-webkit-linear-gradient(top,#9fd256,#6fac34);background-image:linear-gradient(to bottom,#9fd256,#6fac34)}.uk-badge-warning{background-color:#f9a124;background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406)}.uk-badge-danger{background-color:#d32c46;background-image:-webkit-linear-gradient(top,#ee465a,#c11a39);background-image:linear-gradient(to bottom,#ee465a,#c11a39)}.uk-alert{margin-bottom:15px;padding:10px;background:#ebf7fd;color:#2d7091;border:1px solid rgba(45,112,145,.3);border-radius:4px;text-shadow:0 1px 0 #fff}*+.uk-alert{margin-top:15px}.uk-alert>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6{color:inherit}.uk-alert>.uk-close:first-child{float:right}.uk-alert>.uk-close:first-child+*{margin-top:0}.uk-alert-success{background:#f2fae3;color:#659f13;border-color:rgba(101,159,19,.3)}.uk-alert-warning{background:#fffceb;color:#e28327;border-color:rgba(226,131,39,.3)}.uk-alert-danger{background:#fff1f0;color:#d85030;border-color:rgba(216,80,48,.3)}.uk-alert-large{padding:20px}.uk-alert-large>.uk-close:first-child{margin:-10px -10px 0 0}.uk-thumbnail{display:inline-block;max-width:100%;box-sizing:border-box;margin:0;padding:4px;border:1px solid #ddd;background:#fff;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.05)}a.uk-thumbnail:focus,a.uk-thumbnail:hover{border-color:#aaa;background-color:#fff;text-decoration:none;outline:0;box-shadow:0 1px 4px rgba(0,0,0,.3)}.uk-thumbnail-caption{padding-top:4px;text-align:center;color:#444}.uk-thumbnail-mini{width:150px}.uk-thumbnail-small{width:200px}.uk-thumbnail-medium{width:300px}.uk-thumbnail-large{width:400px}.uk-thumbnail-expand,.uk-thumbnail-expand>img{width:100%}.uk-overlay{display:inline-block;position:relative;max-width:100%;vertical-align:middle;overflow:hidden;-webkit-transform:translateZ(0);margin:0}.uk-overlay.uk-border-circle{-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.uk-overlay>:first-child{margin-bottom:0}.uk-overlay-panel{position:absolute;top:0;bottom:0;left:0;right:0;padding:20px;color:#fff}.uk-overlay-panel.uk-flex>*>:last-child,.uk-overlay-panel>:last-child{margin-bottom:0}.uk-overlay-panel h1,.uk-overlay-panel h2,.uk-overlay-panel h3,.uk-overlay-panel h4,.uk-overlay-panel h5,.uk-overlay-panel h6{color:inherit}.uk-overlay-panel a:not([class]){color:inherit;text-decoration:underline}.uk-overlay-panel a[class*=uk-icon-]:not(.uk-icon-button){color:inherit}.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-active :not(.uk-active)>.uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-background{background:rgba(0,0,0,.5)}.uk-overlay-image{padding:0}.uk-overlay-top{bottom:auto}.uk-overlay-bottom{top:auto}.uk-overlay-left{right:auto}.uk-overlay-right{left:auto}.uk-overlay-icon:before{content:"\f002";position:absolute;top:50%;left:50%;width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;font-family:FontAwesome;text-align:center;color:#fff}.uk-overlay-blur,.uk-overlay-fade,.uk-overlay-grayscale,.uk-overlay-scale,.uk-overlay-spin,[class*=uk-overlay-slide]{transition-duration:.3s;transition-timing-function:ease-out;transition-property:opacity,transform,filter}.uk-overlay-active .uk-overlay-fade,.uk-overlay-active .uk-overlay-scale,.uk-overlay-active .uk-overlay-spin,.uk-overlay-active [class*=uk-overlay-slide]{transition-duration:.8s}.uk-overlay-fade{opacity:.7}.uk-overlay-active .uk-active>.uk-overlay-fade,.uk-overlay-hover.uk-hover .uk-overlay-fade,.uk-overlay-hover:hover .uk-overlay-fade{opacity:1}.uk-overlay-scale{-webkit-transform:scale(1);transform:scale(1)}.uk-overlay-active .uk-active>.uk-overlay-scale,.uk-overlay-hover.uk-hover .uk-overlay-scale,.uk-overlay-hover:hover .uk-overlay-scale{-webkit-transform:scale(1.1);transform:scale(1.1)}.uk-overlay-spin{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}.uk-overlay-active .uk-active>.uk-overlay-spin,.uk-overlay-hover.uk-hover .uk-overlay-spin,.uk-overlay-hover:hover .uk-overlay-spin{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}.uk-overlay-grayscale{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.uk-overlay-active .uk-active>.uk-overlay-grayscale,.uk-overlay-hover.uk-hover .uk-overlay-grayscale,.uk-overlay-hover:hover .uk-overlay-grayscale{-webkit-filter:grayscale(0);filter:grayscale(0)}[class*=uk-overlay-slide]{opacity:0}.uk-overlay-slide-top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.uk-overlay-slide-bottom{-webkit-transform:translateY(100%);transform:translateY(100%)}.uk-overlay-slide-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.uk-overlay-slide-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-overlay-active .uk-active>[class*=uk-overlay-slide],.uk-overlay-hover.uk-hover [class*=uk-overlay-slide],.uk-overlay-hover:hover [class*=uk-overlay-slide]{opacity:1;-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}.uk-overlay-area{position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,.3);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;-webkit-transform:translate3d(0,0,0)}.uk-overlay-toggle.uk-hover .uk-overlay-area,.uk-overlay-toggle:hover .uk-overlay-area,.uk-overlay.uk-hover .uk-overlay-area,.uk-overlay:hover .uk-overlay-area{opacity:1}.uk-overlay-area:empty:before{content:"\f002";position:absolute;top:50%;left:50%;width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;font-family:FontAwesome;text-align:center;color:#fff}.uk-overlay-area:not(:empty){font-size:0}.uk-overlay-area:not(:empty):before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-overlay-area-content{display:inline-block;box-sizing:border-box;width:100%;vertical-align:middle;font-size:1rem;text-align:center;padding:0 15px;color:#fff}.uk-overlay-area-content>:last-child{margin-bottom:0}.uk-overlay-area-content a:not([class]),.uk-overlay-area-content a:not([class]):hover{color:inherit}.uk-overlay-caption{position:absolute;bottom:0;left:0;right:0;padding:15px;background:rgba(0,0,0,.5);color:#fff;opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;-webkit-transform:translate3d(0,0,0)}.uk-overlay-toggle.uk-hover .uk-overlay-caption,.uk-overlay-toggle:hover .uk-overlay-caption,.uk-overlay.uk-hover .uk-overlay-caption,.uk-overlay:hover .uk-overlay-caption{opacity:1}[class*=uk-column-]{-webkit-column-gap:25px;-moz-column-gap:25px;column-gap:25px}.uk-column-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}@media (min-width:480px){.uk-column-small-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-small-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-small-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-small-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-small-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:768px){.uk-column-medium-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-medium-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-medium-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-medium-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-medium-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:960px){.uk-column-large-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-large-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-large-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-large-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-large-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:1220px){.uk-column-xlarge-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-xlarge-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-xlarge-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-xlarge-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-xlarge-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}[class*=uk-animation-]{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@media screen{[data-uk-scrollspy*=uk-animation-]:not([data-uk-scrollspy*=target]){opacity:0}}.uk-animation-fade{-webkit-animation-name:uk-fade;animation-name:uk-fade;-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-timing-function:linear!important;animation-timing-function:linear!important}.uk-animation-scale-up{-webkit-animation-name:uk-fade-scale-02;animation-name:uk-fade-scale-02}.uk-animation-scale-down{-webkit-animation-name:uk-fade-scale-18;animation-name:uk-fade-scale-18}.uk-animation-slide-top{-webkit-animation-name:uk-fade-top;animation-name:uk-fade-top}.uk-animation-slide-bottom{-webkit-animation-name:uk-fade-bottom;animation-name:uk-fade-bottom}.uk-animation-slide-left{-webkit-animation-name:uk-fade-left;animation-name:uk-fade-left}.uk-animation-slide-right{-webkit-animation-name:uk-fade-right;animation-name:uk-fade-right}.uk-animation-scale{-webkit-animation-name:uk-scale-12;animation-name:uk-scale-12}.uk-animation-shake{-webkit-animation-name:uk-shake;animation-name:uk-shake}.uk-animation-reverse{-webkit-animation-direction:reverse;animation-direction:reverse;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}.uk-animation-15{-webkit-animation-duration:15s;animation-duration:15s}.uk-animation-top-left{-webkit-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.uk-animation-hover:not(:hover),.uk-animation-hover:not(:hover) [class*=uk-animation-],.uk-touch .uk-animation-hover:not(.uk-hover),.uk-touch .uk-animation-hover:not(.uk-hover) [class*=uk-animation-]{-webkit-animation-name:none;animation-name:none}@-webkit-keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes uk-fade-top{0%{opacity:0;-webkit-transform:translateY(-100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-top{0%{opacity:0;transform:translateY(-100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-bottom{0%{opacity:0;-webkit-transform:translateY(100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-bottom{0%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-left{0%{opacity:0;-webkit-transform:translateX(-100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-left{0%{opacity:0;transform:translateX(-100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-right{0%{opacity:0;-webkit-transform:translateX(100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-right{0%{opacity:0;transform:translateX(100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(.2)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-02{0%{opacity:0;transform:scale(.2)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-15{0%{opacity:0;-webkit-transform:scale(1.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-15{0%{opacity:0;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-18{0%{opacity:0;-webkit-transform:scale(1.8)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-18{0%{opacity:0;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-left-33{0%{-webkit-transform:translateX(33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left-33{0%{transform:translateX(33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right-33{0%{-webkit-transform:translateX(-33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right-33{0%{transform:translateX(-33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{transform:scale(1.2)}100%{transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}@-webkit-keyframes uk-shake{0%,100%{-webkit-transform:translateX(0)}10%{-webkit-transform:translateX(-9px)}20%{-webkit-transform:translateX(8px)}30%{-webkit-transform:translateX(-7px)}40%{-webkit-transform:translateX(6px)}50%{-webkit-transform:translateX(-5px)}60%{-webkit-transform:translateX(4px)}70%{-webkit-transform:translateX(-3px)}80%{-webkit-transform:translateX(2px)}90%{-webkit-transform:translateX(-1px)}}@keyframes uk-shake{0%,100%{transform:translateX(0)}10%{transform:translateX(-9px)}20%{transform:translateX(8px)}30%{transform:translateX(-7px)}40%{transform:translateX(6px)}50%{transform:translateX(-5px)}60%{transform:translateX(4px)}70%{transform:translateX(-3px)}80%{transform:translateX(2px)}90%{transform:translateX(-1px)}}@-webkit-keyframes uk-slide-top-fixed{0%{opacity:0;-webkit-transform:translateY(-10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-top-fixed{0%{opacity:0;transform:translateY(-10px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-slide-bottom-fixed{0%{opacity:0;-webkit-transform:translateY(10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-bottom-fixed{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.uk-dropdown,.uk-dropdown-blank{display:none;position:absolute;z-index:1020;box-sizing:border-box;width:200px}.uk-dropdown{padding:15px;background:#fff;color:#444;font-size:1rem;vertical-align:top;border:1px solid #cbcbcb;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.uk-dropdown:focus{outline:0}.uk-open>.uk-dropdown,.uk-open>.uk-dropdown-blank{display:block;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-dropdown-top{margin-top:-5px}.uk-dropdown-bottom{margin-top:5px}.uk-dropdown-left{margin-left:-5px}.uk-dropdown-right{margin-left:5px}.uk-dropdown .uk-nav{margin:0 -15px}.uk-grid .uk-dropdown-grid+.uk-dropdown-grid{margin-top:15px}.uk-dropdown-grid>[class*=uk-width-]>.uk-panel+.uk-panel{margin-top:15px}@media (min-width:768px){.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid{margin-left:-15px;margin-right:-15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]{padding-left:15px;padding-right:15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){border-left:1px solid #ddd}.uk-dropdown-width-2:not(.uk-dropdown-stack){width:400px}.uk-dropdown-width-3:not(.uk-dropdown-stack){width:600px}.uk-dropdown-width-4:not(.uk-dropdown-stack){width:800px}.uk-dropdown-width-5:not(.uk-dropdown-stack){width:1000px}}@media (max-width:767px){.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){margin-top:15px}}.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){margin-top:15px}.uk-dropdown-small{min-width:150px;width:auto;padding:5px;white-space:nowrap}.uk-dropdown-small .uk-nav{margin:0 -5px}.uk-dropdown-navbar{margin-top:6px;background:#fff;color:#444;left:-1px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.uk-open>.uk-dropdown-navbar{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-dropdown-scrollable{overflow-y:auto;max-height:200px}.uk-dropdown-navbar.uk-dropdown-flip{left:auto}.uk-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1010;overflow-y:auto;-webkit-overflow-scrolling:touch;background:rgba(0,0,0,.6);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;touch-action:cross-slide-y pinch-zoom double-tap-zoom;-webkit-transform:translateZ(0);transform:translateZ(0)}.uk-modal.uk-open{opacity:1}.uk-modal-page,.uk-modal-page body{overflow:hidden}.uk-modal-dialog{position:relative;box-sizing:border-box;margin:50px auto;padding:20px;width:600px;max-width:100%;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-transform:translateY(-100px);transform:translateY(-100px);-webkit-transition:opacity .3s linear,-webkit-transform .3s ease-out;transition:opacity .3s linear,transform .3s ease-out;border-radius:4px;box-shadow:0 0 10px rgba(0,0,0,.3)}@media (max-width:767px){.uk-modal-dialog{width:auto;margin:10px auto}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:not([class*=uk-modal-]):last-child{margin-bottom:0}.uk-modal-dialog>.uk-close:first-child{margin:-10px -10px 0 0;float:right}.uk-modal-dialog>.uk-close:first-child+:not([class*=uk-modal-]){margin-top:0}.uk-modal-dialog-lightbox{margin:15px auto;padding:0;max-width:95%;max-width:calc(100% - 30px);min-height:50px;border-radius:0}.uk-modal-dialog-lightbox>.uk-close:first-child{position:absolute;top:-12px;right:-12px;margin:0;float:none}@media (max-width:767px){.uk-modal-dialog-lightbox>.uk-close:first-child{top:-7px;right:-7px}}.uk-modal-dialog-blank{margin:0;padding:0;width:100%;max-width:100%;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.uk-modal-dialog-blank>.uk-close:first-child{position:absolute;top:20px;right:20px;z-index:1;margin:0;float:none}@media (min-width:768px){.uk-modal-dialog-large{width:930px}}@media (min-width:1220px){.uk-modal-dialog-large{width:1130px}}.uk-modal-header{margin-bottom:15px;margin:-20px -20px 15px -20px;padding:20px;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0;background:#fafafa}.uk-modal-footer{margin-top:15px;margin:15px -20px -20px -20px;padding:20px;border-top:1px solid #ddd;border-radius:0 0 4px 4px;background:#fafafa}.uk-modal-footer>:last-child,.uk-modal-header>:last-child{margin-bottom:0}.uk-modal-caption{position:absolute;left:0;right:0;bottom:-20px;margin-bottom:-10px;color:#fff;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-modal-spinner{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:25px;color:#ddd}.uk-modal-spinner:after{content:"\f110";display:block;font-family:FontAwesome;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-offcanvas{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;touch-action:none;background:rgba(0,0,0,.1)}.uk-offcanvas.uk-active{display:block}.uk-offcanvas-page{position:fixed;-webkit-transition:margin-left .3s ease-in-out;transition:margin-left .3s ease-in-out;margin-left:0}.uk-offcanvas-bar{position:fixed;top:0;bottom:0;left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);z-index:1001;width:270px;max-width:100%;background:#333;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-ms-scroll-chaining:none}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0);transform:translateX(0)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas-bar[mode=none]{-webkit-transition:none;transition:none}.uk-offcanvas-bar[mode=reveal]{-webkit-transform:translateX(0);transform:translateX(0);clip:rect(0,0,100vh,0);-webkit-transition:-webkit-transform .3s ease-in-out,clip .3s ease-in-out;transition:transform .3s ease-in-out,clip .3s ease-in-out}.uk-offcanvas-bar-flip[mode=reveal]{clip:none;-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas-bar-flip[mode=reveal]>*{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.uk-offcanvas.uk-active .uk-offcanvas-bar-flip[mode=reveal].uk-offcanvas-bar-show>*{-webkit-transform:translateX(0);transform:translateX(0)}.uk-offcanvas .uk-panel{margin:20px 15px;color:#777;text-shadow:0 1px 0 rgba(0,0,0,.5)}.uk-offcanvas .uk-panel-title{color:#ccc}.uk-offcanvas .uk-panel a:not([class]){color:#ccc}.uk-offcanvas .uk-panel a:not([class]):hover{color:#fff}.uk-offcanvas-bar:after{content:"";display:block;position:absolute;top:0;bottom:0;right:0;width:1px;background:rgba(0,0,0,.6);box-shadow:0 0 5px 2px rgba(0,0,0,.6)}.uk-offcanvas-bar-flip:after{right:auto;left:0;width:1px;background:rgba(0,0,0,.6);box-shadow:0 0 5px 2px rgba(0,0,0,.6)}.uk-switcher{margin:0;padding:0;list-style:none;touch-action:cross-slide-y pinch-zoom double-tap-zoom}.uk-switcher>:not(.uk-active){display:none}.uk-text-small{font-size:11px;line-height:16px}.uk-text-large{font-size:18px;line-height:24px;font-weight:400}.uk-text-bold{font-weight:700}.uk-text-muted{color:#999!important}.uk-text-primary{color:#2d7091!important}.uk-text-success{color:#659f13!important}.uk-text-warning{color:#e28327!important}.uk-text-danger{color:#d85030!important}.uk-text-contrast{color:#fff!important}.uk-text-left{text-align:left!important}.uk-text-right{text-align:right!important}.uk-text-center{text-align:center!important}.uk-text-justify{text-align:justify!important}.uk-text-top{vertical-align:top!important}.uk-text-middle{vertical-align:middle!important}.uk-text-bottom{vertical-align:bottom!important}@media (max-width:959px){.uk-text-center-medium{text-align:center!important}.uk-text-left-medium{text-align:left!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}.uk-text-left-small{text-align:left!important}}.uk-text-nowrap{white-space:nowrap}.uk-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-text-break{word-wrap:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.uk-text-capitalize{text-transform:capitalize!important}.uk-text-lowercase{text-transform:lowercase!important}.uk-text-uppercase{text-transform:uppercase!important}.uk-container{box-sizing:border-box;max-width:980px;padding:0 25px}@media (min-width:1220px){.uk-container{max-width:1200px;padding:0 35px}}.uk-container:after,.uk-container:before{content:"";display:table}.uk-container:after{clear:both}.uk-container-center{margin-left:auto;margin-right:auto}.uk-clearfix:before{content:"";display:table-cell}.uk-clearfix:after{content:"";display:table;clear:both}.uk-nbfc{overflow:hidden}.uk-nbfc-alt{display:table-cell;width:10000px}.uk-float-left{float:left}.uk-float-right{float:right}[class*=uk-float-]{max-width:100%}[class*=uk-align-]{display:block;margin-bottom:15px}.uk-align-left{margin-right:15px;float:left}.uk-align-right{margin-left:15px;float:right}@media (min-width:768px){.uk-align-medium-left{margin-right:15px;float:left}.uk-align-medium-right{margin-left:15px;float:right}}.uk-align-center{margin-left:auto;margin-right:auto}.uk-vertical-align{font-size:0}.uk-vertical-align:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-vertical-align-bottom,.uk-vertical-align-middle{display:inline-block;max-width:100%;font-size:1rem}.uk-vertical-align-middle{vertical-align:middle}.uk-vertical-align-bottom{vertical-align:bottom}[class*=uk-height]{box-sizing:border-box}.uk-height-1-1{height:100%}.uk-height-viewport{height:100vh;min-height:600px}.uk-responsive-height,.uk-responsive-width{box-sizing:border-box}.uk-responsive-width{max-width:100%!important;height:auto}.uk-responsive-height{max-height:100%;width:auto}.uk-margin{margin-bottom:15px}*+.uk-margin{margin-top:15px}.uk-margin-top{margin-top:15px!important}.uk-margin-bottom{margin-bottom:15px!important}.uk-margin-left{margin-left:15px!important}.uk-margin-right{margin-right:15px!important}.uk-margin-large{margin-bottom:50px}*+.uk-margin-large{margin-top:50px}.uk-margin-large-top{margin-top:50px!important}.uk-margin-large-bottom{margin-bottom:50px!important}.uk-margin-large-left{margin-left:50px!important}.uk-margin-large-right{margin-right:50px!important}.uk-margin-small{margin-bottom:5px}*+.uk-margin-small{margin-top:5px}.uk-margin-small-top{margin-top:5px!important}.uk-margin-small-bottom{margin-bottom:5px!important}.uk-margin-small-left{margin-left:5px!important}.uk-margin-small-right{margin-right:5px!important}.uk-margin-remove{margin:0!important}.uk-margin-top-remove{margin-top:0!important}.uk-margin-bottom-remove{margin-bottom:0!important}.uk-padding-remove{padding:0!important}.uk-padding-top-remove{padding-top:0!important}.uk-padding-bottom-remove{padding-bottom:0!important}.uk-padding-vertical-remove{padding-top:0!important;padding-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}.uk-heading-large{font-size:36px;line-height:42px}@media (min-width:768px){.uk-heading-large{font-size:52px;line-height:64px}}.uk-link-muted,.uk-link-muted a{color:#444}.uk-link-muted a:hover,.uk-link-muted:hover{color:#444}.uk-link-reset,.uk-link-reset a,.uk-link-reset a:focus,.uk-link-reset a:hover,.uk-link-reset:focus,.uk-link-reset:hover{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll;-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box{box-sizing:border-box;height:170px;padding:10px;border:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch;resize:both;border-radius:3px}.uk-scrollable-box>:last-child{margin-bottom:0}.uk-overflow-hidden{overflow:hidden}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-overflow-container>:last-child{margin-bottom:0}.uk-position-absolute,[class*=uk-position-top],[class*=uk-position-bottom]{position:absolute!important}.uk-position-top{top:0;left:0;right:0}.uk-position-bottom{bottom:0;left:0;right:0}.uk-position-top-left{top:0;left:0}.uk-position-top-right{top:0;right:0}.uk-position-bottom-left{bottom:0;left:0}.uk-position-bottom-right{bottom:0;right:0}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-position-relative{position:relative!important}.uk-position-z-index{z-index:1}.uk-display-block{display:block!important}.uk-display-inline{display:inline!important}.uk-display-inline-block{display:inline-block!important;max-width:100%}@media (min-width:960px){.uk-visible-small{display:none!important}.uk-visible-medium{display:none!important}.uk-hidden-large{display:none!important}}@media (min-width:768px) and (max-width:959px){.uk-visible-small{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-medium{display:none!important}}@media (max-width:767px){.uk-visible-medium{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-small{display:none!important}}.uk-hidden{display:none!important;visibility:hidden!important}.uk-invisible{visibility:hidden!important}.uk-visible-hover:hover .uk-hidden,.uk-visible-hover:hover .uk-invisible{display:block!important;visibility:visible!important}.uk-visible-hover-inline:hover .uk-hidden,.uk-visible-hover-inline:hover .uk-invisible{display:inline-block!important;visibility:visible!important}.uk-notouch .uk-hidden-notouch,.uk-touch .uk-hidden-touch{display:none!important}.uk-flex{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-flex-inline{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.uk-flex-inline>*,.uk-flex>*{-ms-flex-negative:1}.uk-flex-top{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.uk-flex-middle{-ms-flex-align:center;-webkit-align-items:center;align-items:center}.uk-flex-bottom{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.uk-flex-center{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.uk-flex-right{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.uk-flex-space-between{-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.uk-flex-space-around{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.uk-flex-row-reverse{-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.uk-flex-column{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-flex-column-reverse{-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}.uk-flex-nowrap{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.uk-flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.uk-flex-wrap-top{-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start}.uk-flex-wrap-middle{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.uk-flex-wrap-bottom{-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end}.uk-flex-wrap-space-between{-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between}.uk-flex-wrap-space-around{-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around}.uk-flex-order-first{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last{-ms-flex-order:99;-webkit-order:99;order:99}@media (min-width:480px){.uk-flex-order-first-small{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-small{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:768px){.uk-flex-order-first-medium{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-medium{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:960px){.uk-flex-order-first-large{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-large{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:1220px){.uk-flex-order-first-xlarge{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-xlarge{-ms-flex-order:99;-webkit-order:99;order:99}}.uk-flex-item-none{-ms-flex:none;-webkit-flex:none;flex:none}.uk-flex-item-auto{-ms-flex:auto;-webkit-flex:auto;flex:auto;-ms-flex-negative:1}.uk-flex-item-1{-ms-flex:1;-webkit-flex:1;flex:1}.uk-contrast{color:#fff}.uk-contrast .uk-link,.uk-contrast a:not([class]){color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-link:hover,.uk-contrast a:not([class]):hover{color:#fff;text-decoration:underline}.uk-contrast :not(pre)>code,.uk-contrast :not(pre)>kbd,.uk-contrast :not(pre)>samp{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.1)}.uk-contrast em{color:#fff}.uk-contrast h1,.uk-contrast h2,.uk-contrast h3,.uk-contrast h4,.uk-contrast h5,.uk-contrast h6{color:#fff}.uk-contrast hr{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-nav li>a,.uk-contrast .uk-nav li>a:hover{text-decoration:none}.uk-contrast .uk-nav-side>li>a{color:#fff}.uk-contrast .uk-nav-side>li>a:focus,.uk-contrast .uk-nav-side>li>a:hover{background:rgba(255,255,255,.1);color:#fff;text-shadow:none}.uk-contrast .uk-nav-side>li.uk-active>a{background:#fff;color:#444;text-shadow:none}.uk-contrast .uk-nav-side .uk-nav-header{color:#fff}.uk-contrast .uk-nav-side .uk-nav-divider{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-nav-side ul a{color:rgba(255,255,255,.7)}.uk-contrast .uk-nav-side ul a:hover{color:#fff}.uk-contrast .uk-subnav>*>a{color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-subnav>*>a:focus,.uk-contrast .uk-subnav>*>a:hover{color:#fff;text-decoration:none}.uk-contrast .uk-subnav>.uk-active>a{color:#fff}.uk-contrast .uk-subnav-line>:nth-child(n+2):before{border-left-color:rgba(255,255,255,.2)}.uk-contrast .uk-subnav-pill>*>a:focus,.uk-contrast .uk-subnav-pill>*>a:hover{background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-subnav-pill>.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-tab{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-tab>li>a{border-color:transparent;color:rgba(255,255,255,.7);text-shadow:none}.uk-contrast .uk-tab>li.uk-open>a,.uk-contrast .uk-tab>li>a:focus,.uk-contrast .uk-tab>li>a:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-tab>li.uk-active>a{border-color:rgba(255,255,255,.2);border-bottom-color:transparent;background:#fff;color:#444}.uk-contrast .uk-tab-center{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-tab-grid:before{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-list-line>li:nth-child(n+2){border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-form input:not([type]),.uk-contrast .uk-form input[type=text],.uk-contrast .uk-form input[type=password],.uk-contrast .uk-form input[type=email],.uk-contrast .uk-form input[type=url],.uk-contrast .uk-form input[type=search],.uk-contrast .uk-form input[type=tel],.uk-contrast .uk-form input[type=number],.uk-contrast .uk-form input[type=datetime],.uk-contrast .uk-form input[type=datetime-local],.uk-contrast .uk-form input[type=date],.uk-contrast .uk-form input[type=month],.uk-contrast .uk-form input[type=time],.uk-contrast .uk-form input[type=week],.uk-contrast .uk-form input[type=color],.uk-contrast .uk-form select,.uk-contrast .uk-form textarea{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.8);color:#444;background-clip:padding-box}.uk-contrast .uk-form input:not([type]):focus,.uk-contrast .uk-form input[type=text]:focus,.uk-contrast .uk-form input[type=password]:focus,.uk-contrast .uk-form input[type=email]:focus,.uk-contrast .uk-form input[type=url]:focus,.uk-contrast .uk-form input[type=search]:focus,.uk-contrast .uk-form input[type=tel]:focus,.uk-contrast .uk-form input[type=number]:focus,.uk-contrast .uk-form input[type=datetime]:focus,.uk-contrast .uk-form input[type=datetime-local]:focus,.uk-contrast .uk-form input[type=date]:focus,.uk-contrast .uk-form input[type=month]:focus,.uk-contrast .uk-form input[type=time]:focus,.uk-contrast .uk-form input[type=week]:focus,.uk-contrast .uk-form input[type=color]:focus,.uk-contrast .uk-form select:focus,.uk-contrast .uk-form textarea:focus{border-color:#fff;background:#fff;color:#444}.uk-contrast .uk-form :-ms-input-placeholder{color:rgba(68,68,68,.7)!important}.uk-contrast .uk-form ::-moz-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-form ::-webkit-input-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-button{color:#444;background:#fff;border-color:transparent}.uk-contrast .uk-button:focus,.uk-contrast .uk-button:hover{background-color:rgba(255,255,255,.8);color:#444;border-color:transparent}.uk-contrast .uk-button.uk-active,.uk-contrast .uk-button:active{background-color:rgba(255,255,255,.7);color:#444;box-shadow:none}.uk-contrast .uk-button-primary{background-color:#009dd8;color:#fff}.uk-contrast .uk-button-primary:focus,.uk-contrast .uk-button-primary:hover{background-color:#00aff2;color:#fff}.uk-contrast .uk-button-primary.uk-active,.uk-contrast .uk-button-primary:active{background-color:#008abf;color:#fff}.uk-contrast .uk-icon-hover{color:rgba(255,255,255,.7)}.uk-contrast .uk-icon-hover:hover{color:#fff}.uk-contrast .uk-icon-button{background:#fff;color:#444;border-color:transparent}.uk-contrast .uk-icon-button:focus,.uk-contrast .uk-icon-button:hover{background-color:rgba(255,255,255,.8);color:#444;border-color:transparent}.uk-contrast .uk-icon-button:active{background-color:rgba(255,255,255,.7);color:#444;box-shadow:none}.uk-contrast .uk-text-muted{color:rgba(255,255,255,.6)!important}.uk-contrast .uk-text-primary{color:#2d7091!important}@media print{*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}} \ No newline at end of file diff --git a/bower_components/uikit/css/uikit.min.css b/bower_components/uikit/css/uikit.min.css new file mode 100644 index 0000000..e688f9e --- /dev/null +++ b/bower_components/uikit/css/uikit.min.css @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +html{font:400 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#fff;color:#444}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}.uk-link,a{color:#07D;text-decoration:none;cursor:pointer}.uk-link:hover,a:hover{color:#059;text-decoration:underline}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}:not(pre)>code,:not(pre)>kbd,:not(pre)>samp{font-size:12px;font-family:Consolas,monospace,serif;color:#D05;white-space:nowrap}em{color:#D05}ins{background:#ffa;color:#444;text-decoration:none}mark{background:#ffa;color:#444}q{font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}audio,canvas,iframe,img,svg,video{vertical-align:middle}audio,canvas,img,svg,video{max-width:100%;height:auto;box-sizing:border-box}.uk-img-preserve,.uk-img-preserve audio,.uk-img-preserve canvas,.uk-img-preserve img,.uk-img-preserve svg,.uk-img-preserve video{max-width:none}img{border:0}svg:not(:root){overflow:hidden}blockquote,figure{margin:0}address,blockquote,dl,fieldset,figure,ol,p,pre,ul{margin:0 0 15px 0}*+address,*+blockquote,*+dl,*+fieldset,*+figure,*+ol,*+p,*+pre,*+ul{margin-top:15px}h1,h2,h3,h4,h5,h6{margin:0 0 15px 0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;color:#444;text-transform:none}*+h1,*+h2,*+h3,*+h4,*+h5,*+h6{margin-top:25px}.uk-h1,h1{font-size:36px;line-height:42px}.uk-h2,h2{font-size:24px;line-height:30px}.uk-h3,h3{font-size:18px;line-height:24px}.uk-h4,h4{font-size:16px;line-height:22px}.uk-h5,h5{font-size:14px;line-height:20px}.uk-h6,h6{font-size:12px;line-height:18px}ol,ul{padding-left:30px}ol>li>ol,ol>li>ul,ul>li>ol,ul>li>ul{margin:0}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;margin:15px 0;border:0;border-top:1px solid #ddd}address{font-style:normal}blockquote{padding-left:15px;border-left:5px solid #ddd;font-size:16px;line-height:22px;font-style:italic}pre{padding:10px;background:#f5f5f5;font:12px/18px Consolas,monospace,serif;color:#444;-moz-tab-size:4;tab-size:4;overflow:auto}::-moz-selection{background:#39f;color:#fff;text-shadow:none}::selection{background:#39f;color:#fff;text-shadow:none}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}progress{vertical-align:baseline}audio:not([controls]){display:none}[hidden],template{display:none}iframe{border:0}@media screen and (max-width:400px){@-ms-viewport{width:device-width}}.uk-grid{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.uk-grid:after,.uk-grid:before{content:"";display:block;overflow:hidden}.uk-grid:after{clear:both}.uk-grid>*{-ms-flex:none;-webkit-flex:none;flex:none;margin:0;float:left}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid{margin-left:-25px}.uk-grid>*{padding-left:25px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:25px}@media (min-width:1220px){.uk-grid{margin-left:-35px}.uk-grid>*{padding-left:35px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid-collapse{margin-left:0}.uk-grid-collapse>*{padding-left:0}.uk-grid-collapse+.uk-grid-collapse,.uk-grid-collapse>*>.uk-panel+.uk-panel,.uk-grid-collapse>.uk-grid-margin{margin-top:0}.uk-grid-small{margin-left:-10px}.uk-grid-small>*{padding-left:10px}.uk-grid-small+.uk-grid-small,.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid-small>.uk-grid-margin{margin-top:10px}.uk-grid-medium{margin-left:-25px}.uk-grid-medium>*{padding-left:25px}.uk-grid-medium+.uk-grid-medium,.uk-grid-medium>*>.uk-panel+.uk-panel,.uk-grid-medium>.uk-grid-margin{margin-top:25px}@media (min-width:960px){.uk-grid-large{margin-left:-35px}.uk-grid-large>*{padding-left:35px}.uk-grid-large+.uk-grid-large,.uk-grid-large-margin,.uk-grid-large>*>.uk-panel+.uk-panel{margin-top:35px}}@media (min-width:1220px){.uk-grid-large{margin-left:-50px}.uk-grid-large>*{padding-left:50px}.uk-grid-large+.uk-grid-large,.uk-grid-large-margin,.uk-grid-large>*>.uk-panel+.uk-panel{margin-top:50px}}.uk-grid-divider:not(:empty){margin-left:-25px;margin-right:-25px}.uk-grid-divider>*{padding-left:25px;padding-right:25px}.uk-grid-divider>[class*=uk-width-9-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-1-]:not(.uk-width-1-1):nth-child(n+2),.uk-grid-divider>[class*=uk-width-2-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-3-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-4-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-5-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-6-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-7-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-8-]:nth-child(n+2){border-left:1px solid #ddd}@media (min-width:768px){.uk-grid-divider>[class*=uk-width-medium-]:not(.uk-width-medium-1-1):nth-child(n+2){border-left:1px solid #ddd}}@media (min-width:960px){.uk-grid-divider>[class*=uk-width-large-]:not(.uk-width-large-1-1):nth-child(n+2){border-left:1px solid #ddd}}@media (min-width:1220px){.uk-grid-divider:not(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider>*{padding-left:35px;padding-right:35px}.uk-grid-divider:empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px;border-top:1px solid #ddd}.uk-grid-match>*{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-grid-match>*>*{-ms-flex:none;-webkit-flex:none;flex:none;box-sizing:border-box;width:100%}[class*=uk-grid-width]>*{box-sizing:border-box;width:100%}.uk-grid-width-1-2>*{width:50%}.uk-grid-width-1-3>*{width:33.333%}.uk-grid-width-1-4>*{width:25%}.uk-grid-width-1-5>*{width:20%}.uk-grid-width-1-6>*{width:16.666%}.uk-grid-width-1-10>*{width:10%}.uk-grid-width-auto>*{width:auto}@media (min-width:480px){.uk-grid-width-small-1-1>*{width:100%}.uk-grid-width-small-1-2>*{width:50%}.uk-grid-width-small-1-3>*{width:33.333%}.uk-grid-width-small-1-4>*{width:25%}.uk-grid-width-small-1-5>*{width:20%}.uk-grid-width-small-1-6>*{width:16.666%}.uk-grid-width-small-1-10>*{width:10%}}@media (min-width:768px){.uk-grid-width-medium-1-1>*{width:100%}.uk-grid-width-medium-1-2>*{width:50%}.uk-grid-width-medium-1-3>*{width:33.333%}.uk-grid-width-medium-1-4>*{width:25%}.uk-grid-width-medium-1-5>*{width:20%}.uk-grid-width-medium-1-6>*{width:16.666%}.uk-grid-width-medium-1-10>*{width:10%}}@media (min-width:960px){.uk-grid-width-large-1-1>*{width:100%}.uk-grid-width-large-1-2>*{width:50%}.uk-grid-width-large-1-3>*{width:33.333%}.uk-grid-width-large-1-4>*{width:25%}.uk-grid-width-large-1-5>*{width:20%}.uk-grid-width-large-1-6>*{width:16.666%}.uk-grid-width-large-1-10>*{width:10%}}@media (min-width:1220px){.uk-grid-width-xlarge-1-1>*{width:100%}.uk-grid-width-xlarge-1-2>*{width:50%}.uk-grid-width-xlarge-1-3>*{width:33.333%}.uk-grid-width-xlarge-1-4>*{width:25%}.uk-grid-width-xlarge-1-5>*{width:20%}.uk-grid-width-xlarge-1-6>*{width:16.666%}.uk-grid-width-xlarge-1-10>*{width:10%}}[class*=uk-width]{box-sizing:border-box;width:100%}.uk-width-1-1{width:100%}.uk-width-1-2,.uk-width-2-4,.uk-width-3-6,.uk-width-5-10{width:50%}.uk-width-1-3,.uk-width-2-6{width:33.333%}.uk-width-2-3,.uk-width-4-6{width:66.666%}.uk-width-1-4{width:25%}.uk-width-3-4{width:75%}.uk-width-1-5,.uk-width-2-10{width:20%}.uk-width-2-5,.uk-width-4-10{width:40%}.uk-width-3-5,.uk-width-6-10{width:60%}.uk-width-4-5,.uk-width-8-10{width:80%}.uk-width-1-6{width:16.666%}.uk-width-5-6{width:83.333%}.uk-width-1-10{width:10%}.uk-width-3-10{width:30%}.uk-width-7-10{width:70%}.uk-width-9-10{width:90%}@media (min-width:480px){.uk-width-small-1-1{width:100%}.uk-width-small-1-2,.uk-width-small-2-4,.uk-width-small-3-6,.uk-width-small-5-10{width:50%}.uk-width-small-1-3,.uk-width-small-2-6{width:33.333%}.uk-width-small-2-3,.uk-width-small-4-6{width:66.666%}.uk-width-small-1-4{width:25%}.uk-width-small-3-4{width:75%}.uk-width-small-1-5,.uk-width-small-2-10{width:20%}.uk-width-small-2-5,.uk-width-small-4-10{width:40%}.uk-width-small-3-5,.uk-width-small-6-10{width:60%}.uk-width-small-4-5,.uk-width-small-8-10{width:80%}.uk-width-small-1-6{width:16.666%}.uk-width-small-5-6{width:83.333%}.uk-width-small-1-10{width:10%}.uk-width-small-3-10{width:30%}.uk-width-small-7-10{width:70%}.uk-width-small-9-10{width:90%}}@media (min-width:768px){.uk-width-medium-1-1{width:100%}.uk-width-medium-1-2,.uk-width-medium-2-4,.uk-width-medium-3-6,.uk-width-medium-5-10{width:50%}.uk-width-medium-1-3,.uk-width-medium-2-6{width:33.333%}.uk-width-medium-2-3,.uk-width-medium-4-6{width:66.666%}.uk-width-medium-1-4{width:25%}.uk-width-medium-3-4{width:75%}.uk-width-medium-1-5,.uk-width-medium-2-10{width:20%}.uk-width-medium-2-5,.uk-width-medium-4-10{width:40%}.uk-width-medium-3-5,.uk-width-medium-6-10{width:60%}.uk-width-medium-4-5,.uk-width-medium-8-10{width:80%}.uk-width-medium-1-6{width:16.666%}.uk-width-medium-5-6{width:83.333%}.uk-width-medium-1-10{width:10%}.uk-width-medium-3-10{width:30%}.uk-width-medium-7-10{width:70%}.uk-width-medium-9-10{width:90%}}@media (min-width:960px){.uk-width-large-1-1{width:100%}.uk-width-large-1-2,.uk-width-large-2-4,.uk-width-large-3-6,.uk-width-large-5-10{width:50%}.uk-width-large-1-3,.uk-width-large-2-6{width:33.333%}.uk-width-large-2-3,.uk-width-large-4-6{width:66.666%}.uk-width-large-1-4{width:25%}.uk-width-large-3-4{width:75%}.uk-width-large-1-5,.uk-width-large-2-10{width:20%}.uk-width-large-2-5,.uk-width-large-4-10{width:40%}.uk-width-large-3-5,.uk-width-large-6-10{width:60%}.uk-width-large-4-5,.uk-width-large-8-10{width:80%}.uk-width-large-1-6{width:16.666%}.uk-width-large-5-6{width:83.333%}.uk-width-large-1-10{width:10%}.uk-width-large-3-10{width:30%}.uk-width-large-7-10{width:70%}.uk-width-large-9-10{width:90%}}@media (min-width:1220px){.uk-width-xlarge-1-1{width:100%}.uk-width-xlarge-1-2,.uk-width-xlarge-2-4,.uk-width-xlarge-3-6,.uk-width-xlarge-5-10{width:50%}.uk-width-xlarge-1-3,.uk-width-xlarge-2-6{width:33.333%}.uk-width-xlarge-2-3,.uk-width-xlarge-4-6{width:66.666%}.uk-width-xlarge-1-4{width:25%}.uk-width-xlarge-3-4{width:75%}.uk-width-xlarge-1-5,.uk-width-xlarge-2-10{width:20%}.uk-width-xlarge-2-5,.uk-width-xlarge-4-10{width:40%}.uk-width-xlarge-3-5,.uk-width-xlarge-6-10{width:60%}.uk-width-xlarge-4-5,.uk-width-xlarge-8-10{width:80%}.uk-width-xlarge-1-6{width:16.666%}.uk-width-xlarge-5-6{width:83.333%}.uk-width-xlarge-1-10{width:10%}.uk-width-xlarge-3-10{width:30%}.uk-width-xlarge-7-10{width:70%}.uk-width-xlarge-9-10{width:90%}}@media (min-width:768px){[class*=uk-push-],[class*=uk-pull-]{position:relative}.uk-push-1-2,.uk-push-2-4,.uk-push-3-6,.uk-push-5-10{left:50%}.uk-push-1-3,.uk-push-2-6{left:33.333%}.uk-push-2-3,.uk-push-4-6{left:66.666%}.uk-push-1-4{left:25%}.uk-push-3-4{left:75%}.uk-push-1-5,.uk-push-2-10{left:20%}.uk-push-2-5,.uk-push-4-10{left:40%}.uk-push-3-5,.uk-push-6-10{left:60%}.uk-push-4-5,.uk-push-8-10{left:80%}.uk-push-1-6{left:16.666%}.uk-push-5-6{left:83.333%}.uk-push-1-10{left:10%}.uk-push-3-10{left:30%}.uk-push-7-10{left:70%}.uk-push-9-10{left:90%}.uk-pull-1-2,.uk-pull-2-4,.uk-pull-3-6,.uk-pull-5-10{left:-50%}.uk-pull-1-3,.uk-pull-2-6{left:-33.333%}.uk-pull-2-3,.uk-pull-4-6{left:-66.666%}.uk-pull-1-4{left:-25%}.uk-pull-3-4{left:-75%}.uk-pull-1-5,.uk-pull-2-10{left:-20%}.uk-pull-2-5,.uk-pull-4-10{left:-40%}.uk-pull-3-5,.uk-pull-6-10{left:-60%}.uk-pull-4-5,.uk-pull-8-10{left:-80%}.uk-pull-1-6{left:-16.666%}.uk-pull-5-6{left:-83.333%}.uk-pull-1-10{left:-10%}.uk-pull-3-10{left:-30%}.uk-pull-7-10{left:-70%}.uk-pull-9-10{left:-90%}}.uk-panel{display:block;position:relative}.uk-panel,.uk-panel:hover{text-decoration:none}.uk-panel:after,.uk-panel:before{content:"";display:table}.uk-panel:after{clear:both}.uk-panel>:not(.uk-panel-title):last-child{margin-bottom:0}.uk-panel-title{margin-top:0;margin-bottom:15px;font-size:18px;line-height:24px;font-weight:400;text-transform:none;color:#444}.uk-panel-badge{position:absolute;top:0;right:0;z-index:1}.uk-panel-teaser{margin-bottom:15px}.uk-panel-body{padding:15px}.uk-panel-box{padding:15px;background:#f5f5f5;color:#444}.uk-panel-box-hover:hover{color:#444}.uk-panel-box .uk-panel-title{color:#444}.uk-panel-box .uk-panel-badge{top:10px;right:10px}.uk-panel-box>.uk-panel-teaser{margin-top:-15px;margin-left:-15px;margin-right:-15px}.uk-panel-box>.uk-nav-side{margin:0 -15px}.uk-panel-box-primary{background-color:#ebf7fd;color:#2d7091}.uk-panel-box-primary-hover:hover{color:#2d7091}.uk-panel-box-primary .uk-panel-title{color:#2d7091}.uk-panel-box-secondary{background-color:#eee;color:#444}.uk-panel-box-secondary-hover:hover{color:#444}.uk-panel-box-secondary .uk-panel-title{color:#444}.uk-panel-hover{padding:15px;color:#444}.uk-panel-hover:hover{background:#f5f5f5;color:#444}.uk-panel-hover .uk-panel-badge{top:10px;right:10px}.uk-panel-hover>.uk-panel-teaser{margin-top:-15px;margin-left:-15px;margin-right:-15px}.uk-panel-header .uk-panel-title{padding-bottom:10px;border-bottom:1px solid #ddd;color:#444}.uk-panel-space{padding:30px}.uk-panel-space .uk-panel-badge{top:30px;right:30px}.uk-panel+.uk-panel-divider{margin-top:50px!important}.uk-panel+.uk-panel-divider:before{content:"";display:block;position:absolute;top:-25px;left:0;right:0;border-top:1px solid #ddd}@media (min-width:1220px){.uk-panel+.uk-panel-divider{margin-top:70px!important}.uk-panel+.uk-panel-divider:before{top:-35px}}.uk-block{position:relative;box-sizing:border-box;padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block{padding-top:50px;padding-bottom:50px}}.uk-block:after,.uk-block:before{content:"";display:table}.uk-block:after{clear:both}.uk-block>:last-child{margin-bottom:0}.uk-block-large{padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block-large{padding-top:50px;padding-bottom:50px}}@media (min-width:960px){.uk-block-large{padding-top:100px;padding-bottom:100px}}.uk-block-default{background:#fff}.uk-block-muted{background:#f9f9f9}.uk-block-primary{background:#00a8e6}.uk-block-secondary{background:#222}.uk-block-default+.uk-block-default,.uk-block-muted+.uk-block-muted,.uk-block-primary+.uk-block-primary,.uk-block-secondary+.uk-block-secondary{padding-top:0}.uk-article:after,.uk-article:before{content:"";display:table}.uk-article:after{clear:both}.uk-article>:last-child{margin-bottom:0}.uk-article+.uk-article{margin-top:25px}.uk-article-title{font-size:36px;line-height:42px;font-weight:400;text-transform:none}.uk-article-title a{color:inherit;text-decoration:none}.uk-article-meta{font-size:12px;line-height:18px;color:#999}.uk-article-lead{color:#444;font-size:18px;line-height:24px;font-weight:400}.uk-article-divider{margin-bottom:25px;border-color:#ddd}*+.uk-article-divider{margin-top:25px}.uk-comment-header{margin-bottom:15px}.uk-comment-header:after,.uk-comment-header:before{content:"";display:table}.uk-comment-header:after{clear:both}.uk-comment-avatar{margin-right:15px;float:left}.uk-comment-title{margin:5px 0 0 0;font-size:16px;line-height:22px}.uk-comment-meta{margin:2px 0 0 0;font-size:11px;line-height:16px;color:#999}.uk-comment-body>:last-child{margin-bottom:0}.uk-comment-list{padding:0;list-style:none}.uk-comment-list .uk-comment+ul{margin:15px 0 0 0;list-style:none}.uk-comment-list .uk-comment+ul>li:nth-child(n+2),.uk-comment-list>li:nth-child(n+2){margin-top:15px}@media (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:100px}}.uk-cover-background{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.uk-cover{overflow:hidden}.uk-cover-object{width:auto;height:auto;min-width:100%;min-height:100%;max-width:none;position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}[data-uk-cover]{position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.uk-nav,.uk-nav ul{margin:0;padding:0;list-style:none}.uk-nav li>a{display:block;text-decoration:none}.uk-nav>li>a{padding:5px 15px}.uk-nav ul{padding-left:15px}.uk-nav ul a{padding:2px 0}.uk-nav li>a>div{font-size:12px;line-height:18px}.uk-nav-header{padding:5px 15px;text-transform:uppercase;font-weight:700;font-size:12px}.uk-nav-header:not(:first-child){margin-top:15px}.uk-nav-divider{margin:9px 15px}ul.uk-nav-sub{padding:5px 0 5px 15px}.uk-nav-parent-icon>.uk-parent>a:after{content:"\f104";width:20px;margin-right:-10px;float:right;font-family:FontAwesome;text-align:center}.uk-nav-parent-icon>.uk-parent.uk-open>a:after{content:"\f107"}.uk-nav-side>li>a{color:#444}.uk-nav-side>li>a:focus,.uk-nav-side>li>a:hover{background:rgba(0,0,0,.05);color:#444;outline:0}.uk-nav-side>li.uk-active>a{background:#00a8e6;color:#fff}.uk-nav-side .uk-nav-header{color:#444}.uk-nav-side .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-side ul a{color:#07D}.uk-nav-side ul a:hover{color:#059}.uk-nav-dropdown>li>a{color:#444}.uk-nav-dropdown>li>a:focus,.uk-nav-dropdown>li>a:hover{background:#00a8e6;color:#fff;outline:0}.uk-nav-dropdown .uk-nav-header{color:#999}.uk-nav-dropdown .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-dropdown ul a{color:#07D}.uk-nav-dropdown ul a:hover{color:#059}.uk-nav-navbar>li>a{color:#444}.uk-nav-navbar>li>a:focus,.uk-nav-navbar>li>a:hover{background:#00a8e6;color:#fff;outline:0}.uk-nav-navbar .uk-nav-header{color:#999}.uk-nav-navbar .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-navbar ul a{color:#07D}.uk-nav-navbar ul a:hover{color:#059}.uk-nav-offcanvas>li>a{color:#ccc;padding:10px 15px}.uk-nav-offcanvas>.uk-open>a,html:not(.uk-touch) .uk-nav-offcanvas>li>a:focus,html:not(.uk-touch) .uk-nav-offcanvas>li>a:hover{background:#404040;color:#fff;outline:0}html .uk-nav.uk-nav-offcanvas>li.uk-active>a{background:#1a1a1a;color:#fff}.uk-nav-offcanvas .uk-nav-header{color:#777}.uk-nav-offcanvas .uk-nav-divider{border-top:1px solid #1a1a1a}.uk-nav-offcanvas ul a{color:#ccc}html:not(.uk-touch) .uk-nav-offcanvas ul a:hover{color:#fff}.uk-navbar{background:#eee;color:#444}.uk-navbar:after,.uk-navbar:before{content:"";display:table}.uk-navbar:after{clear:both}.uk-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-navbar-nav>li{float:left;position:relative}.uk-navbar-nav>li>a{display:block;box-sizing:border-box;text-decoration:none;height:40px;padding:0 15px;line-height:40px;color:#444;font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400}.uk-navbar-nav>li>a[href='#']{cursor:text}.uk-navbar-nav>li.uk-open>a,.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus{background-color:#f5f5f5;color:#444;outline:0}.uk-navbar-nav>li>a:active{background-color:#ddd;color:#444}.uk-navbar-nav>li.uk-active>a{background-color:#f5f5f5;color:#444}.uk-navbar-nav .uk-navbar-nav-subtitle{line-height:28px}.uk-navbar-nav-subtitle>div{margin-top:-6px;font-size:10px;line-height:12px}.uk-navbar-brand,.uk-navbar-content,.uk-navbar-toggle{box-sizing:border-box;display:block;height:40px;padding:0 15px;float:left}.uk-navbar-brand:before,.uk-navbar-content:before,.uk-navbar-toggle:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-navbar-content+.uk-navbar-content:not(.uk-navbar-center){padding-left:0}.uk-navbar-content>a:not([class]){color:#07D}.uk-navbar-content>a:not([class]):hover{color:#059}.uk-navbar-brand{font-size:18px;color:#444;text-decoration:none}.uk-navbar-brand:focus,.uk-navbar-brand:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle{font-size:18px;color:#444;text-decoration:none}.uk-navbar-toggle:focus,.uk-navbar-toggle:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle:after{content:"\f0c9";font-family:FontAwesome;vertical-align:middle}.uk-navbar-toggle-alt:after{content:"\f002"}.uk-navbar-center{float:none;text-align:center;max-width:50%;margin-left:auto;margin-right:auto}.uk-navbar-flip{float:right}.uk-subnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-subnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;position:relative}.uk-subnav:after,.uk-subnav:before{content:"";display:block;overflow:hidden}.uk-subnav:after{clear:both}.uk-subnav>*{float:left}.uk-subnav>*>*{display:inline-block;color:#444}.uk-subnav>*>:focus,.uk-subnav>*>:hover{color:#07D;text-decoration:none}.uk-subnav>.uk-active>*{color:#07D}.uk-subnav-line>:before{content:"";display:inline-block;height:10px;vertical-align:middle}.uk-subnav-line>:nth-child(n+2):before{margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>*>*{padding:3px 9px}.uk-subnav-pill>*>:focus,.uk-subnav-pill>*>:hover{background:#eee;color:#444;text-decoration:none;outline:0}.uk-subnav-pill>.uk-active>*{background:#00a8e6;color:#fff}.uk-subnav>.uk-disabled>*{background:0 0;color:#999;text-decoration:none;cursor:text}.uk-breadcrumb{padding:0;list-style:none;font-size:0}.uk-breadcrumb>li{font-size:1rem;vertical-align:top}.uk-breadcrumb>li,.uk-breadcrumb>li>a,.uk-breadcrumb>li>span{display:inline-block}.uk-breadcrumb>li:nth-child(n+2):before{content:"/";display:inline-block;margin:0 8px}.uk-breadcrumb>li:not(.uk-active)>span{color:#999}.uk-pagination{padding:0;list-style:none;text-align:center;font-size:0}.uk-pagination:after,.uk-pagination:before{content:"";display:table}.uk-pagination:after{clear:both}.uk-pagination>li{display:inline-block;font-size:1rem;vertical-align:top}.uk-pagination>li:nth-child(n+2){margin-left:5px}.uk-pagination>li>a,.uk-pagination>li>span{display:inline-block;min-width:16px;padding:3px 5px;line-height:20px;text-decoration:none;box-sizing:content-box;text-align:center}.uk-pagination>li>a{background:#eee;color:#444}.uk-pagination>li>a:focus,.uk-pagination>li>a:hover{background-color:#f5f5f5;color:#444;outline:0}.uk-pagination>li>a:active{background-color:#ddd;color:#444}.uk-pagination>.uk-active>span{background:#00a8e6;color:#fff}.uk-pagination>.uk-disabled>span{background-color:#f5f5f5;color:#999}.uk-pagination-previous{float:left}.uk-pagination-next{float:right}.uk-pagination-left{text-align:left}.uk-pagination-right{text-align:right}.uk-tab{margin:0;padding:0;list-style:none;border-bottom:1px solid #ddd}.uk-tab:after,.uk-tab:before{content:"";display:table}.uk-tab:after{clear:both}.uk-tab>li{margin-bottom:-1px;float:left;position:relative}.uk-tab>li>a{display:block;padding:8px 12px 8px 12px;border:1px solid transparent;border-bottom-width:0;color:#07D;text-decoration:none}.uk-tab>li:nth-child(n+2)>a{margin-left:5px}.uk-tab>li.uk-open>a,.uk-tab>li>a:focus,.uk-tab>li>a:hover{border-color:#f5f5f5;background:#f5f5f5;color:#059;outline:0}.uk-tab>li.uk-open:not(.uk-active)>a,.uk-tab>li:not(.uk-active)>a:focus,.uk-tab>li:not(.uk-active)>a:hover{margin-bottom:1px;padding-bottom:7px}.uk-tab>li.uk-active>a{border-color:#ddd;border-bottom-color:transparent;background:#fff;color:#444}.uk-tab>li.uk-disabled>a{color:#999;cursor:text}.uk-tab>li.uk-disabled.uk-active>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{background:0 0;border-color:transparent}.uk-tab-flip>li{float:right}.uk-tab-flip>li:nth-child(n+2)>a{margin-left:0;margin-right:5px}.uk-tab>li.uk-tab-responsive>a{margin-left:0;margin-right:0}.uk-tab-responsive>a:before{content:"\f0c9\00a0";font-family:FontAwesome}.uk-tab-center{border-bottom:1px solid #ddd}.uk-tab-center-bottom{border-bottom:none;border-top:1px solid #ddd}.uk-tab-center:after,.uk-tab-center:before{content:"";display:table}.uk-tab-center:after{clear:both}.uk-tab-center .uk-tab{position:relative;right:50%;border:none;float:right}.uk-tab-center .uk-tab>li{position:relative;right:-50%}.uk-tab-center .uk-tab>li>a{text-align:center}.uk-tab-bottom{border-top:1px solid #ddd;border-bottom:none}.uk-tab-bottom>li{margin-top:-1px;margin-bottom:0}.uk-tab-bottom>li>a{padding-top:8px;padding-bottom:8px;border-bottom-width:1px;border-top-width:0}.uk-tab-bottom>li.uk-open:not(.uk-active)>a,.uk-tab-bottom>li:not(.uk-active)>a:focus,.uk-tab-bottom>li:not(.uk-active)>a:hover{margin-bottom:0;margin-top:1px;padding-bottom:8px;padding-top:7px}.uk-tab-bottom>li.uk-active>a{border-top-color:transparent;border-bottom-color:#ddd}.uk-tab-grid{margin-left:-5px;border-bottom:none;position:relative;z-index:0}.uk-tab-grid:before{display:block;position:absolute;left:5px;right:0;bottom:-1px;border-top:1px solid #ddd;z-index:-1}.uk-tab-grid>li:first-child>a{margin-left:5px}.uk-tab-grid>li>a{text-align:center}.uk-tab-grid.uk-tab-bottom{border-top:none}.uk-tab-grid.uk-tab-bottom:before{top:-1px;bottom:auto}@media (min-width:768px){.uk-tab-left,.uk-tab-right{border-bottom:none}.uk-tab-left>li,.uk-tab-right>li{margin-bottom:0;float:none}.uk-tab-left>li>a,.uk-tab-right>li>a{padding-top:8px;padding-bottom:8px}.uk-tab-left>li:nth-child(n+2)>a,.uk-tab-right>li:nth-child(n+2)>a{margin-left:0;margin-top:5px}.uk-tab-left>li.uk-active>a,.uk-tab-right>li.uk-active>a{border-color:#ddd}.uk-tab-left{border-right:1px solid #ddd}.uk-tab-left>li{margin-right:-1px}.uk-tab-left>li>a{border-bottom-width:1px;border-right-width:0}.uk-tab-left>li:not(.uk-active)>a:focus,.uk-tab-left>li:not(.uk-active)>a:hover{margin-bottom:0;margin-right:1px;padding-bottom:8px;padding-right:11px}.uk-tab-left>li.uk-active>a{border-right-color:transparent}.uk-tab-right{border-left:1px solid #ddd}.uk-tab-right>li{margin-left:-1px}.uk-tab-right>li>a{border-bottom-width:1px;border-left-width:0}.uk-tab-right>li:not(.uk-active)>a:focus,.uk-tab-right>li:not(.uk-active)>a:hover{margin-bottom:0;margin-left:1px;padding-bottom:8px;padding-left:11px}.uk-tab-right>li.uk-active>a{border-left-color:transparent}}.uk-thumbnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-thumbnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px}.uk-thumbnav:after,.uk-thumbnav:before{content:"";display:block;overflow:hidden}.uk-thumbnav:after{clear:both}.uk-thumbnav>*{float:left}.uk-thumbnav>*>*{display:block;background:#fff}.uk-thumbnav>*>*>img{opacity:.7;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-thumbnav>*>:focus>img,.uk-thumbnav>*>:hover>img{opacity:1}.uk-thumbnav>.uk-active>*>img{opacity:1}.uk-list{padding:0;list-style:none}.uk-list>li:after,.uk-list>li:before{content:"";display:table}.uk-list>li:after{clear:both}.uk-list>li>:last-child{margin-bottom:0}.uk-list ul{margin:0;padding-left:20px;list-style:none}.uk-list-line>li:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-list-striped>li{padding:5px 5px}.uk-list-striped>li:nth-of-type(odd){background:#f5f5f5}.uk-list-space>li:nth-child(n+2){margin-top:10px}@media (min-width:768px){.uk-description-list-horizontal{overflow:hidden}.uk-description-list-horizontal>dt{width:160px;float:left;clear:both;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-description-list-horizontal>dd{margin-left:180px}}.uk-description-list-line>dt{font-weight:400}.uk-description-list-line>dt:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-description-list-line>dd{color:#999}.uk-table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:15px}*+.uk-table{margin-top:15px}.uk-table td,.uk-table th{padding:8px 8px}.uk-table th{text-align:left}.uk-table td{vertical-align:top}.uk-table thead th{vertical-align:bottom}.uk-table caption,.uk-table tfoot{font-size:12px;font-style:italic}.uk-table caption{text-align:left;color:#999}.uk-table tbody tr.uk-active{background:#EEE}.uk-table-middle,.uk-table-middle td{vertical-align:middle!important}.uk-table-striped tbody tr:nth-of-type(odd){background:#f5f5f5}.uk-table-condensed td{padding:4px 8px}.uk-table-hover tbody tr:hover{background:#EEE}.uk-form input,.uk-form select,.uk-form textarea{box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:inherit}.uk-form select{text-transform:none}.uk-form optgroup{font:inherit;font-weight:700}.uk-form input::-moz-focus-inner{border:0;padding:0}.uk-form input[type=checkbox],.uk-form input[type=radio]{padding:0}.uk-form input[type=checkbox]:not(:disabled),.uk-form input[type=radio]:not(:disabled){cursor:pointer}.uk-form input:not([type]),.uk-form input[type=text],.uk-form input[type=password],.uk-form input[type=email],.uk-form input[type=url],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=number],.uk-form input[type=datetime],.uk-form textarea{-webkit-appearance:none}.uk-form input[type=search]::-webkit-search-cancel-button,.uk-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.uk-form input[type=number]::-webkit-inner-spin-button,.uk-form input[type=number]::-webkit-outer-spin-button{height:auto}.uk-form fieldset{border:none;margin:0;padding:0}.uk-form textarea{overflow:auto;vertical-align:top}.uk-form ::-moz-placeholder{opacity:1}.uk-form :invalid{box-shadow:none}.uk-form input:not([type=radio]):not([type=checkbox]),.uk-form select{vertical-align:middle}.uk-form>:last-child{margin-bottom:0}.uk-form input:not([type]),.uk-form input[type=text],.uk-form input[type=password],.uk-form input[type=email],.uk-form input[type=url],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=number],.uk-form input[type=datetime],.uk-form input[type=datetime-local],.uk-form input[type=date],.uk-form input[type=month],.uk-form input[type=time],.uk-form input[type=week],.uk-form input[type=color],.uk-form select,.uk-form textarea{height:30px;max-width:100%;padding:4px 6px;border:1px solid #ddd;background:#fff;color:#444;-webkit-transition:all .2s linear;-webkit-transition-property:border,background,color,box-shadow,padding;transition:all .2s linear;transition-property:border,background,color,box-shadow,padding}.uk-form input:not([type]):focus,.uk-form input[type=text]:focus,.uk-form input[type=password]:focus,.uk-form input[type=email]:focus,.uk-form input[type=url]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=number]:focus,.uk-form input[type=datetime]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=date]:focus,.uk-form input[type=month]:focus,.uk-form input[type=time]:focus,.uk-form input[type=week]:focus,.uk-form input[type=color]:focus,.uk-form select:focus,.uk-form textarea:focus{border-color:#99baca;outline:0;background:#f5fbfe;color:#444}.uk-form input:not([type]):disabled,.uk-form input[type=text]:disabled,.uk-form input[type=password]:disabled,.uk-form input[type=email]:disabled,.uk-form input[type=url]:disabled,.uk-form input[type=search]:disabled,.uk-form input[type=tel]:disabled,.uk-form input[type=number]:disabled,.uk-form input[type=datetime]:disabled,.uk-form input[type=datetime-local]:disabled,.uk-form input[type=date]:disabled,.uk-form input[type=month]:disabled,.uk-form input[type=time]:disabled,.uk-form input[type=week]:disabled,.uk-form input[type=color]:disabled,.uk-form select:disabled,.uk-form textarea:disabled{border-color:#ddd;background-color:#f5f5f5;color:#999}.uk-form :-ms-input-placeholder{color:#999!important}.uk-form ::-moz-placeholder{color:#999}.uk-form ::-webkit-input-placeholder{color:#999}.uk-form :disabled:-ms-input-placeholder{color:#999!important}.uk-form :disabled::-moz-placeholder{color:#999}.uk-form :disabled::-webkit-input-placeholder{color:#999}.uk-form legend{width:100%;border:0;padding:0;padding-bottom:15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd;width:100%}input:not([type]).uk-form-small,input[type].uk-form-small,select.uk-form-small,textarea.uk-form-small{height:25px;padding:3px 3px;font-size:12px}input:not([type]).uk-form-large,input[type].uk-form-large,select.uk-form-large,textarea.uk-form-large{height:40px;padding:8px 6px;font-size:16px}.uk-form select[multiple],.uk-form select[size],.uk-form textarea{height:auto}.uk-form-danger{border-color:#dc8d99!important;background:#fff7f8!important;color:#d85030!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#659f13!important}.uk-form-blank{border-color:transparent!important;border-style:dashed!important;background:0 0!important}.uk-form-blank:focus{border-color:#ddd!important}input.uk-form-width-mini{width:40px}select.uk-form-width-mini{width:65px}.uk-form-width-small{width:130px}.uk-form-width-medium{width:200px}.uk-form-width-large{width:500px}.uk-form-row:after,.uk-form-row:before{content:"";display:table}.uk-form-row:after{clear:both}.uk-form-row+.uk-form-row{margin-top:15px}.uk-form-help-inline{display:inline-block;margin:0 0 0 10px}.uk-form-help-block{margin:5px 0 0 0}.uk-form-controls>:first-child{margin-top:0}.uk-form-controls>:last-child{margin-bottom:0}.uk-form-controls-condensed{margin:5px 0}.uk-form-stacked .uk-form-label{display:block;margin-bottom:5px;font-weight:700}@media (max-width:959px){.uk-form-horizontal .uk-form-label{display:block;margin-bottom:5px;font-weight:700}}@media (min-width:960px){.uk-form-horizontal .uk-form-label{width:200px;margin-top:5px;float:left}.uk-form-horizontal .uk-form-controls{margin-left:215px}.uk-form-horizontal .uk-form-controls-text{padding-top:5px}}.uk-form-icon{display:inline-block;position:relative;max-width:100%}.uk-form-icon>[class*=uk-icon-]{position:absolute;top:50%;width:30px;margin-top:-7px;font-size:14px;color:#999;text-align:center;pointer-events:none}.uk-form-icon:not(.uk-form-icon-flip)>input{padding-left:30px!important}.uk-form-icon-flip>[class*=uk-icon-]{right:0}.uk-form-icon-flip>input{padding-right:30px!important}.uk-button::-moz-focus-inner{border:0;padding:0}.uk-button{-webkit-appearance:none;margin:0;border:none;overflow:visible;font:inherit;color:#444;text-transform:none;display:inline-block;box-sizing:border-box;padding:0 12px;background:#eee;vertical-align:middle;line-height:30px;min-height:30px;font-size:1rem;text-decoration:none;text-align:center}.uk-button:not(:disabled){cursor:pointer}.uk-button:focus,.uk-button:hover{background-color:#f5f5f5;color:#444;outline:0;text-decoration:none}.uk-button.uk-active,.uk-button:active{background-color:#ddd;color:#444}.uk-button-primary{background-color:#00a8e6;color:#fff}.uk-button-primary:focus,.uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-button-primary.uk-active,.uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-button-success{background-color:#8cc14c;color:#fff}.uk-button-success:focus,.uk-button-success:hover{background-color:#8ec73b;color:#fff}.uk-button-success.uk-active,.uk-button-success:active{background-color:#72ae41;color:#fff}.uk-button-danger{background-color:#da314b;color:#fff}.uk-button-danger:focus,.uk-button-danger:hover{background-color:#e4354f;color:#fff}.uk-button-danger.uk-active,.uk-button-danger:active{background-color:#c91032;color:#fff}.uk-button:disabled{background-color:#f5f5f5;color:#999}.uk-button-link,.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:disabled,.uk-button-link:focus,.uk-button-link:hover{border-color:transparent;background:0 0}.uk-button-link{color:#07D}.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:focus,.uk-button-link:hover{color:#059;text-decoration:underline}.uk-button-link:disabled{color:#999}.uk-button-link:focus{outline:1px dotted}.uk-button-mini{min-height:20px;padding:0 6px;line-height:20px;font-size:11px}.uk-button-small{min-height:25px;padding:0 10px;line-height:25px;font-size:12px}.uk-button-large{min-height:40px;padding:0 15px;line-height:40px;font-size:16px}.uk-button-group{display:inline-block;vertical-align:middle;position:relative;font-size:0;white-space:nowrap}.uk-button-group>*{display:inline-block}.uk-button-group .uk-button{vertical-align:top}.uk-button-dropdown{display:inline-block;vertical-align:middle;position:relative}@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.woff2) format('woff2'),url(../fonts/fontawesome-webfont.woff) format("woff"),url(../fonts/fontawesome-webfont.ttf) format("truetype");font-weight:400;font-style:normal}[class*=uk-icon-]{font-family:FontAwesome;display:inline-block;font-weight:400;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=uk-icon-],[class*=uk-icon-]:focus,[class*=uk-icon-]:hover{text-decoration:none}.uk-icon-small{font-size:150%;vertical-align:-10%}.uk-icon-medium{font-size:200%;vertical-align:-16%}.uk-icon-large{font-size:250%;vertical-align:-22%}.uk-icon-justify{width:1em;text-align:center}.uk-icon-spin{display:inline-block;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-hover{color:#999}.uk-icon-hover:hover{color:#444}.uk-icon-button{box-sizing:border-box;display:inline-block;width:35px;height:35px;border-radius:100%;background:#eee;line-height:35px;color:#444;font-size:18px;text-align:center}.uk-icon-button:focus,.uk-icon-button:hover{background-color:#f5f5f5;color:#444;outline:0}.uk-icon-button:active{background-color:#ddd;color:#444}.uk-icon-glass:before{content:"\f000"}.uk-icon-music:before{content:"\f001"}.uk-icon-search:before{content:"\f002"}.uk-icon-envelope-o:before{content:"\f003"}.uk-icon-heart:before{content:"\f004"}.uk-icon-star:before{content:"\f005"}.uk-icon-star-o:before{content:"\f006"}.uk-icon-user:before{content:"\f007"}.uk-icon-film:before{content:"\f008"}.uk-icon-th-large:before{content:"\f009"}.uk-icon-th:before{content:"\f00a"}.uk-icon-th-list:before{content:"\f00b"}.uk-icon-check:before{content:"\f00c"}.uk-icon-close:before,.uk-icon-remove:before,.uk-icon-times:before{content:"\f00d"}.uk-icon-search-plus:before{content:"\f00e"}.uk-icon-search-minus:before{content:"\f010"}.uk-icon-power-off:before{content:"\f011"}.uk-icon-signal:before{content:"\f012"}.uk-icon-cog:before,.uk-icon-gear:before{content:"\f013"}.uk-icon-trash-o:before{content:"\f014"}.uk-icon-home:before{content:"\f015"}.uk-icon-file-o:before{content:"\f016"}.uk-icon-clock-o:before{content:"\f017"}.uk-icon-road:before{content:"\f018"}.uk-icon-download:before{content:"\f019"}.uk-icon-arrow-circle-o-down:before{content:"\f01a"}.uk-icon-arrow-circle-o-up:before{content:"\f01b"}.uk-icon-inbox:before{content:"\f01c"}.uk-icon-play-circle-o:before{content:"\f01d"}.uk-icon-repeat:before,.uk-icon-rotate-right:before{content:"\f01e"}.uk-icon-refresh:before{content:"\f021"}.uk-icon-list-alt:before{content:"\f022"}.uk-icon-lock:before{content:"\f023"}.uk-icon-flag:before{content:"\f024"}.uk-icon-headphones:before{content:"\f025"}.uk-icon-volume-off:before{content:"\f026"}.uk-icon-volume-down:before{content:"\f027"}.uk-icon-volume-up:before{content:"\f028"}.uk-icon-qrcode:before{content:"\f029"}.uk-icon-barcode:before{content:"\f02a"}.uk-icon-tag:before{content:"\f02b"}.uk-icon-tags:before{content:"\f02c"}.uk-icon-book:before{content:"\f02d"}.uk-icon-bookmark:before{content:"\f02e"}.uk-icon-print:before{content:"\f02f"}.uk-icon-camera:before{content:"\f030"}.uk-icon-font:before{content:"\f031"}.uk-icon-bold:before{content:"\f032"}.uk-icon-italic:before{content:"\f033"}.uk-icon-text-height:before{content:"\f034"}.uk-icon-text-width:before{content:"\f035"}.uk-icon-align-left:before{content:"\f036"}.uk-icon-align-center:before{content:"\f037"}.uk-icon-align-right:before{content:"\f038"}.uk-icon-align-justify:before{content:"\f039"}.uk-icon-list:before{content:"\f03a"}.uk-icon-dedent:before,.uk-icon-outdent:before{content:"\f03b"}.uk-icon-indent:before{content:"\f03c"}.uk-icon-video-camera:before{content:"\f03d"}.uk-icon-image:before,.uk-icon-photo:before,.uk-icon-picture-o:before{content:"\f03e"}.uk-icon-pencil:before{content:"\f040"}.uk-icon-map-marker:before{content:"\f041"}.uk-icon-adjust:before{content:"\f042"}.uk-icon-tint:before{content:"\f043"}.uk-icon-edit:before,.uk-icon-pencil-square-o:before{content:"\f044"}.uk-icon-share-square-o:before{content:"\f045"}.uk-icon-check-square-o:before{content:"\f046"}.uk-icon-arrows:before{content:"\f047"}.uk-icon-step-backward:before{content:"\f048"}.uk-icon-fast-backward:before{content:"\f049"}.uk-icon-backward:before{content:"\f04a"}.uk-icon-play:before{content:"\f04b"}.uk-icon-pause:before{content:"\f04c"}.uk-icon-stop:before{content:"\f04d"}.uk-icon-forward:before{content:"\f04e"}.uk-icon-fast-forward:before{content:"\f050"}.uk-icon-step-forward:before{content:"\f051"}.uk-icon-eject:before{content:"\f052"}.uk-icon-chevron-left:before{content:"\f053"}.uk-icon-chevron-right:before{content:"\f054"}.uk-icon-plus-circle:before{content:"\f055"}.uk-icon-minus-circle:before{content:"\f056"}.uk-icon-times-circle:before{content:"\f057"}.uk-icon-check-circle:before{content:"\f058"}.uk-icon-question-circle:before{content:"\f059"}.uk-icon-info-circle:before{content:"\f05a"}.uk-icon-crosshairs:before{content:"\f05b"}.uk-icon-times-circle-o:before{content:"\f05c"}.uk-icon-check-circle-o:before{content:"\f05d"}.uk-icon-ban:before{content:"\f05e"}.uk-icon-arrow-left:before{content:"\f060"}.uk-icon-arrow-right:before{content:"\f061"}.uk-icon-arrow-up:before{content:"\f062"}.uk-icon-arrow-down:before{content:"\f063"}.uk-icon-mail-forward:before,.uk-icon-share:before{content:"\f064"}.uk-icon-expand:before{content:"\f065"}.uk-icon-compress:before{content:"\f066"}.uk-icon-plus:before{content:"\f067"}.uk-icon-minus:before{content:"\f068"}.uk-icon-asterisk:before{content:"\f069"}.uk-icon-exclamation-circle:before{content:"\f06a"}.uk-icon-gift:before{content:"\f06b"}.uk-icon-leaf:before{content:"\f06c"}.uk-icon-fire:before{content:"\f06d"}.uk-icon-eye:before{content:"\f06e"}.uk-icon-eye-slash:before{content:"\f070"}.uk-icon-exclamation-triangle:before,.uk-icon-warning:before{content:"\f071"}.uk-icon-plane:before{content:"\f072"}.uk-icon-calendar:before{content:"\f073"}.uk-icon-random:before{content:"\f074"}.uk-icon-comment:before{content:"\f075"}.uk-icon-magnet:before{content:"\f076"}.uk-icon-chevron-up:before{content:"\f077"}.uk-icon-chevron-down:before{content:"\f078"}.uk-icon-retweet:before{content:"\f079"}.uk-icon-shopping-cart:before{content:"\f07a"}.uk-icon-folder:before{content:"\f07b"}.uk-icon-folder-open:before{content:"\f07c"}.uk-icon-arrows-v:before{content:"\f07d"}.uk-icon-arrows-h:before{content:"\f07e"}.uk-icon-bar-chart-o:before,.uk-icon-bar-chart:before{content:"\f080"}.uk-icon-twitter-square:before{content:"\f081"}.uk-icon-facebook-square:before{content:"\f082"}.uk-icon-camera-retro:before{content:"\f083"}.uk-icon-key:before{content:"\f084"}.uk-icon-cogs:before,.uk-icon-gears:before{content:"\f085"}.uk-icon-comments:before{content:"\f086"}.uk-icon-thumbs-o-up:before{content:"\f087"}.uk-icon-thumbs-o-down:before{content:"\f088"}.uk-icon-star-half:before{content:"\f089"}.uk-icon-heart-o:before{content:"\f08a"}.uk-icon-sign-out:before{content:"\f08b"}.uk-icon-linkedin-square:before{content:"\f08c"}.uk-icon-thumb-tack:before{content:"\f08d"}.uk-icon-external-link:before{content:"\f08e"}.uk-icon-sign-in:before{content:"\f090"}.uk-icon-trophy:before{content:"\f091"}.uk-icon-github-square:before{content:"\f092"}.uk-icon-upload:before{content:"\f093"}.uk-icon-lemon-o:before{content:"\f094"}.uk-icon-phone:before{content:"\f095"}.uk-icon-square-o:before{content:"\f096"}.uk-icon-bookmark-o:before{content:"\f097"}.uk-icon-phone-square:before{content:"\f098"}.uk-icon-twitter:before{content:"\f099"}.uk-icon-facebook-f:before,.uk-icon-facebook:before{content:"\f09a"}.uk-icon-github:before{content:"\f09b"}.uk-icon-unlock:before{content:"\f09c"}.uk-icon-credit-card:before{content:"\f09d"}.uk-icon-rss:before{content:"\f09e"}.uk-icon-hdd-o:before{content:"\f0a0"}.uk-icon-bullhorn:before{content:"\f0a1"}.uk-icon-bell:before{content:"\f0f3"}.uk-icon-certificate:before{content:"\f0a3"}.uk-icon-hand-o-right:before{content:"\f0a4"}.uk-icon-hand-o-left:before{content:"\f0a5"}.uk-icon-hand-o-up:before{content:"\f0a6"}.uk-icon-hand-o-down:before{content:"\f0a7"}.uk-icon-arrow-circle-left:before{content:"\f0a8"}.uk-icon-arrow-circle-right:before{content:"\f0a9"}.uk-icon-arrow-circle-up:before{content:"\f0aa"}.uk-icon-arrow-circle-down:before{content:"\f0ab"}.uk-icon-globe:before{content:"\f0ac"}.uk-icon-wrench:before{content:"\f0ad"}.uk-icon-tasks:before{content:"\f0ae"}.uk-icon-filter:before{content:"\f0b0"}.uk-icon-briefcase:before{content:"\f0b1"}.uk-icon-arrows-alt:before{content:"\f0b2"}.uk-icon-group:before,.uk-icon-users:before{content:"\f0c0"}.uk-icon-chain:before,.uk-icon-link:before{content:"\f0c1"}.uk-icon-cloud:before{content:"\f0c2"}.uk-icon-flask:before{content:"\f0c3"}.uk-icon-cut:before,.uk-icon-scissors:before{content:"\f0c4"}.uk-icon-copy:before,.uk-icon-files-o:before{content:"\f0c5"}.uk-icon-paperclip:before{content:"\f0c6"}.uk-icon-floppy-o:before,.uk-icon-save:before{content:"\f0c7"}.uk-icon-square:before{content:"\f0c8"}.uk-icon-bars:before,.uk-icon-navicon:before,.uk-icon-reorder:before{content:"\f0c9"}.uk-icon-list-ul:before{content:"\f0ca"}.uk-icon-list-ol:before{content:"\f0cb"}.uk-icon-strikethrough:before{content:"\f0cc"}.uk-icon-underline:before{content:"\f0cd"}.uk-icon-table:before{content:"\f0ce"}.uk-icon-magic:before{content:"\f0d0"}.uk-icon-truck:before{content:"\f0d1"}.uk-icon-pinterest:before{content:"\f0d2"}.uk-icon-pinterest-square:before{content:"\f0d3"}.uk-icon-google-plus-square:before{content:"\f0d4"}.uk-icon-google-plus:before{content:"\f0d5"}.uk-icon-money:before{content:"\f0d6"}.uk-icon-caret-down:before{content:"\f0d7"}.uk-icon-caret-up:before{content:"\f0d8"}.uk-icon-caret-left:before{content:"\f0d9"}.uk-icon-caret-right:before{content:"\f0da"}.uk-icon-columns:before{content:"\f0db"}.uk-icon-sort:before,.uk-icon-unsorted:before{content:"\f0dc"}.uk-icon-sort-desc:before,.uk-icon-sort-down:before{content:"\f0dd"}.uk-icon-sort-asc:before,.uk-icon-sort-up:before{content:"\f0de"}.uk-icon-envelope:before{content:"\f0e0"}.uk-icon-linkedin:before{content:"\f0e1"}.uk-icon-rotate-left:before,.uk-icon-undo:before{content:"\f0e2"}.uk-icon-gavel:before,.uk-icon-legal:before{content:"\f0e3"}.uk-icon-dashboard:before,.uk-icon-tachometer:before{content:"\f0e4"}.uk-icon-comment-o:before{content:"\f0e5"}.uk-icon-comments-o:before{content:"\f0e6"}.uk-icon-bolt:before,.uk-icon-flash:before{content:"\f0e7"}.uk-icon-sitemap:before{content:"\f0e8"}.uk-icon-umbrella:before{content:"\f0e9"}.uk-icon-clipboard:before,.uk-icon-paste:before{content:"\f0ea"}.uk-icon-lightbulb-o:before{content:"\f0eb"}.uk-icon-exchange:before{content:"\f0ec"}.uk-icon-cloud-download:before{content:"\f0ed"}.uk-icon-cloud-upload:before{content:"\f0ee"}.uk-icon-user-md:before{content:"\f0f0"}.uk-icon-stethoscope:before{content:"\f0f1"}.uk-icon-suitcase:before{content:"\f0f2"}.uk-icon-bell-o:before{content:"\f0a2"}.uk-icon-coffee:before{content:"\f0f4"}.uk-icon-cutlery:before{content:"\f0f5"}.uk-icon-file-text-o:before{content:"\f0f6"}.uk-icon-building-o:before{content:"\f0f7"}.uk-icon-hospital-o:before{content:"\f0f8"}.uk-icon-ambulance:before{content:"\f0f9"}.uk-icon-medkit:before{content:"\f0fa"}.uk-icon-fighter-jet:before{content:"\f0fb"}.uk-icon-beer:before{content:"\f0fc"}.uk-icon-h-square:before{content:"\f0fd"}.uk-icon-plus-square:before{content:"\f0fe"}.uk-icon-angle-double-left:before{content:"\f100"}.uk-icon-angle-double-right:before{content:"\f101"}.uk-icon-angle-double-up:before{content:"\f102"}.uk-icon-angle-double-down:before{content:"\f103"}.uk-icon-angle-left:before{content:"\f104"}.uk-icon-angle-right:before{content:"\f105"}.uk-icon-angle-up:before{content:"\f106"}.uk-icon-angle-down:before{content:"\f107"}.uk-icon-desktop:before{content:"\f108"}.uk-icon-laptop:before{content:"\f109"}.uk-icon-tablet:before{content:"\f10a"}.uk-icon-mobile-phone:before,.uk-icon-mobile:before{content:"\f10b"}.uk-icon-circle-o:before{content:"\f10c"}.uk-icon-quote-left:before{content:"\f10d"}.uk-icon-quote-right:before{content:"\f10e"}.uk-icon-spinner:before{content:"\f110"}.uk-icon-circle:before{content:"\f111"}.uk-icon-mail-reply:before,.uk-icon-reply:before{content:"\f112"}.uk-icon-github-alt:before{content:"\f113"}.uk-icon-folder-o:before{content:"\f114"}.uk-icon-folder-open-o:before{content:"\f115"}.uk-icon-smile-o:before{content:"\f118"}.uk-icon-frown-o:before{content:"\f119"}.uk-icon-meh-o:before{content:"\f11a"}.uk-icon-gamepad:before{content:"\f11b"}.uk-icon-keyboard-o:before{content:"\f11c"}.uk-icon-flag-o:before{content:"\f11d"}.uk-icon-flag-checkered:before{content:"\f11e"}.uk-icon-terminal:before{content:"\f120"}.uk-icon-code:before{content:"\f121"}.uk-icon-mail-reply-all:before,.uk-icon-reply-all:before{content:"\f122"}.uk-icon-star-half-empty:before,.uk-icon-star-half-full:before,.uk-icon-star-half-o:before{content:"\f123"}.uk-icon-location-arrow:before{content:"\f124"}.uk-icon-crop:before{content:"\f125"}.uk-icon-code-fork:before{content:"\f126"}.uk-icon-chain-broken:before,.uk-icon-unlink:before{content:"\f127"}.uk-icon-question:before{content:"\f128"}.uk-icon-info:before{content:"\f129"}.uk-icon-exclamation:before{content:"\f12a"}.uk-icon-superscript:before{content:"\f12b"}.uk-icon-subscript:before{content:"\f12c"}.uk-icon-eraser:before{content:"\f12d"}.uk-icon-puzzle-piece:before{content:"\f12e"}.uk-icon-microphone:before{content:"\f130"}.uk-icon-microphone-slash:before{content:"\f131"}.uk-icon-shield:before{content:"\f132"}.uk-icon-calendar-o:before{content:"\f133"}.uk-icon-fire-extinguisher:before{content:"\f134"}.uk-icon-rocket:before{content:"\f135"}.uk-icon-maxcdn:before{content:"\f136"}.uk-icon-chevron-circle-left:before{content:"\f137"}.uk-icon-chevron-circle-right:before{content:"\f138"}.uk-icon-chevron-circle-up:before{content:"\f139"}.uk-icon-chevron-circle-down:before{content:"\f13a"}.uk-icon-html5:before{content:"\f13b"}.uk-icon-css3:before{content:"\f13c"}.uk-icon-anchor:before{content:"\f13d"}.uk-icon-unlock-alt:before{content:"\f13e"}.uk-icon-bullseye:before{content:"\f140"}.uk-icon-ellipsis-h:before{content:"\f141"}.uk-icon-ellipsis-v:before{content:"\f142"}.uk-icon-rss-square:before{content:"\f143"}.uk-icon-play-circle:before{content:"\f144"}.uk-icon-ticket:before{content:"\f145"}.uk-icon-minus-square:before{content:"\f146"}.uk-icon-minus-square-o:before{content:"\f147"}.uk-icon-level-up:before{content:"\f148"}.uk-icon-level-down:before{content:"\f149"}.uk-icon-check-square:before{content:"\f14a"}.uk-icon-pencil-square:before{content:"\f14b"}.uk-icon-external-link-square:before{content:"\f14c"}.uk-icon-share-square:before{content:"\f14d"}.uk-icon-compass:before{content:"\f14e"}.uk-icon-caret-square-o-down:before,.uk-icon-toggle-down:before{content:"\f150"}.uk-icon-caret-square-o-up:before,.uk-icon-toggle-up:before{content:"\f151"}.uk-icon-caret-square-o-right:before,.uk-icon-toggle-right:before{content:"\f152"}.uk-icon-eur:before,.uk-icon-euro:before{content:"\f153"}.uk-icon-gbp:before{content:"\f154"}.uk-icon-dollar:before,.uk-icon-usd:before{content:"\f155"}.uk-icon-inr:before,.uk-icon-rupee:before{content:"\f156"}.uk-icon-cny:before,.uk-icon-jpy:before,.uk-icon-rmb:before,.uk-icon-yen:before{content:"\f157"}.uk-icon-rouble:before,.uk-icon-rub:before,.uk-icon-ruble:before{content:"\f158"}.uk-icon-krw:before,.uk-icon-won:before{content:"\f159"}.uk-icon-bitcoin:before,.uk-icon-btc:before{content:"\f15a"}.uk-icon-file:before{content:"\f15b"}.uk-icon-file-text:before{content:"\f15c"}.uk-icon-sort-alpha-asc:before{content:"\f15d"}.uk-icon-sort-alpha-desc:before{content:"\f15e"}.uk-icon-sort-amount-asc:before{content:"\f160"}.uk-icon-sort-amount-desc:before{content:"\f161"}.uk-icon-sort-numeric-asc:before{content:"\f162"}.uk-icon-sort-numeric-desc:before{content:"\f163"}.uk-icon-thumbs-up:before{content:"\f164"}.uk-icon-thumbs-down:before{content:"\f165"}.uk-icon-youtube-square:before{content:"\f166"}.uk-icon-youtube:before{content:"\f167"}.uk-icon-xing:before{content:"\f168"}.uk-icon-xing-square:before{content:"\f169"}.uk-icon-youtube-play:before{content:"\f16a"}.uk-icon-dropbox:before{content:"\f16b"}.uk-icon-stack-overflow:before{content:"\f16c"}.uk-icon-instagram:before{content:"\f16d"}.uk-icon-flickr:before{content:"\f16e"}.uk-icon-adn:before{content:"\f170"}.uk-icon-bitbucket:before{content:"\f171"}.uk-icon-bitbucket-square:before{content:"\f172"}.uk-icon-tumblr:before{content:"\f173"}.uk-icon-tumblr-square:before{content:"\f174"}.uk-icon-long-arrow-down:before{content:"\f175"}.uk-icon-long-arrow-up:before{content:"\f176"}.uk-icon-long-arrow-left:before{content:"\f177"}.uk-icon-long-arrow-right:before{content:"\f178"}.uk-icon-apple:before{content:"\f179"}.uk-icon-windows:before{content:"\f17a"}.uk-icon-android:before{content:"\f17b"}.uk-icon-linux:before{content:"\f17c"}.uk-icon-dribbble:before{content:"\f17d"}.uk-icon-skype:before{content:"\f17e"}.uk-icon-foursquare:before{content:"\f180"}.uk-icon-trello:before{content:"\f181"}.uk-icon-female:before{content:"\f182"}.uk-icon-male:before{content:"\f183"}.uk-icon-gittip:before,.uk-icon-gratipay:before{content:"\f184"}.uk-icon-sun-o:before{content:"\f185"}.uk-icon-moon-o:before{content:"\f186"}.uk-icon-archive:before{content:"\f187"}.uk-icon-bug:before{content:"\f188"}.uk-icon-vk:before{content:"\f189"}.uk-icon-weibo:before{content:"\f18a"}.uk-icon-renren:before{content:"\f18b"}.uk-icon-pagelines:before{content:"\f18c"}.uk-icon-stack-exchange:before{content:"\f18d"}.uk-icon-arrow-circle-o-right:before{content:"\f18e"}.uk-icon-arrow-circle-o-left:before{content:"\f190"}.uk-icon-caret-square-o-left:before,.uk-icon-toggle-left:before{content:"\f191"}.uk-icon-dot-circle-o:before{content:"\f192"}.uk-icon-wheelchair:before{content:"\f193"}.uk-icon-vimeo-square:before{content:"\f194"}.uk-icon-try:before,.uk-icon-turkish-lira:before{content:"\f195"}.uk-icon-plus-square-o:before{content:"\f196"}.uk-icon-space-shuttle:before{content:"\f197"}.uk-icon-slack:before{content:"\f198"}.uk-icon-envelope-square:before{content:"\f199"}.uk-icon-wordpress:before{content:"\f19a"}.uk-icon-openid:before{content:"\f19b"}.uk-icon-bank:before,.uk-icon-institution:before,.uk-icon-university:before{content:"\f19c"}.uk-icon-graduation-cap:before,.uk-icon-mortar-board:before{content:"\f19d"}.uk-icon-yahoo:before{content:"\f19e"}.uk-icon-google:before{content:"\f1a0"}.uk-icon-reddit:before{content:"\f1a1"}.uk-icon-reddit-square:before{content:"\f1a2"}.uk-icon-stumbleupon-circle:before{content:"\f1a3"}.uk-icon-stumbleupon:before{content:"\f1a4"}.uk-icon-delicious:before{content:"\f1a5"}.uk-icon-digg:before{content:"\f1a6"}.uk-icon-pied-piper:before{content:"\f1a7"}.uk-icon-pied-piper-alt:before{content:"\f1a8"}.uk-icon-drupal:before{content:"\f1a9"}.uk-icon-joomla:before{content:"\f1aa"}.uk-icon-language:before{content:"\f1ab"}.uk-icon-fax:before{content:"\f1ac"}.uk-icon-building:before{content:"\f1ad"}.uk-icon-child:before{content:"\f1ae"}.uk-icon-paw:before{content:"\f1b0"}.uk-icon-spoon:before{content:"\f1b1"}.uk-icon-cube:before{content:"\f1b2"}.uk-icon-cubes:before{content:"\f1b3"}.uk-icon-behance:before{content:"\f1b4"}.uk-icon-behance-square:before{content:"\f1b5"}.uk-icon-steam:before{content:"\f1b6"}.uk-icon-steam-square:before{content:"\f1b7"}.uk-icon-recycle:before{content:"\f1b8"}.uk-icon-automobile:before,.uk-icon-car:before{content:"\f1b9"}.uk-icon-cab:before,.uk-icon-taxi:before{content:"\f1ba"}.uk-icon-tree:before{content:"\f1bb"}.uk-icon-spotify:before{content:"\f1bc"}.uk-icon-deviantart:before{content:"\f1bd"}.uk-icon-soundcloud:before{content:"\f1be"}.uk-icon-database:before{content:"\f1c0"}.uk-icon-file-pdf-o:before{content:"\f1c1"}.uk-icon-file-word-o:before{content:"\f1c2"}.uk-icon-file-excel-o:before{content:"\f1c3"}.uk-icon-file-powerpoint-o:before{content:"\f1c4"}.uk-icon-file-image-o:before,.uk-icon-file-photo-o:before,.uk-icon-file-picture-o:before{content:"\f1c5"}.uk-icon-file-archive-o:before,.uk-icon-file-zip-o:before{content:"\f1c6"}.uk-icon-file-audio-o:before,.uk-icon-file-sound-o:before{content:"\f1c7"}.uk-icon-file-movie-o:before,.uk-icon-file-video-o:before{content:"\f1c8"}.uk-icon-file-code-o:before{content:"\f1c9"}.uk-icon-vine:before{content:"\f1ca"}.uk-icon-codepen:before{content:"\f1cb"}.uk-icon-jsfiddle:before{content:"\f1cc"}.uk-icon-life-bouy:before,.uk-icon-life-buoy:before,.uk-icon-life-ring:before,.uk-icon-life-saver:before,.uk-icon-support:before{content:"\f1cd"}.uk-icon-circle-o-notch:before{content:"\f1ce"}.uk-icon-ra:before,.uk-icon-rebel:before{content:"\f1d0"}.uk-icon-empire:before,.uk-icon-ge:before{content:"\f1d1"}.uk-icon-git-square:before{content:"\f1d2"}.uk-icon-git:before{content:"\f1d3"}.uk-icon-hacker-news:before{content:"\f1d4"}.uk-icon-tencent-weibo:before{content:"\f1d5"}.uk-icon-qq:before{content:"\f1d6"}.uk-icon-wechat:before,.uk-icon-weixin:before{content:"\f1d7"}.uk-icon-paper-plane:before,.uk-icon-send:before{content:"\f1d8"}.uk-icon-paper-plane-o:before,.uk-icon-send-o:before{content:"\f1d9"}.uk-icon-history:before{content:"\f1da"}.uk-icon-circle-thin:before,.uk-icon-genderless:before{content:"\f1db"}.uk-icon-header:before{content:"\f1dc"}.uk-icon-paragraph:before{content:"\f1dd"}.uk-icon-sliders:before{content:"\f1de"}.uk-icon-share-alt:before{content:"\f1e0"}.uk-icon-share-alt-square:before{content:"\f1e1"}.uk-icon-bomb:before{content:"\f1e2"}.uk-icon-futbol-o:before,.uk-icon-soccer-ball-o:before{content:"\f1e3"}.uk-icon-tty:before{content:"\f1e4"}.uk-icon-binoculars:before{content:"\f1e5"}.uk-icon-plug:before{content:"\f1e6"}.uk-icon-slideshare:before{content:"\f1e7"}.uk-icon-twitch:before{content:"\f1e8"}.uk-icon-yelp:before{content:"\f1e9"}.uk-icon-newspaper-o:before{content:"\f1ea"}.uk-icon-wifi:before{content:"\f1eb"}.uk-icon-calculator:before{content:"\f1ec"}.uk-icon-paypal:before{content:"\f1ed"}.uk-icon-google-wallet:before{content:"\f1ee"}.uk-icon-cc-visa:before{content:"\f1f0"}.uk-icon-cc-mastercard:before{content:"\f1f1"}.uk-icon-cc-discover:before{content:"\f1f2"}.uk-icon-cc-amex:before{content:"\f1f3"}.uk-icon-cc-paypal:before{content:"\f1f4"}.uk-icon-cc-stripe:before{content:"\f1f5"}.uk-icon-bell-slash:before{content:"\f1f6"}.uk-icon-bell-slash-o:before{content:"\f1f7"}.uk-icon-trash:before{content:"\f1f8"}.uk-icon-copyright:before{content:"\f1f9"}.uk-icon-at:before{content:"\f1fa"}.uk-icon-eyedropper:before{content:"\f1fb"}.uk-icon-paint-brush:before{content:"\f1fc"}.uk-icon-birthday-cake:before{content:"\f1fd"}.uk-icon-area-chart:before{content:"\f1fe"}.uk-icon-pie-chart:before{content:"\f200"}.uk-icon-line-chart:before{content:"\f201"}.uk-icon-lastfm:before{content:"\f202"}.uk-icon-lastfm-square:before{content:"\f203"}.uk-icon-toggle-off:before{content:"\f204"}.uk-icon-toggle-on:before{content:"\f205"}.uk-icon-bicycle:before{content:"\f206"}.uk-icon-bus:before{content:"\f207"}.uk-icon-ioxhost:before{content:"\f208"}.uk-icon-angellist:before{content:"\f209"}.uk-icon-cc:before{content:"\f20a"}.uk-icon-ils:before,.uk-icon-shekel:before,.uk-icon-sheqel:before{content:"\f20b"}.uk-icon-meanpath:before{content:"\f20c"}.uk-icon-buysellads:before{content:"\f20d"}.uk-icon-connectdevelop:before{content:"\f20e"}.uk-icon-dashcube:before{content:"\f210"}.uk-icon-forumbee:before{content:"\f211"}.uk-icon-leanpub:before{content:"\f212"}.uk-icon-sellsy:before{content:"\f213"}.uk-icon-shirtsinbulk:before{content:"\f214"}.uk-icon-simplybuilt:before{content:"\f215"}.uk-icon-skyatlas:before{content:"\f216"}.uk-icon-cart-plus:before{content:"\f217"}.uk-icon-cart-arrow-down:before{content:"\f218"}.uk-icon-diamond:before{content:"\f219"}.uk-icon-ship:before{content:"\f21a"}.uk-icon-user-secret:before{content:"\f21b"}.uk-icon-motorcycle:before{content:"\f21c"}.uk-icon-street-view:before{content:"\f21d"}.uk-icon-heartbeat:before{content:"\f21e"}.uk-icon-venus:before{content:"\f221"}.uk-icon-mars:before{content:"\f222"}.uk-icon-mercury:before{content:"\f223"}.uk-icon-transgender:before{content:"\f224"}.uk-icon-transgender-alt:before{content:"\f225"}.uk-icon-venus-double:before{content:"\f226"}.uk-icon-mars-double:before{content:"\f227"}.uk-icon-venus-mars:before{content:"\f228"}.uk-icon-mars-stroke:before{content:"\f229"}.uk-icon-mars-stroke-v:before{content:"\f22a"}.uk-icon-mars-stroke-h:before{content:"\f22b"}.uk-icon-neuter:before{content:"\f22c"}.uk-icon-facebook-official:before{content:"\f230"}.uk-icon-pinterest-p:before{content:"\f231"}.uk-icon-whatsapp:before{content:"\f232"}.uk-icon-server:before{content:"\f233"}.uk-icon-user-plus:before{content:"\f234"}.uk-icon-user-times:before{content:"\f235"}.uk-icon-bed:before,.uk-icon-hotel:before{content:"\f236"}.uk-icon-viacoin:before{content:"\f237"}.uk-icon-train:before{content:"\f238"}.uk-icon-subway:before{content:"\f239"}.uk-icon-medium-logo:before{content:"\f23a"}.uk-icon-500px:before{content:"\f26e"}.uk-icon-amazon:before{content:"\f270"}.uk-icon-balance-scale:before{content:"\f24e"}.uk-icon-battery-0:before,.uk-icon-battery-empty:before{content:"\f244"}.uk-icon-battery-1:before,.uk-icon-battery-quarter:before{content:"\f243"}.uk-icon-battery-2:before,.uk-icon-battery-half:before{content:"\f242"}.uk-icon-battery-3:before,.uk-icon-battery-three-quarters:before{content:"\f241"}.uk-icon-battery-4:before,.uk-icon-battery-full:before{content:"\f240"}.uk-icon-black-tie:before{content:"\f27e"}.uk-icon-calendar-check-o:before{content:"\f274"}.uk-icon-calendar-minus-o:before{content:"\f272"}.uk-icon-calendar-plus-o:before{content:"\f271"}.uk-icon-calendar-times-o:before{content:"\f273"}.uk-icon-cc-diners-club:before{content:"\f24c"}.uk-icon-cc-jcb:before{content:"\f24b"}.uk-icon-chrome:before{content:"\f268"}.uk-icon-clone:before{content:"\f24d"}.uk-icon-commenting:before{content:"\f27a"}.uk-icon-commenting-o:before{content:"\f27b"}.uk-icon-contao:before{content:"\f26d"}.uk-icon-creative-commons:before{content:"\f25e"}.uk-icon-expeditedssl:before{content:"\f23e"}.uk-icon-firefox:before{content:"\f269"}.uk-icon-fonticons:before{content:"\f280"}.uk-icon-get-pocket:before{content:"\f265"}.uk-icon-gg:before{content:"\f260"}.uk-icon-gg-circle:before{content:"\f261"}.uk-icon-hand-lizard-o:before{content:"\f258"}.uk-icon-hand-paper-o:before,.uk-icon-hand-stop-o:before{content:"\f256"}.uk-icon-hand-peace-o:before{content:"\f25b"}.uk-icon-hand-pointer-o:before{content:"\f25a"}.uk-icon-hand-grab-o:before,.uk-icon-hand-rock-o:before{content:"\f255"}.uk-icon-hand-scissors-o:before{content:"\f257"}.uk-icon-hand-spock-o:before{content:"\f259"}.uk-icon-hourglass:before{content:"\f254"}.uk-icon-hourglass-o:before{content:"\f250"}.uk-icon-hourglass-1:before,.uk-icon-hourglass-start:before{content:"\f251"}.uk-icon-hourglass-2:before,.uk-icon-hourglass-half:before{content:"\f252"}.uk-icon-hourglass-3:before,.uk-icon-hourglass-end:before{content:"\f253"}.uk-icon-houzz:before{content:"\f27c"}.uk-icon-i-cursor:before{content:"\f246"}.uk-icon-industry:before{content:"\f275"}.uk-icon-internet-explorer:before{content:"\f26b"}.uk-icon-map:before{content:"\f279"}.uk-icon-map-o:before{content:"\f278"}.uk-icon-map-pin:before{content:"\f276"}.uk-icon-map-signs:before{content:"\f277"}.uk-icon-mouse-pointer:before{content:"\f245"}.uk-icon-object-group:before{content:"\f247"}.uk-icon-object-ungroup:before{content:"\f248"}.uk-icon-odnoklassniki:before{content:"\f263"}.uk-icon-odnoklassniki-square:before{content:"\f264"}.uk-icon-opencart:before{content:"\f23d"}.uk-icon-opera:before{content:"\f26a"}.uk-icon-optin-monster:before{content:"\f23c"}.uk-icon-registered:before{content:"\f25d"}.uk-icon-safari:before{content:"\f267"}.uk-icon-sticky-note:before{content:"\f249"}.uk-icon-sticky-note-o:before{content:"\f24a"}.uk-icon-television:before,.uk-icon-tv:before{content:"\f26c"}.uk-icon-trademark:before{content:"\f25c"}.uk-icon-tripadvisor:before{content:"\f262"}.uk-icon-vimeo:before{content:"\f27d"}.uk-icon-wikipedia-w:before{content:"\f266"}.uk-icon-y-combinator:before,.uk-icon-yc:before{content:"\f23b"}.uk-icon-y-combinator-square:before,.uk-icon-yc-square:before{content:"\f1d4"}.uk-icon-bluetooth:before{content:"\f293"}.uk-icon-bluetooth-b:before{content:"\f294"}.uk-icon-codiepie:before{content:"\f284"}.uk-icon-credit-card-alt:before{content:"\f283"}.uk-icon-edge:before{content:"\f282"}.uk-icon-fort-awesome:before{content:"\f286"}.uk-icon-hashtag:before{content:"\f292"}.uk-icon-mixcloud:before{content:"\f289"}.uk-icon-modx:before{content:"\f285"}.uk-icon-pause-circle:before{content:"\f28b"}.uk-icon-pause-circle-o:before{content:"\f28c"}.uk-icon-percent:before{content:"\f295"}.uk-icon-product-hunt:before{content:"\f288"}.uk-icon-reddit-alien:before{content:"\f281"}.uk-icon-scribd:before{content:"\f28a"}.uk-icon-shopping-bag:before{content:"\f290"}.uk-icon-shopping-basket:before{content:"\f291"}.uk-icon-stop-circle:before{content:"\f28d"}.uk-icon-stop-circle-o:before{content:"\f28e"}.uk-icon-usb:before{content:"\f287"}.uk-icon-american-sign-language-interpreting:before,.uk-icon-asl-interpreting:before{content:"\f2a3"}.uk-icon-assistive-listening-systems:before{content:"\f2a2"}.uk-icon-audio-description:before{content:"\f29e"}.uk-icon-blind:before{content:"\f29d"}.uk-icon-braille:before{content:"\f2a1"}.uk-icon-deaf:before,.uk-icon-deafness:before{content:"\f2a4"}.uk-icon-envira:before{content:"\f299"}.uk-icon-fa:before,.uk-icon-font-awesome:before{content:"\f2b4"}.uk-icon-first-order:before{content:"\f2b0"}.uk-icon-gitlab:before{content:"\f296"}.uk-icon-glide:before{content:"\f2a5"}.uk-icon-glide-g:before{content:"\f2a6"}.uk-icon-hard-of-hearing:before{content:"\f2a4"}.uk-icon-low-vision:before{content:"\f2a8"}.uk-icon-question-circle-o:before{content:"\f29c"}.uk-icon-sign-language:before,.uk-icon-signing:before{content:"\f2a7"}.uk-icon-snapchat:before{content:"\f2ab"}.uk-icon-snapchat-ghost:before{content:"\f2ac"}.uk-icon-snapchat-square:before{content:"\f2ad"}.uk-icon-themeisle:before{content:"\f2b2"}.uk-icon-universal-access:before{content:"\f29a"}.uk-icon-viadeo:before{content:"\f2a9"}.uk-icon-viadeo-square:before{content:"\f2aa"}.uk-icon-volume-control-phone:before{content:"\f2a0"}.uk-icon-wheelchair-alt:before{content:"\f29b"}.uk-icon-wpbeginner:before{content:"\f297"}.uk-icon-wpforms:before{content:"\f298"}.uk-icon-yoast:before{content:"\f2b1"}.uk-icon-adress-book:before{content:"\f2b9"}.uk-icon-adress-book-o:before{content:"\f2ba"}.uk-icon-adress-card:before{content:"\f2bb"}.uk-icon-adress-card-o:before{content:"\f2bc"}.uk-icon-bandcamp:before{content:"\f2d5"}.uk-icon-bath:before{content:"\f2cd"}.uk-icon-bathub:before{content:"\f2cd"}.uk-icon-drivers-license:before{content:"\f2c2"}.uk-icon-drivers-license-o:before{content:"\f2c3"}.uk-icon-eercast:before{content:"\f2da"}.uk-icon-envelope-open:before{content:"\f2b6"}.uk-icon-envelope-open-o:before{content:"\f2b7"}.uk-icon-etsy:before{content:"\f2d7"}.uk-icon-free-code-camp:before{content:"\f2c5"}.uk-icon-grav:before{content:"\f2d6"}.uk-icon-handshake-o:before{content:"\f2b5"}.uk-icon-id-badge:before{content:"\f2c1"}.uk-icon-id-card:before{content:"\f2c2"}.uk-icon-id-card-o:before{content:"\f2c3"}.uk-icon-imdb:before{content:"\f2d8"}.uk-icon-linode:before{content:"\f2b8"}.uk-icon-meetup:before{content:"\f2e0"}.uk-icon-microchip:before{content:"\f2db"}.uk-icon-podcast:before{content:"\f2ce"}.uk-icon-quora:before{content:"\f2c4"}.uk-icon-ravelry:before{content:"\f2d9"}.uk-icon-s15:before{content:"\f2cd"}.uk-icon-shower:before{content:"\f2cc"}.uk-icon-snowflake-o:before{content:"\f2dc"}.uk-icon-superpowers:before{content:"\f2dd"}.uk-icon-telegram:before{content:"\f2c6"}.uk-icon-thermometer:before{content:"\f2c7"}.uk-icon-thermometer-0:before{content:"\f2cb"}.uk-icon-thermometer-1:before{content:"\f2ca"}.uk-icon-thermometer-2:before{content:"\f2c9"}.uk-icon-thermometer-3:before{content:"\f2c8"}.uk-icon-thermometer-4:before{content:"\f2c7"}.uk-icon-thermometer-empty:before{content:"\f2cb"}.uk-icon-thermometer-full:before{content:"\f2c7"}.uk-icon-thermometer-half:before{content:"\f2c9"}.uk-icon-thermometer-quarter:before{content:"\f2ca"}.uk-icon-thermometer-three-quarters:before{content:"\f2c8"}.uk-icon-times-rectangle:before{content:"\f2d3"}.uk-icon-times-rectangle-o:before{content:"\f2d4"}.uk-icon-user-circle:before{content:"\f2bd"}.uk-icon-user-circle-o:before{content:"\f2be"}.uk-icon-user-o:before{content:"\f2c0"}.uk-icon-vcard:before{content:"\f2bb"}.uk-icon-vcard-o:before{content:"\f2bc"}.uk-icon-widow-close:before{content:"\f2d3"}.uk-icon-widow-close-o:before{content:"\f2d4"}.uk-icon-window-maximize:before{content:"\f2d0"}.uk-icon-window-minimize:before{content:"\f2d1"}.uk-icon-window-restore:before{content:"\f2d2"}.uk-icon-wpexplorer:before{content:"\f2de"}.uk-close::-moz-focus-inner{border:0;padding:0}.uk-close{-webkit-appearance:none;margin:0;border:none;overflow:visible;font:inherit;color:inherit;text-transform:none;padding:0;background:0 0;display:inline-block;box-sizing:content-box;width:20px;line-height:20px;text-align:center;vertical-align:middle;opacity:.3}.uk-close:after{display:block;content:"\f00d";font-family:FontAwesome}.uk-close:focus,.uk-close:hover{opacity:.5;outline:0;color:inherit;text-decoration:none;cursor:pointer}.uk-close-alt{padding:2px;border-radius:50%;background:#eee;opacity:1}.uk-close-alt:focus,.uk-close-alt:hover{opacity:1}.uk-close-alt:after{opacity:.5}.uk-close-alt:focus:after,.uk-close-alt:hover:after{opacity:.8}.uk-badge{display:inline-block;padding:0 5px;background:#00a8e6;font-size:10px;font-weight:700;line-height:14px;color:#fff;text-align:center;vertical-align:middle;text-transform:none}a.uk-badge:hover{color:#fff}.uk-badge-notification{box-sizing:border-box;min-width:18px;border-radius:500px;font-size:12px;line-height:18px}.uk-badge-success{background-color:#8cc14c}.uk-badge-warning{background-color:#faa732}.uk-badge-danger{background-color:#da314b}.uk-alert{margin-bottom:15px;padding:10px;background:#ebf7fd;color:#2d7091}*+.uk-alert{margin-top:15px}.uk-alert>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6{color:inherit}.uk-alert>.uk-close:first-child{float:right}.uk-alert>.uk-close:first-child+*{margin-top:0}.uk-alert-success{background:#f2fae3;color:#659f13}.uk-alert-warning{background:#fffceb;color:#e28327}.uk-alert-danger{background:#fff1f0;color:#d85030}.uk-alert-large{padding:20px}.uk-alert-large>.uk-close:first-child{margin:-10px -10px 0 0}.uk-thumbnail{display:inline-block;max-width:100%;box-sizing:border-box;margin:0;padding:4px;border:1px solid #ddd;background:#fff}a.uk-thumbnail:focus,a.uk-thumbnail:hover{border-color:#aaa;background-color:#fff;text-decoration:none;outline:0}.uk-thumbnail-caption{padding-top:4px;text-align:center;color:#444}.uk-thumbnail-mini{width:150px}.uk-thumbnail-small{width:200px}.uk-thumbnail-medium{width:300px}.uk-thumbnail-large{width:400px}.uk-thumbnail-expand,.uk-thumbnail-expand>img{width:100%}.uk-overlay{display:inline-block;position:relative;max-width:100%;vertical-align:middle;overflow:hidden;-webkit-transform:translateZ(0);margin:0}.uk-overlay.uk-border-circle{-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.uk-overlay>:first-child{margin-bottom:0}.uk-overlay-panel{position:absolute;top:0;bottom:0;left:0;right:0;padding:20px;color:#fff}.uk-overlay-panel.uk-flex>*>:last-child,.uk-overlay-panel>:last-child{margin-bottom:0}.uk-overlay-panel h1,.uk-overlay-panel h2,.uk-overlay-panel h3,.uk-overlay-panel h4,.uk-overlay-panel h5,.uk-overlay-panel h6{color:inherit}.uk-overlay-panel a:not([class]){color:inherit;text-decoration:underline}.uk-overlay-panel a[class*=uk-icon-]:not(.uk-icon-button){color:inherit}.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-active :not(.uk-active)>.uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-background{background:rgba(0,0,0,.5)}.uk-overlay-image{padding:0}.uk-overlay-top{bottom:auto}.uk-overlay-bottom{top:auto}.uk-overlay-left{right:auto}.uk-overlay-right{left:auto}.uk-overlay-icon:before{content:"\f002";position:absolute;top:50%;left:50%;width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;font-family:FontAwesome;text-align:center;color:#fff}.uk-overlay-blur,.uk-overlay-fade,.uk-overlay-grayscale,.uk-overlay-scale,.uk-overlay-spin,[class*=uk-overlay-slide]{transition-duration:.3s;transition-timing-function:ease-out;transition-property:opacity,transform,filter}.uk-overlay-active .uk-overlay-fade,.uk-overlay-active .uk-overlay-scale,.uk-overlay-active .uk-overlay-spin,.uk-overlay-active [class*=uk-overlay-slide]{transition-duration:.8s}.uk-overlay-fade{opacity:.7}.uk-overlay-active .uk-active>.uk-overlay-fade,.uk-overlay-hover.uk-hover .uk-overlay-fade,.uk-overlay-hover:hover .uk-overlay-fade{opacity:1}.uk-overlay-scale{-webkit-transform:scale(1);transform:scale(1)}.uk-overlay-active .uk-active>.uk-overlay-scale,.uk-overlay-hover.uk-hover .uk-overlay-scale,.uk-overlay-hover:hover .uk-overlay-scale{-webkit-transform:scale(1.1);transform:scale(1.1)}.uk-overlay-spin{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}.uk-overlay-active .uk-active>.uk-overlay-spin,.uk-overlay-hover.uk-hover .uk-overlay-spin,.uk-overlay-hover:hover .uk-overlay-spin{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}.uk-overlay-grayscale{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.uk-overlay-active .uk-active>.uk-overlay-grayscale,.uk-overlay-hover.uk-hover .uk-overlay-grayscale,.uk-overlay-hover:hover .uk-overlay-grayscale{-webkit-filter:grayscale(0);filter:grayscale(0)}[class*=uk-overlay-slide]{opacity:0}.uk-overlay-slide-top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.uk-overlay-slide-bottom{-webkit-transform:translateY(100%);transform:translateY(100%)}.uk-overlay-slide-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.uk-overlay-slide-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-overlay-active .uk-active>[class*=uk-overlay-slide],.uk-overlay-hover.uk-hover [class*=uk-overlay-slide],.uk-overlay-hover:hover [class*=uk-overlay-slide]{opacity:1;-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}.uk-overlay-area{position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,.3);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;-webkit-transform:translate3d(0,0,0)}.uk-overlay-toggle.uk-hover .uk-overlay-area,.uk-overlay-toggle:hover .uk-overlay-area,.uk-overlay.uk-hover .uk-overlay-area,.uk-overlay:hover .uk-overlay-area{opacity:1}.uk-overlay-area:empty:before{content:"\f002";position:absolute;top:50%;left:50%;width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;font-family:FontAwesome;text-align:center;color:#fff}.uk-overlay-area:not(:empty){font-size:0}.uk-overlay-area:not(:empty):before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-overlay-area-content{display:inline-block;box-sizing:border-box;width:100%;vertical-align:middle;font-size:1rem;text-align:center;padding:0 15px;color:#fff}.uk-overlay-area-content>:last-child{margin-bottom:0}.uk-overlay-area-content a:not([class]),.uk-overlay-area-content a:not([class]):hover{color:inherit}.uk-overlay-caption{position:absolute;bottom:0;left:0;right:0;padding:15px;background:rgba(0,0,0,.5);color:#fff;opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;-webkit-transform:translate3d(0,0,0)}.uk-overlay-toggle.uk-hover .uk-overlay-caption,.uk-overlay-toggle:hover .uk-overlay-caption,.uk-overlay.uk-hover .uk-overlay-caption,.uk-overlay:hover .uk-overlay-caption{opacity:1}[class*=uk-column-]{-webkit-column-gap:25px;-moz-column-gap:25px;column-gap:25px}.uk-column-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}@media (min-width:480px){.uk-column-small-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-small-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-small-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-small-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-small-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:768px){.uk-column-medium-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-medium-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-medium-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-medium-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-medium-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:960px){.uk-column-large-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-large-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-large-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-large-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-large-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:1220px){.uk-column-xlarge-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-xlarge-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-xlarge-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-xlarge-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-xlarge-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}[class*=uk-animation-]{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@media screen{[data-uk-scrollspy*=uk-animation-]:not([data-uk-scrollspy*=target]){opacity:0}}.uk-animation-fade{-webkit-animation-name:uk-fade;animation-name:uk-fade;-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-timing-function:linear!important;animation-timing-function:linear!important}.uk-animation-scale-up{-webkit-animation-name:uk-fade-scale-02;animation-name:uk-fade-scale-02}.uk-animation-scale-down{-webkit-animation-name:uk-fade-scale-18;animation-name:uk-fade-scale-18}.uk-animation-slide-top{-webkit-animation-name:uk-fade-top;animation-name:uk-fade-top}.uk-animation-slide-bottom{-webkit-animation-name:uk-fade-bottom;animation-name:uk-fade-bottom}.uk-animation-slide-left{-webkit-animation-name:uk-fade-left;animation-name:uk-fade-left}.uk-animation-slide-right{-webkit-animation-name:uk-fade-right;animation-name:uk-fade-right}.uk-animation-scale{-webkit-animation-name:uk-scale-12;animation-name:uk-scale-12}.uk-animation-shake{-webkit-animation-name:uk-shake;animation-name:uk-shake}.uk-animation-reverse{-webkit-animation-direction:reverse;animation-direction:reverse;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}.uk-animation-15{-webkit-animation-duration:15s;animation-duration:15s}.uk-animation-top-left{-webkit-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.uk-animation-hover:not(:hover),.uk-animation-hover:not(:hover) [class*=uk-animation-],.uk-touch .uk-animation-hover:not(.uk-hover),.uk-touch .uk-animation-hover:not(.uk-hover) [class*=uk-animation-]{-webkit-animation-name:none;animation-name:none}@-webkit-keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes uk-fade-top{0%{opacity:0;-webkit-transform:translateY(-100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-top{0%{opacity:0;transform:translateY(-100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-bottom{0%{opacity:0;-webkit-transform:translateY(100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-bottom{0%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-left{0%{opacity:0;-webkit-transform:translateX(-100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-left{0%{opacity:0;transform:translateX(-100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-right{0%{opacity:0;-webkit-transform:translateX(100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-right{0%{opacity:0;transform:translateX(100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(.2)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-02{0%{opacity:0;transform:scale(.2)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-15{0%{opacity:0;-webkit-transform:scale(1.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-15{0%{opacity:0;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-18{0%{opacity:0;-webkit-transform:scale(1.8)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-18{0%{opacity:0;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-left-33{0%{-webkit-transform:translateX(33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left-33{0%{transform:translateX(33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right-33{0%{-webkit-transform:translateX(-33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right-33{0%{transform:translateX(-33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{transform:scale(1.2)}100%{transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}@-webkit-keyframes uk-shake{0%,100%{-webkit-transform:translateX(0)}10%{-webkit-transform:translateX(-9px)}20%{-webkit-transform:translateX(8px)}30%{-webkit-transform:translateX(-7px)}40%{-webkit-transform:translateX(6px)}50%{-webkit-transform:translateX(-5px)}60%{-webkit-transform:translateX(4px)}70%{-webkit-transform:translateX(-3px)}80%{-webkit-transform:translateX(2px)}90%{-webkit-transform:translateX(-1px)}}@keyframes uk-shake{0%,100%{transform:translateX(0)}10%{transform:translateX(-9px)}20%{transform:translateX(8px)}30%{transform:translateX(-7px)}40%{transform:translateX(6px)}50%{transform:translateX(-5px)}60%{transform:translateX(4px)}70%{transform:translateX(-3px)}80%{transform:translateX(2px)}90%{transform:translateX(-1px)}}@-webkit-keyframes uk-slide-top-fixed{0%{opacity:0;-webkit-transform:translateY(-10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-top-fixed{0%{opacity:0;transform:translateY(-10px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-slide-bottom-fixed{0%{opacity:0;-webkit-transform:translateY(10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-bottom-fixed{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.uk-dropdown,.uk-dropdown-blank{display:none;position:absolute;z-index:1020;box-sizing:border-box;width:200px}.uk-dropdown{padding:15px;background:#f5f5f5;color:#444;font-size:1rem;vertical-align:top}.uk-dropdown:focus{outline:0}.uk-open>.uk-dropdown,.uk-open>.uk-dropdown-blank{display:block;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-dropdown-top{margin-top:-5px}.uk-dropdown-bottom{margin-top:5px}.uk-dropdown-left{margin-left:-5px}.uk-dropdown-right{margin-left:5px}.uk-dropdown .uk-nav{margin:0 -15px}.uk-grid .uk-dropdown-grid+.uk-dropdown-grid{margin-top:15px}.uk-dropdown-grid>[class*=uk-width-]>.uk-panel+.uk-panel{margin-top:15px}@media (min-width:768px){.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid{margin-left:-15px;margin-right:-15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]{padding-left:15px;padding-right:15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){border-left:1px solid #ddd}.uk-dropdown-width-2:not(.uk-dropdown-stack){width:400px}.uk-dropdown-width-3:not(.uk-dropdown-stack){width:600px}.uk-dropdown-width-4:not(.uk-dropdown-stack){width:800px}.uk-dropdown-width-5:not(.uk-dropdown-stack){width:1000px}}@media (max-width:767px){.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){margin-top:15px}}.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){margin-top:15px}.uk-dropdown-small{min-width:150px;width:auto;padding:5px;white-space:nowrap}.uk-dropdown-small .uk-nav{margin:0 -5px}.uk-dropdown-navbar{margin-top:0;background:#f5f5f5;color:#444}.uk-open>.uk-dropdown-navbar{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-dropdown-scrollable{overflow-y:auto;max-height:200px}.uk-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1010;overflow-y:auto;-webkit-overflow-scrolling:touch;background:rgba(0,0,0,.6);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;touch-action:cross-slide-y pinch-zoom double-tap-zoom;-webkit-transform:translateZ(0);transform:translateZ(0)}.uk-modal.uk-open{opacity:1}.uk-modal-page,.uk-modal-page body{overflow:hidden}.uk-modal-dialog{position:relative;box-sizing:border-box;margin:50px auto;padding:20px;width:600px;max-width:100%;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-transform:translateY(-100px);transform:translateY(-100px);-webkit-transition:opacity .3s linear,-webkit-transform .3s ease-out;transition:opacity .3s linear,transform .3s ease-out}@media (max-width:767px){.uk-modal-dialog{width:auto;margin:10px auto}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:not([class*=uk-modal-]):last-child{margin-bottom:0}.uk-modal-dialog>.uk-close:first-child{margin:-10px -10px 0 0;float:right}.uk-modal-dialog>.uk-close:first-child+:not([class*=uk-modal-]){margin-top:0}.uk-modal-dialog-lightbox{margin:15px auto;padding:0;max-width:95%;max-width:calc(100% - 30px);min-height:50px}.uk-modal-dialog-lightbox>.uk-close:first-child{position:absolute;top:-12px;right:-12px;margin:0;float:none}@media (max-width:767px){.uk-modal-dialog-lightbox>.uk-close:first-child{top:-7px;right:-7px}}.uk-modal-dialog-blank{margin:0;padding:0;width:100%;max-width:100%;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.uk-modal-dialog-blank>.uk-close:first-child{position:absolute;top:20px;right:20px;z-index:1;margin:0;float:none}@media (min-width:768px){.uk-modal-dialog-large{width:930px}}@media (min-width:1220px){.uk-modal-dialog-large{width:1130px}}.uk-modal-header{margin-bottom:15px}.uk-modal-footer{margin-top:15px}.uk-modal-footer>:last-child,.uk-modal-header>:last-child{margin-bottom:0}.uk-modal-caption{position:absolute;left:0;right:0;bottom:-20px;margin-bottom:-10px;color:#fff;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-modal-spinner{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:25px;color:#ddd}.uk-modal-spinner:after{content:"\f110";display:block;font-family:FontAwesome;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-offcanvas{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;touch-action:none;background:rgba(0,0,0,.1)}.uk-offcanvas.uk-active{display:block}.uk-offcanvas-page{position:fixed;-webkit-transition:margin-left .3s ease-in-out;transition:margin-left .3s ease-in-out;margin-left:0}.uk-offcanvas-bar{position:fixed;top:0;bottom:0;left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);z-index:1001;width:270px;max-width:100%;background:#333;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-ms-scroll-chaining:none}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0);transform:translateX(0)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas-bar[mode=none]{-webkit-transition:none;transition:none}.uk-offcanvas-bar[mode=reveal]{-webkit-transform:translateX(0);transform:translateX(0);clip:rect(0,0,100vh,0);-webkit-transition:-webkit-transform .3s ease-in-out,clip .3s ease-in-out;transition:transform .3s ease-in-out,clip .3s ease-in-out}.uk-offcanvas-bar-flip[mode=reveal]{clip:none;-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas-bar-flip[mode=reveal]>*{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.uk-offcanvas.uk-active .uk-offcanvas-bar-flip[mode=reveal].uk-offcanvas-bar-show>*{-webkit-transform:translateX(0);transform:translateX(0)}.uk-offcanvas .uk-panel{margin:20px 15px;color:#777}.uk-offcanvas .uk-panel-title{color:#ccc}.uk-offcanvas .uk-panel a:not([class]){color:#ccc}.uk-offcanvas .uk-panel a:not([class]):hover{color:#fff}.uk-switcher{margin:0;padding:0;list-style:none;touch-action:cross-slide-y pinch-zoom double-tap-zoom}.uk-switcher>:not(.uk-active){display:none}.uk-text-small{font-size:11px;line-height:16px}.uk-text-large{font-size:18px;line-height:24px;font-weight:400}.uk-text-bold{font-weight:700}.uk-text-muted{color:#999!important}.uk-text-primary{color:#2d7091!important}.uk-text-success{color:#659f13!important}.uk-text-warning{color:#e28327!important}.uk-text-danger{color:#d85030!important}.uk-text-contrast{color:#fff!important}.uk-text-left{text-align:left!important}.uk-text-right{text-align:right!important}.uk-text-center{text-align:center!important}.uk-text-justify{text-align:justify!important}.uk-text-top{vertical-align:top!important}.uk-text-middle{vertical-align:middle!important}.uk-text-bottom{vertical-align:bottom!important}@media (max-width:959px){.uk-text-center-medium{text-align:center!important}.uk-text-left-medium{text-align:left!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}.uk-text-left-small{text-align:left!important}}.uk-text-nowrap{white-space:nowrap}.uk-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-text-break{word-wrap:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.uk-text-capitalize{text-transform:capitalize!important}.uk-text-lowercase{text-transform:lowercase!important}.uk-text-uppercase{text-transform:uppercase!important}.uk-container{box-sizing:border-box;max-width:980px;padding:0 25px}@media (min-width:1220px){.uk-container{max-width:1200px;padding:0 35px}}.uk-container:after,.uk-container:before{content:"";display:table}.uk-container:after{clear:both}.uk-container-center{margin-left:auto;margin-right:auto}.uk-clearfix:before{content:"";display:table-cell}.uk-clearfix:after{content:"";display:table;clear:both}.uk-nbfc{overflow:hidden}.uk-nbfc-alt{display:table-cell;width:10000px}.uk-float-left{float:left}.uk-float-right{float:right}[class*=uk-float-]{max-width:100%}[class*=uk-align-]{display:block;margin-bottom:15px}.uk-align-left{margin-right:15px;float:left}.uk-align-right{margin-left:15px;float:right}@media (min-width:768px){.uk-align-medium-left{margin-right:15px;float:left}.uk-align-medium-right{margin-left:15px;float:right}}.uk-align-center{margin-left:auto;margin-right:auto}.uk-vertical-align{font-size:0}.uk-vertical-align:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-vertical-align-bottom,.uk-vertical-align-middle{display:inline-block;max-width:100%;font-size:1rem}.uk-vertical-align-middle{vertical-align:middle}.uk-vertical-align-bottom{vertical-align:bottom}[class*=uk-height]{box-sizing:border-box}.uk-height-1-1{height:100%}.uk-height-viewport{height:100vh;min-height:600px}.uk-responsive-height,.uk-responsive-width{box-sizing:border-box}.uk-responsive-width{max-width:100%!important;height:auto}.uk-responsive-height{max-height:100%;width:auto}.uk-margin{margin-bottom:15px}*+.uk-margin{margin-top:15px}.uk-margin-top{margin-top:15px!important}.uk-margin-bottom{margin-bottom:15px!important}.uk-margin-left{margin-left:15px!important}.uk-margin-right{margin-right:15px!important}.uk-margin-large{margin-bottom:50px}*+.uk-margin-large{margin-top:50px}.uk-margin-large-top{margin-top:50px!important}.uk-margin-large-bottom{margin-bottom:50px!important}.uk-margin-large-left{margin-left:50px!important}.uk-margin-large-right{margin-right:50px!important}.uk-margin-small{margin-bottom:5px}*+.uk-margin-small{margin-top:5px}.uk-margin-small-top{margin-top:5px!important}.uk-margin-small-bottom{margin-bottom:5px!important}.uk-margin-small-left{margin-left:5px!important}.uk-margin-small-right{margin-right:5px!important}.uk-margin-remove{margin:0!important}.uk-margin-top-remove{margin-top:0!important}.uk-margin-bottom-remove{margin-bottom:0!important}.uk-padding-remove{padding:0!important}.uk-padding-top-remove{padding-top:0!important}.uk-padding-bottom-remove{padding-bottom:0!important}.uk-padding-vertical-remove{padding-top:0!important;padding-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}.uk-heading-large{font-size:36px;line-height:42px}@media (min-width:768px){.uk-heading-large{font-size:52px;line-height:64px}}.uk-link-muted,.uk-link-muted a{color:#444}.uk-link-muted a:hover,.uk-link-muted:hover{color:#444}.uk-link-reset,.uk-link-reset a,.uk-link-reset a:focus,.uk-link-reset a:hover,.uk-link-reset:focus,.uk-link-reset:hover{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll;-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box{box-sizing:border-box;height:170px;padding:10px;border:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box>:last-child{margin-bottom:0}.uk-overflow-hidden{overflow:hidden}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-overflow-container>:last-child{margin-bottom:0}.uk-position-absolute,[class*=uk-position-top],[class*=uk-position-bottom]{position:absolute!important}.uk-position-top{top:0;left:0;right:0}.uk-position-bottom{bottom:0;left:0;right:0}.uk-position-top-left{top:0;left:0}.uk-position-top-right{top:0;right:0}.uk-position-bottom-left{bottom:0;left:0}.uk-position-bottom-right{bottom:0;right:0}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-position-relative{position:relative!important}.uk-position-z-index{z-index:1}.uk-display-block{display:block!important}.uk-display-inline{display:inline!important}.uk-display-inline-block{display:inline-block!important;max-width:100%}@media (min-width:960px){.uk-visible-small{display:none!important}.uk-visible-medium{display:none!important}.uk-hidden-large{display:none!important}}@media (min-width:768px) and (max-width:959px){.uk-visible-small{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-medium{display:none!important}}@media (max-width:767px){.uk-visible-medium{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-small{display:none!important}}.uk-hidden{display:none!important;visibility:hidden!important}.uk-invisible{visibility:hidden!important}.uk-visible-hover:hover .uk-hidden,.uk-visible-hover:hover .uk-invisible{display:block!important;visibility:visible!important}.uk-visible-hover-inline:hover .uk-hidden,.uk-visible-hover-inline:hover .uk-invisible{display:inline-block!important;visibility:visible!important}.uk-notouch .uk-hidden-notouch,.uk-touch .uk-hidden-touch{display:none!important}.uk-flex{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-flex-inline{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.uk-flex-inline>*,.uk-flex>*{-ms-flex-negative:1}.uk-flex-top{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.uk-flex-middle{-ms-flex-align:center;-webkit-align-items:center;align-items:center}.uk-flex-bottom{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.uk-flex-center{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.uk-flex-right{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.uk-flex-space-between{-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.uk-flex-space-around{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.uk-flex-row-reverse{-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.uk-flex-column{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-flex-column-reverse{-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}.uk-flex-nowrap{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.uk-flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.uk-flex-wrap-top{-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start}.uk-flex-wrap-middle{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.uk-flex-wrap-bottom{-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end}.uk-flex-wrap-space-between{-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between}.uk-flex-wrap-space-around{-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around}.uk-flex-order-first{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last{-ms-flex-order:99;-webkit-order:99;order:99}@media (min-width:480px){.uk-flex-order-first-small{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-small{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:768px){.uk-flex-order-first-medium{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-medium{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:960px){.uk-flex-order-first-large{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-large{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:1220px){.uk-flex-order-first-xlarge{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-xlarge{-ms-flex-order:99;-webkit-order:99;order:99}}.uk-flex-item-none{-ms-flex:none;-webkit-flex:none;flex:none}.uk-flex-item-auto{-ms-flex:auto;-webkit-flex:auto;flex:auto;-ms-flex-negative:1}.uk-flex-item-1{-ms-flex:1;-webkit-flex:1;flex:1}.uk-contrast{color:#fff}.uk-contrast .uk-link,.uk-contrast a:not([class]){color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-link:hover,.uk-contrast a:not([class]):hover{color:#fff;text-decoration:underline}.uk-contrast :not(pre)>code,.uk-contrast :not(pre)>kbd,.uk-contrast :not(pre)>samp{color:#fff}.uk-contrast em{color:#fff}.uk-contrast h1,.uk-contrast h2,.uk-contrast h3,.uk-contrast h4,.uk-contrast h5,.uk-contrast h6{color:#fff}.uk-contrast hr{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-nav li>a,.uk-contrast .uk-nav li>a:hover{text-decoration:none}.uk-contrast .uk-nav-side>li>a{color:#fff}.uk-contrast .uk-nav-side>li>a:focus,.uk-contrast .uk-nav-side>li>a:hover{background:rgba(255,255,255,.1);color:#fff}.uk-contrast .uk-nav-side>li.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-nav-side .uk-nav-header{color:#fff}.uk-contrast .uk-nav-side .uk-nav-divider{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-nav-side ul a{color:rgba(255,255,255,.7)}.uk-contrast .uk-nav-side ul a:hover{color:#fff}.uk-contrast .uk-subnav>*>a{color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-subnav>*>a:focus,.uk-contrast .uk-subnav>*>a:hover{color:#fff;text-decoration:none}.uk-contrast .uk-subnav>.uk-active>a{color:#fff}.uk-contrast .uk-subnav-line>:nth-child(n+2):before{border-left-color:rgba(255,255,255,.2)}.uk-contrast .uk-subnav-pill>*>a:focus,.uk-contrast .uk-subnav-pill>*>a:hover{background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-subnav-pill>.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-tab{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-tab>li>a{border-color:transparent;color:rgba(255,255,255,.7)}.uk-contrast .uk-tab>li.uk-open>a,.uk-contrast .uk-tab>li>a:focus,.uk-contrast .uk-tab>li>a:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-tab>li.uk-active>a{border-color:rgba(255,255,255,.2);border-bottom-color:transparent;background:#fff;color:#444}.uk-contrast .uk-tab-center{border-bottom-color:rgba(255,255,255,.2)}.uk-contrast .uk-tab-grid:before{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-list-line>li:nth-child(n+2){border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-form input:not([type]),.uk-contrast .uk-form input[type=text],.uk-contrast .uk-form input[type=password],.uk-contrast .uk-form input[type=email],.uk-contrast .uk-form input[type=url],.uk-contrast .uk-form input[type=search],.uk-contrast .uk-form input[type=tel],.uk-contrast .uk-form input[type=number],.uk-contrast .uk-form input[type=datetime],.uk-contrast .uk-form input[type=datetime-local],.uk-contrast .uk-form input[type=date],.uk-contrast .uk-form input[type=month],.uk-contrast .uk-form input[type=time],.uk-contrast .uk-form input[type=week],.uk-contrast .uk-form input[type=color],.uk-contrast .uk-form select,.uk-contrast .uk-form textarea{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.8);color:#444;background-clip:padding-box}.uk-contrast .uk-form input:not([type]):focus,.uk-contrast .uk-form input[type=text]:focus,.uk-contrast .uk-form input[type=password]:focus,.uk-contrast .uk-form input[type=email]:focus,.uk-contrast .uk-form input[type=url]:focus,.uk-contrast .uk-form input[type=search]:focus,.uk-contrast .uk-form input[type=tel]:focus,.uk-contrast .uk-form input[type=number]:focus,.uk-contrast .uk-form input[type=datetime]:focus,.uk-contrast .uk-form input[type=datetime-local]:focus,.uk-contrast .uk-form input[type=date]:focus,.uk-contrast .uk-form input[type=month]:focus,.uk-contrast .uk-form input[type=time]:focus,.uk-contrast .uk-form input[type=week]:focus,.uk-contrast .uk-form input[type=color]:focus,.uk-contrast .uk-form select:focus,.uk-contrast .uk-form textarea:focus{border-color:#fff;background:#fff;color:#444}.uk-contrast .uk-form :-ms-input-placeholder{color:rgba(68,68,68,.7)!important}.uk-contrast .uk-form ::-moz-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-form ::-webkit-input-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-button{color:#444;background:#fff}.uk-contrast .uk-button:focus,.uk-contrast .uk-button:hover{background-color:rgba(255,255,255,.8);color:#444}.uk-contrast .uk-button.uk-active,.uk-contrast .uk-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-button-primary{background-color:#00a8e6;color:#fff}.uk-contrast .uk-button-primary:focus,.uk-contrast .uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-contrast .uk-button-primary.uk-active,.uk-contrast .uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-contrast .uk-icon-hover{color:rgba(255,255,255,.7)}.uk-contrast .uk-icon-hover:hover{color:#fff}.uk-contrast .uk-icon-button{background:#fff;color:#444}.uk-contrast .uk-icon-button:focus,.uk-contrast .uk-icon-button:hover{background-color:rgba(255,255,255,.8);color:#444}.uk-contrast .uk-icon-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-text-muted{color:rgba(255,255,255,.6)!important}.uk-contrast .uk-text-primary{color:#2d7091!important}@media print{*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}} \ No newline at end of file diff --git a/bower_components/uikit/fonts/FontAwesome.otf b/bower_components/uikit/fonts/FontAwesome.otf new file mode 100644 index 0000000..401ec0f Binary files /dev/null and b/bower_components/uikit/fonts/FontAwesome.otf differ diff --git a/bower_components/uikit/fonts/fontawesome-webfont.ttf b/bower_components/uikit/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/bower_components/uikit/fonts/fontawesome-webfont.ttf differ diff --git a/bower_components/uikit/fonts/fontawesome-webfont.woff b/bower_components/uikit/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..400014a Binary files /dev/null and b/bower_components/uikit/fonts/fontawesome-webfont.woff differ diff --git a/bower_components/uikit/fonts/fontawesome-webfont.woff2 b/bower_components/uikit/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/bower_components/uikit/fonts/fontawesome-webfont.woff2 differ diff --git a/bower_components/uikit/js/components/accordion.js b/bower_components/uikit/js/components/accordion.js new file mode 100644 index 0000000..13716aa --- /dev/null +++ b/bower_components/uikit/js/components/accordion.js @@ -0,0 +1,180 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-accordion', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } +})(function(UI){ + + "use strict"; + + UI.component('accordion', { + + defaults: { + showfirst : true, + collapse : true, + animate : true, + easing : 'swing', + duration : 300, + toggle : '.uk-accordion-title', + containers : '.uk-accordion-content', + clsactive : 'uk-active' + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + setTimeout(function(){ + + UI.$('[data-uk-accordion]', context).each(function(){ + + var ele = UI.$(this); + + if (!ele.data('accordion')) { + UI.accordion(ele, UI.Utils.options(ele.attr('data-uk-accordion'))); + } + }); + + }, 0); + }); + }, + + init: function() { + + var $this = this; + + this.element.on('click.uk.accordion', this.options.toggle, function(e) { + + e.preventDefault(); + + $this.toggleItem(UI.$(this).data('wrapper'), $this.options.animate, $this.options.collapse); + }); + + this.update(true); + + UI.domObserve(this.element, function(e) { + if ($this.element.children($this.options.containers).length) { + $this.update(); + } + }); + }, + + toggleItem: function(wrapper, animated, collapse) { + + var $this = this; + + wrapper.data('toggle').toggleClass(this.options.clsactive); + wrapper.data('content').toggleClass(this.options.clsactive); + + var active = wrapper.data('toggle').hasClass(this.options.clsactive); + + if (collapse) { + this.toggle.not(wrapper.data('toggle')).removeClass(this.options.clsactive); + this.content.not(wrapper.data('content')).removeClass(this.options.clsactive) + .parent().stop().css('overflow', 'hidden').animate({ height: 0 }, {easing: this.options.easing, duration: animated ? this.options.duration : 0}).attr('aria-expanded', 'false'); + } + + wrapper.stop().css('overflow', 'hidden'); + + if (animated) { + + wrapper.animate({ height: active ? getHeight(wrapper.data('content')) : 0 }, {easing: this.options.easing, duration: this.options.duration, complete: function() { + + if (active) { + wrapper.css({'overflow': '', 'height': 'auto'}); + UI.Utils.checkDisplay(wrapper.data('content')); + } + + $this.trigger('display.uk.check'); + }}); + + } else { + + wrapper.height(active ? 'auto' : 0); + + if (active) { + wrapper.css({'overflow': ''}); + UI.Utils.checkDisplay(wrapper.data('content')); + } + + this.trigger('display.uk.check'); + } + + // Update ARIA + wrapper.attr('aria-expanded', active); + + this.element.trigger('toggle.uk.accordion', [active, wrapper.data('toggle'), wrapper.data('content')]); + }, + + update: function(init) { + + var $this = this, $content, $wrapper, $toggle; + + this.toggle = this.find(this.options.toggle); + this.content = this.find(this.options.containers); + + this.content.each(function(index) { + + $content = UI.$(this); + + if ($content.parent().data('wrapper')) { + $wrapper = $content.parent(); + } else { + $wrapper = UI.$(this).wrap('
    ').parent(); + + // Init ARIA + $wrapper.attr('aria-expanded', 'false'); + } + + $toggle = $this.toggle.eq(index); + + $wrapper.data('toggle', $toggle); + $wrapper.data('content', $content); + $toggle.data('wrapper', $wrapper); + $content.data('wrapper', $wrapper); + }); + + this.element.trigger('update.uk.accordion', [this]); + + if (init && this.options.showfirst) { + this.toggleItem(this.toggle.eq(0).data('wrapper'), false, false); + } + } + + }); + + // helper + + function getHeight(ele) { + + var $ele = UI.$(ele), height = "auto"; + + if ($ele.is(":visible")) { + height = $ele.outerHeight(); + } else { + + var tmp = { + position : $ele.css('position'), + visibility : $ele.css('visibility'), + display : $ele.css('display') + }; + + height = $ele.css({position: 'absolute', visibility: 'hidden', display: 'block'}).outerHeight(); + + $ele.css(tmp); // reset element + } + + return height; + } + + return UI.accordion; +}); diff --git a/bower_components/uikit/js/components/accordion.min.js b/bower_components/uikit/js/components/accordion.min.js new file mode 100644 index 0000000..42e57f9 --- /dev/null +++ b/bower_components/uikit/js/components/accordion.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var i;window.UIkit2&&(i=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-accordion",["uikit"],function(){return i||t(UIkit2)})}(function(t){"use strict";function i(i){var e=t.$(i),o="auto";if(e.is(":visible"))o=e.outerHeight();else{var a={position:e.css("position"),visibility:e.css("visibility"),display:e.css("display")};o=e.css({position:"absolute",visibility:"hidden",display:"block"}).outerHeight(),e.css(a)}return o}return t.component("accordion",{defaults:{showfirst:!0,collapse:!0,animate:!0,easing:"swing",duration:300,toggle:".uk-accordion-title",containers:".uk-accordion-content",clsactive:"uk-active"},boot:function(){t.ready(function(i){setTimeout(function(){t.$("[data-uk-accordion]",i).each(function(){var i=t.$(this);i.data("accordion")||t.accordion(i,t.Utils.options(i.attr("data-uk-accordion")))})},0)})},init:function(){var i=this;this.element.on("click.uk.accordion",this.options.toggle,function(e){e.preventDefault(),i.toggleItem(t.$(this).data("wrapper"),i.options.animate,i.options.collapse)}),this.update(!0),t.domObserve(this.element,function(){i.element.children(i.options.containers).length&&i.update()})},toggleItem:function(e,o,a){var n=this;e.data("toggle").toggleClass(this.options.clsactive),e.data("content").toggleClass(this.options.clsactive);var s=e.data("toggle").hasClass(this.options.clsactive);a&&(this.toggle.not(e.data("toggle")).removeClass(this.options.clsactive),this.content.not(e.data("content")).removeClass(this.options.clsactive).parent().stop().css("overflow","hidden").animate({height:0},{easing:this.options.easing,duration:o?this.options.duration:0}).attr("aria-expanded","false")),e.stop().css("overflow","hidden"),o?e.animate({height:s?i(e.data("content")):0},{easing:this.options.easing,duration:this.options.duration,complete:function(){s&&(e.css({overflow:"",height:"auto"}),t.Utils.checkDisplay(e.data("content"))),n.trigger("display.uk.check")}}):(e.height(s?"auto":0),s&&(e.css({overflow:""}),t.Utils.checkDisplay(e.data("content"))),this.trigger("display.uk.check")),e.attr("aria-expanded",s),this.element.trigger("toggle.uk.accordion",[s,e.data("toggle"),e.data("content")])},update:function(i){var e,o,a,n=this;this.toggle=this.find(this.options.toggle),this.content=this.find(this.options.containers),this.content.each(function(i){e=t.$(this),e.parent().data("wrapper")?o=e.parent():(o=t.$(this).wrap('
    ').parent(),o.attr("aria-expanded","false")),a=n.toggle.eq(i),o.data("toggle",a),o.data("content",e),a.data("wrapper",o),e.data("wrapper",o)}),this.element.trigger("update.uk.accordion",[this]),i&&this.options.showfirst&&this.toggleItem(this.toggle.eq(0).data("wrapper"),!1,!1)}}),t.accordion}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/autocomplete.js b/bower_components/uikit/js/components/autocomplete.js new file mode 100644 index 0000000..9d75109 --- /dev/null +++ b/bower_components/uikit/js/components/autocomplete.js @@ -0,0 +1,340 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-autocomplete', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + "use strict"; + + var active; + + UI.component('autocomplete', { + + defaults: { + minLength: 3, + param: 'search', + method: 'post', + delay: 300, + loadingClass: 'uk-loading', + flipDropdown: false, + skipClass: 'uk-skip', + hoverClass: 'uk-active', + source: null, + renderer: null, + + // template + + template: '' + }, + + visible : false, + value : null, + selected : null, + + boot: function() { + + // init code + UI.$html.on('focus.autocomplete.uikit', '[data-uk-autocomplete]', function(e) { + + var ele = UI.$(this); + + if (!ele.data('autocomplete')) { + UI.autocomplete(ele, UI.Utils.options(ele.attr('data-uk-autocomplete'))); + } + }); + + // register outer click for autocompletes + UI.$html.on('click.autocomplete.uikit', function(e) { + if (active && e.target!=active.input[0]) active.hide(); + }); + }, + + init: function() { + + var $this = this, + select = false, + trigger = UI.Utils.debounce(function(e) { + + if (select) { + return (select = false); + } + + $this.handle(); + }, this.options.delay); + + + this.dropdown = this.find('.uk-dropdown'); + this.template = this.find('script[type="text/autocomplete"]').html(); + this.template = UI.Utils.template(this.template || this.options.template); + this.input = this.find("input:first").attr("autocomplete", "off"); + + if (!this.dropdown.length) { + this.dropdown = UI.$('
    ').appendTo(this.element); + } + + if (this.options.flipDropdown) { + this.dropdown.addClass('uk-dropdown-flip'); + } + + this.dropdown.attr('aria-expanded', 'false'); + + this.input.on({ + + keydown: function(e) { + + if (e && e.which && !e.shiftKey && $this.visible) { + + switch (e.which) { + case 13: // enter + select = true; + + if ($this.selected) { + e.preventDefault(); + $this.select(); + } + break; + case 38: // up + e.preventDefault(); + $this.pick('prev', true); + break; + case 40: // down + e.preventDefault(); + $this.pick('next', true); + break; + case 27: + case 9: // esc, tab + $this.hide(); + break; + default: + break; + } + } + + }, + + keyup: trigger + }); + + this.dropdown.on('click', '.uk-autocomplete-results > *', function(){ + $this.select(); + }); + + this.dropdown.on('mouseover', '.uk-autocomplete-results > *', function(){ + $this.pick(UI.$(this)); + }); + + this.triggercomplete = trigger; + }, + + handle: function() { + + var $this = this, old = this.value; + + this.value = this.input.val(); + + if (this.value.length < this.options.minLength) return this.hide(); + + if (this.value != old) { + $this.request(); + } + + return this; + }, + + pick: function(item, scrollinview) { + + var $this = this, + items = UI.$(this.dropdown.find('.uk-autocomplete-results').children(':not(.'+this.options.skipClass+')')), + selected = false; + + if (typeof item !== "string" && !item.hasClass(this.options.skipClass)) { + selected = item; + } else if (item == 'next' || item == 'prev') { + + if (this.selected) { + var index = items.index(this.selected); + + if (item == 'next') { + selected = items.eq(index + 1 < items.length ? index + 1 : 0); + } else { + selected = items.eq(index - 1 < 0 ? items.length - 1 : index - 1); + } + + } else { + selected = items[(item == 'next') ? 'first' : 'last'](); + } + + selected = UI.$(selected); + } + + if (selected && selected.length) { + this.selected = selected; + items.removeClass(this.options.hoverClass); + this.selected.addClass(this.options.hoverClass); + + // jump to selected if not in view + if (scrollinview) { + + var top = selected.position().top, + scrollTop = $this.dropdown.scrollTop(), + dpheight = $this.dropdown.height(); + + if (top > dpheight || top < 0) { + $this.dropdown.scrollTop(scrollTop + top); + } + } + } + }, + + select: function() { + + if(!this.selected) return; + + var data = this.selected.data(); + + this.trigger('selectitem.uk.autocomplete', [data, this]); + + if (data.value) { + this.input.val(data.value).trigger('change'); + } + + this.hide(); + }, + + show: function() { + + if (this.visible) return; + + this.visible = true; + this.element.addClass('uk-open'); + + if (active && active!==this) { + active.hide(); + } + + active = this; + + // Update aria + this.dropdown.attr('aria-expanded', 'true'); + + return this; + }, + + hide: function() { + if (!this.visible) return; + this.visible = false; + this.element.removeClass('uk-open'); + + if (active === this) { + active = false; + } + + // Update aria + this.dropdown.attr('aria-expanded', 'false'); + + return this; + }, + + request: function() { + + var $this = this, + release = function(data) { + + if(data) { + $this.render(data); + } + + $this.element.removeClass($this.options.loadingClass); + }; + + this.element.addClass(this.options.loadingClass); + + if (this.options.source) { + + var source = this.options.source; + + switch(typeof(this.options.source)) { + case 'function': + + this.options.source.apply(this, [release]); + + break; + + case 'object': + + if(source.length) { + + var items = []; + + source.forEach(function(item){ + if(item.value && item.value.toLowerCase().indexOf($this.value.toLowerCase())!=-1) { + items.push(item); + } + }); + + release(items); + } + + break; + + case 'string': + + var params ={}; + + params[this.options.param] = this.value; + + UI.$.ajax({ + url: this.options.source, + data: params, + type: this.options.method, + dataType: 'json' + }).done(function(json) { + release(json || []); + }); + + break; + + default: + release(null); + } + + } else { + this.element.removeClass($this.options.loadingClass); + } + }, + + render: function(data) { + + this.dropdown.empty(); + + this.selected = false; + + if (this.options.renderer) { + + this.options.renderer.apply(this, [data]); + + } else if(data && data.length) { + + this.dropdown.append(this.template({items:data})); + this.show(); + + this.trigger('show.uk.autocomplete'); + } + + return this; + } + }); + + return UI.autocomplete; +}); diff --git a/bower_components/uikit/js/components/autocomplete.min.js b/bower_components/uikit/js/components/autocomplete.min.js new file mode 100644 index 0000000..d35e7a0 --- /dev/null +++ b/bower_components/uikit/js/components/autocomplete.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var e;window.UIkit2&&(e=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-autocomplete",["uikit"],function(){return e||t(UIkit2)})}(function(t){"use strict";var e;return t.component("autocomplete",{defaults:{minLength:3,param:"search",method:"post",delay:300,loadingClass:"uk-loading",flipDropdown:!1,skipClass:"uk-skip",hoverClass:"uk-active",source:null,renderer:null,template:''},visible:!1,value:null,selected:null,boot:function(){t.$html.on("focus.autocomplete.uikit","[data-uk-autocomplete]",function(){var e=t.$(this);e.data("autocomplete")||t.autocomplete(e,t.Utils.options(e.attr("data-uk-autocomplete")))}),t.$html.on("click.autocomplete.uikit",function(t){e&&t.target!=e.input[0]&&e.hide()})},init:function(){var e=this,i=!1,s=t.Utils.debounce(function(){return i?i=!1:(e.handle(),void 0)},this.options.delay);this.dropdown=this.find(".uk-dropdown"),this.template=this.find('script[type="text/autocomplete"]').html(),this.template=t.Utils.template(this.template||this.options.template),this.input=this.find("input:first").attr("autocomplete","off"),this.dropdown.length||(this.dropdown=t.$('
    ').appendTo(this.element)),this.options.flipDropdown&&this.dropdown.addClass("uk-dropdown-flip"),this.dropdown.attr("aria-expanded","false"),this.input.on({keydown:function(t){if(t&&t.which&&!t.shiftKey&&e.visible)switch(t.which){case 13:i=!0,e.selected&&(t.preventDefault(),e.select());break;case 38:t.preventDefault(),e.pick("prev",!0);break;case 40:t.preventDefault(),e.pick("next",!0);break;case 27:case 9:e.hide()}},keyup:s}),this.dropdown.on("click",".uk-autocomplete-results > *",function(){e.select()}),this.dropdown.on("mouseover",".uk-autocomplete-results > *",function(){e.pick(t.$(this))}),this.triggercomplete=s},handle:function(){var t=this,e=this.value;return this.value=this.input.val(),this.value.lengtha-1?o.length-1:a-1)}else n=o["next"==e?"first":"last"]();n=t.$(n)}}else n=e;if(n&&n.length&&(this.selected=n,o.removeClass(this.options.hoverClass),this.selected.addClass(this.options.hoverClass),i)){var l=n.position().top,h=s.dropdown.scrollTop(),r=s.dropdown.height();(l>r||0>l)&&s.dropdown.scrollTop(h+l)}},select:function(){if(this.selected){var t=this.selected.data();this.trigger("selectitem.uk.autocomplete",[t,this]),t.value&&this.input.val(t.value).trigger("change"),this.hide()}},show:function(){return this.visible?void 0:(this.visible=!0,this.element.addClass("uk-open"),e&&e!==this&&e.hide(),e=this,this.dropdown.attr("aria-expanded","true"),this)},hide:function(){return this.visible?(this.visible=!1,this.element.removeClass("uk-open"),e===this&&(e=!1),this.dropdown.attr("aria-expanded","false"),this):void 0},request:function(){var e=this,i=function(t){t&&e.render(t),e.element.removeClass(e.options.loadingClass)};if(this.element.addClass(this.options.loadingClass),this.options.source){var s=this.options.source;switch(typeof this.options.source){case"function":this.options.source.apply(this,[i]);break;case"object":if(s.length){var o=[];s.forEach(function(t){t.value&&-1!=t.value.toLowerCase().indexOf(e.value.toLowerCase())&&o.push(t)}),i(o)}break;case"string":var n={};n[this.options.param]=this.value,t.$.ajax({url:this.options.source,data:n,type:this.options.method,dataType:"json"}).done(function(t){i(t||[])});break;default:i(null)}}else this.element.removeClass(e.options.loadingClass)},render:function(t){return this.dropdown.empty(),this.selected=!1,this.options.renderer?this.options.renderer.apply(this,[t]):t&&t.length&&(this.dropdown.append(this.template({items:t})),this.show(),this.trigger("show.uk.autocomplete")),this}}),t.autocomplete}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/datepicker.js b/bower_components/uikit/js/components/datepicker.js new file mode 100644 index 0000000..91f88ef --- /dev/null +++ b/bower_components/uikit/js/components/datepicker.js @@ -0,0 +1,3168 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-datepicker', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + "use strict"; + + // Datepicker + + var active = false, dropdown, moment; + + UI.component('datepicker', { + + defaults: { + mobile: false, + weekstart: 1, + i18n: { + months : ['January','February','March','April','May','June','July','August','September','October','November','December'], + weekdays : ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'] + }, + format: 'YYYY-MM-DD', + offsettop: 5, + maxDate: false, + minDate: false, + pos: 'auto', + container: 'body', + template: function(data, opts) { + + var content = '', i; + + content += '
    '; + content += ''; + content += ''; + + if (UI.formSelect) { + + var currentyear = (new Date()).getFullYear(), options = [], months, years, minYear, maxYear; + + for (i=0;i'+opts.i18n.months[i]+''); + } else { + options.push(''); + } + } + + months = ''+ opts.i18n.months[data.month] + ''; + + // -- + + options = []; + + minYear = data.minDate ? data.minDate.year() : currentyear - 50; + maxYear = data.maxDate ? data.maxDate.year() : currentyear + 20; + + for (i=minYear;i<=maxYear;i++) { + if (i == data.year) { + options.push(''); + } else { + options.push(''); + } + } + + years = ''+ data.year + ''; + + content += '
    '+ months + ' ' + years +'
    '; + + } else { + content += '
    '+ opts.i18n.months[data.month] +' '+ data.year+'
    '; + } + + content += '
    '; + + content += ''; + content += ''; + for(i = 0; i < data.weekdays.length; i++) { + if (data.weekdays[i]) { + content += ''; + } + } + content += ''; + + content += ''; + for(i = 0; i < data.days.length; i++) { + if (data.days[i] && data.days[i].length){ + content += ''; + for(var d = 0; d < data.days[i].length; d++) { + if (data.days[i][d]) { + var day = data.days[i][d], + cls = []; + + if(!day.inmonth) cls.push("uk-datepicker-table-muted"); + if(day.selected) cls.push("uk-active"); + if(day.disabled) cls.push('uk-datepicker-date-disabled uk-datepicker-table-muted'); + + content += ''; + } + } + content += ''; + } + } + content += ''; + + content += '
    '+data.weekdays[i]+'
    '+day.day.format("D")+'
    '; + + return content; + } + }, + + boot: function() { + + UI.$win.on('resize orientationchange', function() { + + if (active) { + active.hide(); + } + }); + + // init code + UI.$html.on('focus.datepicker.uikit', '[data-uk-datepicker]', function(e) { + + var ele = UI.$(this); + + if (!ele.data('datepicker')) { + e.preventDefault(); + UI.datepicker(ele, UI.Utils.options(ele.attr('data-uk-datepicker'))); + ele.trigger('focus'); + } + }); + + UI.$html.on('click focus', '*', function(e) { + + var target = UI.$(e.target); + + if (active && target[0] != dropdown[0] && !target.data('datepicker') && !target.parents('.uk-datepicker:first').length) { + active.hide(); + } + }); + }, + + init: function() { + + // use native datepicker on touch devices + if (UI.support.touch && this.element.attr('type')=='date' && !this.options.mobile) { + return; + } + + var $this = this; + + this.current = this.element.val() ? moment(this.element.val(), this.options.format) : moment(); + + this.on('click focus', function(){ + if (active!==$this) $this.pick(this.value ? this.value:''); + }).on('change', function(){ + + if ($this.element.val() && !moment($this.element.val(), $this.options.format).isValid()) { + $this.element.val(moment().format($this.options.format)); + } + }); + + // init dropdown + if (!dropdown) { + + dropdown = UI.$('
    '); + + dropdown.on('click', '.uk-datepicker-next, .uk-datepicker-previous, [data-date]', function(e){ + + e.stopPropagation(); + e.preventDefault(); + + var ele = UI.$(this); + + if (ele.hasClass('uk-datepicker-date-disabled')) return false; + + if (ele.is('[data-date]')) { + active.current = moment(ele.data("date")); + active.element.val(active.current.isValid() ? active.current.format(active.options.format) : null).trigger("change"); + active.hide(); + } else { + active.add((ele.hasClass("uk-datepicker-next") ? 1:-1), "months"); + } + }); + + dropdown.on('change', '.update-picker-month, .update-picker-year', function(){ + + var select = UI.$(this); + active[select.is('.update-picker-year') ? 'setYear':'setMonth'](Number(select.val())); + }); + + dropdown.appendTo(this.options.container); + } + }, + + pick: function(initdate) { + + var offset = this.element.offset(), + css = {left: offset.left, right:''}; + + this.current = isNaN(initdate) ? moment(initdate, this.options.format):moment(); + this.initdate = this.current.format("YYYY-MM-DD"); + + this.update(); + + if (UI.langdirection == 'right') { + css.right = window.innerWidth - (css.left + this.element.outerWidth()); + css.left = ''; + } + + var posTop = (offset.top - this.element.outerHeight() + this.element.height()) - this.options.offsettop - dropdown.outerHeight(), + posBottom = offset.top + this.element.outerHeight() + this.options.offsettop; + + css.top = posBottom; + + if (this.options.pos == 'top') { + css.top = posTop; + } else if(this.options.pos == 'auto' && (window.innerHeight - posBottom - dropdown.outerHeight() < 0 && posTop >= 0) ) { + css.top = posTop; + } + + dropdown.css(css).show(); + this.trigger('show.uk.datepicker'); + + active = this; + }, + + add: function(unit, value) { + this.current.add(unit, value); + this.update(); + }, + + setMonth: function(month) { + this.current.month(month); + this.update(); + }, + + setYear: function(year) { + this.current.year(year); + this.update(); + }, + + update: function() { + + var data = this.getRows(this.current.year(), this.current.month()), + tpl = this.options.template(data, this.options); + + dropdown.html(tpl); + + this.trigger('update.uk.datepicker'); + }, + + getRows: function(year, month) { + + var opts = this.options, + now = moment().format('YYYY-MM-DD'), + days = [31, (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month], + before = new Date(year, month, 1, 12).getDay(), + data = {month:month, year:year, weekdays:[], days:[], maxDate:false, minDate:false}, + row = []; + + // We need these to be midday to avoid issues from DST transition protection. + if (opts.maxDate!==false){ + data.maxDate = isNaN(opts.maxDate) ? moment(opts.maxDate, opts.format).startOf('day').hours(12) : moment().add(opts.maxDate, 'days').startOf('day').hours(12); + } + + if (opts.minDate!==false){ + data.minDate = isNaN(opts.minDate) ? moment(opts.minDate, opts.format).startOf('day').hours(12) : moment().add(opts.minDate-1, 'days').startOf('day').hours(12); + } + + data.weekdays = (function(){ + + for (var i=0, arr=[]; i < 7; i++) { + + var day = i + (opts.weekstart || 0); + + while (day >= 7) { + day -= 7; + } + + arr.push(opts.i18n.weekdays[day]); + } + + return arr; + })(); + + if (opts.weekstart && opts.weekstart > 0) { + before -= opts.weekstart; + if (before < 0) { + before += 7; + } + } + + var cells = days + before, after = cells; + + while(after > 7) { after -= 7; } + + cells += 7 - after; + + var day, isDisabled, isSelected, isToday, isInMonth; + + for (var i = 0, r = 0; i < cells; i++) { + + day = new Date(year, month, 1 + (i - before), 12); + isDisabled = (data.minDate && data.minDate > day) || (data.maxDate && day > data.maxDate); + isInMonth = !(i < before || i >= (days + before)); + + day = moment(day); + + isSelected = this.initdate == day.format('YYYY-MM-DD'); + isToday = now == day.format('YYYY-MM-DD'); + + row.push({selected: isSelected, today: isToday, disabled: isDisabled, day:day, inmonth:isInMonth}); + + if (++r === 7) { + data.days.push(row); + row = []; + r = 0; + } + } + + return data; + }, + + hide: function() { + + if (active && active === this) { + dropdown.hide(); + active = false; + + this.trigger('hide.uk.datepicker'); + } + } + }); + + //! moment.js + //! version : 2.8.3 + //! authors : Tim Wood, Iskren Chernev, Moment.js contributors + //! license : MIT + //! momentjs.com + + moment = (function (undefined) { + /************************************ + Constants + ************************************/ + var moment, + VERSION = '2.8.3', + // the global-scope this is NOT the global object in Node.js + globalScope = typeof global !== 'undefined' ? global : this, + oldGlobalMoment, + round = Math.round, + hasOwnProperty = Object.prototype.hasOwnProperty, + i, + + YEAR = 0, + MONTH = 1, + DATE = 2, + HOUR = 3, + MINUTE = 4, + SECOND = 5, + MILLISECOND = 6, + + // internal storage for locale config files + locales = {}, + + // extra moment internal properties (plugins register props here) + momentProperties = [], + + // check for nodeJS + hasModule = (typeof module !== 'undefined' && module.exports), + + // ASP.NET json date format regex + aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, + aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/, + + // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html + // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere + isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/, + + // format tokens + formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g, + localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g, + + // parsing token regexes + parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99 + parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 + parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 9999 + parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999 + parseTokenDigits = /\d+/, // nonzero number of digits + parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic. + parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z + parseTokenT = /T/i, // T (ISO separator) + parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 + parseTokenOrdinal = /\d{1,2}/, + + //strict parsing regexes + parseTokenOneDigit = /\d/, // 0 - 9 + parseTokenTwoDigits = /\d\d/, // 00 - 99 + parseTokenThreeDigits = /\d{3}/, // 000 - 999 + parseTokenFourDigits = /\d{4}/, // 0000 - 9999 + parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999 + parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf + + // iso 8601 regex + // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) + isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + + isoFormat = 'YYYY-MM-DDTHH:mm:ssZ', + + isoDates = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/], + ['YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/], + ['GGGG-[W]WW-E', /\d{4}-W\d{2}-\d/], + ['GGGG-[W]WW', /\d{4}-W\d{2}/], + ['YYYY-DDD', /\d{4}-\d{3}/] + ], + + // iso time formats and regexes + isoTimes = [ + ['HH:mm:ss.SSSS', /(T| )\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/], + ['HH:mm', /(T| )\d\d:\d\d/], + ['HH', /(T| )\d\d/] + ], + + // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-15', '30'] + parseTimezoneChunker = /([\+\-]|\d\d)/gi, + + // getter and setter names + proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'), + unitMillisecondFactors = { + 'Milliseconds' : 1, + 'Seconds' : 1e3, + 'Minutes' : 6e4, + 'Hours' : 36e5, + 'Days' : 864e5, + 'Months' : 2592e6, + 'Years' : 31536e6 + }, + + unitAliases = { + ms : 'millisecond', + s : 'second', + m : 'minute', + h : 'hour', + d : 'day', + D : 'date', + w : 'week', + W : 'isoWeek', + M : 'month', + Q : 'quarter', + y : 'year', + DDD : 'dayOfYear', + e : 'weekday', + E : 'isoWeekday', + gg: 'weekYear', + GG: 'isoWeekYear' + }, + + camelFunctions = { + dayofyear : 'dayOfYear', + isoweekday : 'isoWeekday', + isoweek : 'isoWeek', + weekyear : 'weekYear', + isoweekyear : 'isoWeekYear' + }, + + // format function strings + formatFunctions = {}, + + // default relative time thresholds + relativeTimeThresholds = { + s: 45, // seconds to minute + m: 45, // minutes to hour + h: 22, // hours to day + d: 26, // days to month + M: 11 // months to year + }, + + // tokens to ordinalize and pad + ordinalizeTokens = 'DDD w W M D d'.split(' '), + paddedTokens = 'M D H h m s w W'.split(' '), + + formatTokenFunctions = { + M : function () { + return this.month() + 1; + }, + MMM : function (format) { + return this.localeData().monthsShort(this, format); + }, + MMMM : function (format) { + return this.localeData().months(this, format); + }, + D : function () { + return this.date(); + }, + DDD : function () { + return this.dayOfYear(); + }, + d : function () { + return this.day(); + }, + dd : function (format) { + return this.localeData().weekdaysMin(this, format); + }, + ddd : function (format) { + return this.localeData().weekdaysShort(this, format); + }, + dddd : function (format) { + return this.localeData().weekdays(this, format); + }, + w : function () { + return this.week(); + }, + W : function () { + return this.isoWeek(); + }, + YY : function () { + return leftZeroFill(this.year() % 100, 2); + }, + YYYY : function () { + return leftZeroFill(this.year(), 4); + }, + YYYYY : function () { + return leftZeroFill(this.year(), 5); + }, + YYYYYY : function () { + var y = this.year(), sign = y >= 0 ? '+' : '-'; + return sign + leftZeroFill(Math.abs(y), 6); + }, + gg : function () { + return leftZeroFill(this.weekYear() % 100, 2); + }, + gggg : function () { + return leftZeroFill(this.weekYear(), 4); + }, + ggggg : function () { + return leftZeroFill(this.weekYear(), 5); + }, + GG : function () { + return leftZeroFill(this.isoWeekYear() % 100, 2); + }, + GGGG : function () { + return leftZeroFill(this.isoWeekYear(), 4); + }, + GGGGG : function () { + return leftZeroFill(this.isoWeekYear(), 5); + }, + e : function () { + return this.weekday(); + }, + E : function () { + return this.isoWeekday(); + }, + a : function () { + return this.localeData().meridiem(this.hours(), this.minutes(), true); + }, + A : function () { + return this.localeData().meridiem(this.hours(), this.minutes(), false); + }, + H : function () { + return this.hours(); + }, + h : function () { + return this.hours() % 12 || 12; + }, + m : function () { + return this.minutes(); + }, + s : function () { + return this.seconds(); + }, + S : function () { + return toInt(this.milliseconds() / 100); + }, + SS : function () { + return leftZeroFill(toInt(this.milliseconds() / 10), 2); + }, + SSS : function () { + return leftZeroFill(this.milliseconds(), 3); + }, + SSSS : function () { + return leftZeroFill(this.milliseconds(), 3); + }, + Z : function () { + var a = -this.zone(), + b = '+'; + if (a < 0) { + a = -a; + b = '-'; + } + return b + leftZeroFill(toInt(a / 60), 2) + ':' + leftZeroFill(toInt(a) % 60, 2); + }, + ZZ : function () { + var a = -this.zone(), + b = '+'; + if (a < 0) { + a = -a; + b = '-'; + } + return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2); + }, + z : function () { + return this.zoneAbbr(); + }, + zz : function () { + return this.zoneName(); + }, + X : function () { + return this.unix(); + }, + Q : function () { + return this.quarter(); + } + }, + + deprecations = {}, + + lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin']; + + // Pick the first defined of two or three arguments. dfl comes from + // default. + function dfl(a, b, c) { + switch (arguments.length) { + case 2: return a != null ? a : b; + case 3: return a != null ? a : b != null ? b : c; + default: throw new Error('Implement me'); + } + } + + function hasOwnProp(a, b) { + return hasOwnProperty.call(a, b); + } + + function defaultParsingFlags() { + // We need to deep clone this object, and es5 standard is not very + // helpful. + return { + empty : false, + unusedTokens : [], + unusedInput : [], + overflow : -2, + charsLeftOver : 0, + nullInput : false, + invalidMonth : null, + invalidFormat : false, + userInvalidated : false, + iso: false + }; + } + + function printMsg(msg) { + if (moment.suppressDeprecationWarnings === false && + typeof console !== 'undefined' && console.warn) { + console.warn('Deprecation warning: ' + msg); + } + } + + function deprecate(msg, fn) { + var firstTime = true; + return extend(function () { + if (firstTime) { + printMsg(msg); + firstTime = false; + } + return fn.apply(this, arguments); + }, fn); + } + + function deprecateSimple(name, msg) { + if (!deprecations[name]) { + printMsg(msg); + deprecations[name] = true; + } + } + + function padToken(func, count) { + return function (a) { + return leftZeroFill(func.call(this, a), count); + }; + } + function ordinalizeToken(func, period) { + return function (a) { + return this.localeData().ordinal(func.call(this, a), period); + }; + } + + while (ordinalizeTokens.length) { + i = ordinalizeTokens.pop(); + formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i); + } + while (paddedTokens.length) { + i = paddedTokens.pop(); + formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2); + } + formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3); + + + /************************************ + Constructors + ************************************/ + + function Locale() { + } + + // Moment prototype object + function Moment(config, skipOverflow) { + if (skipOverflow !== false) { + checkOverflow(config); + } + copyConfig(this, config); + this._d = new Date(+config._d); + } + + // Duration Constructor + function Duration(duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + + // representation for dateAddRemove + this._milliseconds = +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 36e5; // 1000 * 60 * 60 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + + weeks * 7; + // It is impossible translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + + quarters * 3 + + years * 12; + + this._data = {}; + + this._locale = moment.localeData(); + + this._bubble(); + } + + /************************************ + Helpers + ************************************/ + + + function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; + } + } + + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; + } + + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; + } + + return a; + } + + function copyConfig(to, from) { + var i, prop, val; + + if (typeof from._isAMomentObject !== 'undefined') { + to._isAMomentObject = from._isAMomentObject; + } + if (typeof from._i !== 'undefined') { + to._i = from._i; + } + if (typeof from._f !== 'undefined') { + to._f = from._f; + } + if (typeof from._l !== 'undefined') { + to._l = from._l; + } + if (typeof from._strict !== 'undefined') { + to._strict = from._strict; + } + if (typeof from._tzm !== 'undefined') { + to._tzm = from._tzm; + } + if (typeof from._isUTC !== 'undefined') { + to._isUTC = from._isUTC; + } + if (typeof from._offset !== 'undefined') { + to._offset = from._offset; + } + if (typeof from._pf !== 'undefined') { + to._pf = from._pf; + } + if (typeof from._locale !== 'undefined') { + to._locale = from._locale; + } + + if (momentProperties.length > 0) { + for (i in momentProperties) { + prop = momentProperties[i]; + val = from[prop]; + if (typeof val !== 'undefined') { + to[prop] = val; + } + } + } + + return to; + } + + function absRound(number) { + if (number < 0) { + return Math.ceil(number); + } else { + return Math.floor(number); + } + } + + // left zero fill a number + // see http://jsperf.com/left-zero-filling for performance comparison + function leftZeroFill(number, targetLength, forceSign) { + var output = '' + Math.abs(number), + sign = number >= 0; + + while (output.length < targetLength) { + output = '0' + output; + } + return (sign ? (forceSign ? '+' : '') : '-') + output; + } + + function positiveMomentsDifference(base, other) { + var res = {milliseconds: 0, months: 0}; + + res.months = other.month() - base.month() + + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } + + res.milliseconds = +other - +(base.clone().add(res.months, 'M')); + + return res; + } + + function momentsDifference(base, other) { + var res; + other = makeAs(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + + return res; + } + + // TODO: remove 'name' arg after deprecation is removed + function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + if (period !== null && !isNaN(+period)) { + deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).'); + tmp = val; val = period; period = tmp; + } + + val = typeof val === 'string' ? +val : val; + dur = moment.duration(val, period); + addOrSubtractDurationFromMoment(this, dur, direction); + return this; + }; + } + + function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = duration._days, + months = duration._months; + updateOffset = updateOffset == null ? true : updateOffset; + + if (milliseconds) { + mom._d.setTime(+mom._d + milliseconds * isAdding); + } + if (days) { + rawSetter(mom, 'Date', rawGetter(mom, 'Date') + days * isAdding); + } + if (months) { + rawMonthSetter(mom, rawGetter(mom, 'Month') + months * isAdding); + } + if (updateOffset) { + moment.updateOffset(mom, days || months); + } + } + + // check if is an array + function isArray(input) { + return Object.prototype.toString.call(input) === '[object Array]'; + } + + function isDate(input) { + return Object.prototype.toString.call(input) === '[object Date]' || + input instanceof Date; + } + + // compare two arrays, return the number of differences + function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ((dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { + diffs++; + } + } + return diffs + lengthDiff; + } + + function normalizeUnits(units) { + if (units) { + var lowered = units.toLowerCase().replace(/(.)s$/, '$1'); + units = unitAliases[units] || camelFunctions[lowered] || lowered; + } + return units; + } + + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; + + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } + + return normalizedInput; + } + + function makeList(field) { + var count, setter; + + if (field.indexOf('week') === 0) { + count = 7; + setter = 'day'; + } + else if (field.indexOf('month') === 0) { + count = 12; + setter = 'month'; + } + else { + return; + } + + moment[field] = function (format, index) { + var i, getter, + method = moment._locale[field], + results = []; + + if (typeof format === 'number') { + index = format; + format = undefined; + } + + getter = function (i) { + var m = moment().utc().set(setter, i); + return method.call(moment._locale, m, format || ''); + }; + + if (index != null) { + return getter(index); + } + else { + for (i = 0; i < count; i++) { + results.push(getter(i)); + } + return results; + } + }; + } + + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + if (coercedNumber >= 0) { + value = Math.floor(coercedNumber); + } else { + value = Math.ceil(coercedNumber); + } + } + + return value; + } + + function daysInMonth(year, month) { + return new Date(Date.UTC(year, month + 1, 0)).getUTCDate(); + } + + function weeksInYear(year, dow, doy) { + return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week; + } + + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } + + function checkOverflow(m) { + var overflow; + if (m._a && m._pf.overflow === -2) { + overflow = + m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH : + m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE : + m._a[HOUR] < 0 || m._a[HOUR] > 23 ? HOUR : + m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE : + m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND : + m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND : + -1; + + if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { + overflow = DATE; + } + + m._pf.overflow = overflow; + } + } + + function isValid(m) { + if (m._isValid == null) { + m._isValid = !isNaN(m._d.getTime()) && + m._pf.overflow < 0 && + !m._pf.empty && + !m._pf.invalidMonth && + !m._pf.nullInput && + !m._pf.invalidFormat && + !m._pf.userInvalidated; + + if (m._strict) { + m._isValid = m._isValid && + m._pf.charsLeftOver === 0 && + m._pf.unusedTokens.length === 0; + } + } + return m._isValid; + } + + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; + } + + // pick the locale from the array + // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + function chooseLocale(names) { + var i = 0, j, next, locale, split; + + while (i < names.length) { + split = normalizeLocale(names[i]).split('-'); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return null; + } + + function loadLocale(name) { + var oldLocale = null; + if (!locales[name] && hasModule) { + try { + oldLocale = moment.locale(); + require('./locale/' + name); + // because defineLocale currently also sets the global locale, we want to undo that for lazy loaded locales + moment.locale(oldLocale); + } catch (e) { } + } + return locales[name]; + } + + // Return a moment from input, that is local/utc/zone equivalent to model. + function makeAs(input, model) { + return model._isUTC ? moment(input).zone(model._offset || 0) : + moment(input).local(); + } + + /************************************ + Locale + ************************************/ + + + extend(Locale.prototype, { + + set : function (config) { + var prop, i; + for (i in config) { + prop = config[i]; + if (typeof prop === 'function') { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + }, + + _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + months : function (m) { + return this._months[m.month()]; + }, + + _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + monthsShort : function (m) { + return this._monthsShort[m.month()]; + }, + + monthsParse : function (monthName) { + var i, mom, regex; + + if (!this._monthsParse) { + this._monthsParse = []; + } + + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + if (!this._monthsParse[i]) { + mom = moment.utc([2000, i]); + regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (this._monthsParse[i].test(monthName)) { + return i; + } + } + }, + + _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdays : function (m) { + return this._weekdays[m.day()]; + }, + + _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysShort : function (m) { + return this._weekdaysShort[m.day()]; + }, + + _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + weekdaysMin : function (m) { + return this._weekdaysMin[m.day()]; + }, + + weekdaysParse : function (weekdayName) { + var i, mom, regex; + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + if (!this._weekdaysParse[i]) { + mom = moment([2000, 1]).day(i); + regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + }, + + _longDateFormat : { + LT : 'h:mm A', + L : 'MM/DD/YYYY', + LL : 'MMMM D, YYYY', + LLL : 'MMMM D, YYYY LT', + LLLL : 'dddd, MMMM D, YYYY LT' + }, + longDateFormat : function (key) { + var output = this._longDateFormat[key]; + if (!output && this._longDateFormat[key.toUpperCase()]) { + output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) { + return val.slice(1); + }); + this._longDateFormat[key] = output; + } + return output; + }, + + isPM : function (input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return ((input + '').toLowerCase().charAt(0) === 'p'); + }, + + _meridiemParse : /[ap]\.?m?\.?/i, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } + }, + + _calendar : { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + calendar : function (key, mom) { + var output = this._calendar[key]; + return typeof output === 'function' ? output.apply(mom) : output; + }, + + _relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, + + relativeTime : function (number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return (typeof output === 'function') ? + output(number, withoutSuffix, string, isFuture) : + output.replace(/%d/i, number); + }, + + pastFuture : function (diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); + }, + + ordinal : function (number) { + return this._ordinal.replace('%d', number); + }, + _ordinal : '%d', + + preparse : function (string) { + return string; + }, + + postformat : function (string) { + return string; + }, + + week : function (mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + }, + + _week : { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 1st is the first week of the year. + }, + + _invalidDate: 'Invalid date', + invalidDate: function () { + return this._invalidDate; + } + }); + + /************************************ + Formatting + ************************************/ + + + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); + } + + function makeFormatFunction(format) { + var array = format.match(formattingTokens), i, length; + + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + + return function (mom) { + var output = ''; + for (i = 0; i < length; i++) { + output += array[i] instanceof Function ? array[i].call(mom, format) : array[i]; + } + return output; + }; + } + + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + + format = expandFormat(format, m.localeData()); + + if (!formatFunctions[format]) { + formatFunctions[format] = makeFormatFunction(format); + } + + return formatFunctions[format](m); + } + + function expandFormat(format, locale) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + + return format; + } + + + /************************************ + Parsing + ************************************/ + + + // get the regex to find the next token + function getParseRegexForToken(token, config) { + var a, strict = config._strict; + switch (token) { + case 'Q': + return parseTokenOneDigit; + case 'DDDD': + return parseTokenThreeDigits; + case 'YYYY': + case 'GGGG': + case 'gggg': + return strict ? parseTokenFourDigits : parseTokenOneToFourDigits; + case 'Y': + case 'G': + case 'g': + return parseTokenSignedNumber; + case 'YYYYYY': + case 'YYYYY': + case 'GGGGG': + case 'ggggg': + return strict ? parseTokenSixDigits : parseTokenOneToSixDigits; + case 'S': + if (strict) { + return parseTokenOneDigit; + } + /* falls through */ + case 'SS': + if (strict) { + return parseTokenTwoDigits; + } + /* falls through */ + case 'SSS': + if (strict) { + return parseTokenThreeDigits; + } + /* falls through */ + case 'DDD': + return parseTokenOneToThreeDigits; + case 'MMM': + case 'MMMM': + case 'dd': + case 'ddd': + case 'dddd': + return parseTokenWord; + case 'a': + case 'A': + return config._locale._meridiemParse; + case 'X': + return parseTokenTimestampMs; + case 'Z': + case 'ZZ': + return parseTokenTimezone; + case 'T': + return parseTokenT; + case 'SSSS': + return parseTokenDigits; + case 'MM': + case 'DD': + case 'YY': + case 'GG': + case 'gg': + case 'HH': + case 'hh': + case 'mm': + case 'ss': + case 'ww': + case 'WW': + return strict ? parseTokenTwoDigits : parseTokenOneOrTwoDigits; + case 'M': + case 'D': + case 'd': + case 'H': + case 'h': + case 'm': + case 's': + case 'w': + case 'W': + case 'e': + case 'E': + return parseTokenOneOrTwoDigits; + case 'Do': + return parseTokenOrdinal; + default : + a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), 'i')); + return a; + } + } + + function timezoneMinutesFromString(string) { + string = string || ''; + var possibleTzMatches = (string.match(parseTokenTimezone) || []), + tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [], + parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0], + minutes = +(parts[1] * 60) + toInt(parts[2]); + + return parts[0] === '+' ? -minutes : minutes; + } + + // function to convert string input to date + function addTimeToArrayFromToken(token, input, config) { + var a, datePartArray = config._a; + + switch (token) { + // QUARTER + case 'Q': + if (input != null) { + datePartArray[MONTH] = (toInt(input) - 1) * 3; + } + break; + // MONTH + case 'M' : // fall through to MM + case 'MM' : + if (input != null) { + datePartArray[MONTH] = toInt(input) - 1; + } + break; + case 'MMM' : // fall through to MMMM + case 'MMMM' : + a = config._locale.monthsParse(input); + // if we didn't find a month name, mark the date as invalid. + if (a != null) { + datePartArray[MONTH] = a; + } else { + config._pf.invalidMonth = input; + } + break; + // DAY OF MONTH + case 'D' : // fall through to DD + case 'DD' : + if (input != null) { + datePartArray[DATE] = toInt(input); + } + break; + case 'Do' : + if (input != null) { + datePartArray[DATE] = toInt(parseInt(input, 10)); + } + break; + // DAY OF YEAR + case 'DDD' : // fall through to DDDD + case 'DDDD' : + if (input != null) { + config._dayOfYear = toInt(input); + } + + break; + // YEAR + case 'YY' : + datePartArray[YEAR] = moment.parseTwoDigitYear(input); + break; + case 'YYYY' : + case 'YYYYY' : + case 'YYYYYY' : + datePartArray[YEAR] = toInt(input); + break; + // AM / PM + case 'a' : // fall through to A + case 'A' : + config._isPm = config._locale.isPM(input); + break; + // 24 HOUR + case 'H' : // fall through to hh + case 'HH' : // fall through to hh + case 'h' : // fall through to hh + case 'hh' : + datePartArray[HOUR] = toInt(input); + break; + // MINUTE + case 'm' : // fall through to mm + case 'mm' : + datePartArray[MINUTE] = toInt(input); + break; + // SECOND + case 's' : // fall through to ss + case 'ss' : + datePartArray[SECOND] = toInt(input); + break; + // MILLISECOND + case 'S' : + case 'SS' : + case 'SSS' : + case 'SSSS' : + datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000); + break; + // UNIX TIMESTAMP WITH MS + case 'X': + config._d = new Date(parseFloat(input) * 1000); + break; + // TIMEZONE + case 'Z' : // fall through to ZZ + case 'ZZ' : + config._useUTC = true; + config._tzm = timezoneMinutesFromString(input); + break; + // WEEKDAY - human + case 'dd': + case 'ddd': + case 'dddd': + a = config._locale.weekdaysParse(input); + // if we didn't get a weekday name, mark the date as invalid + if (a != null) { + config._w = config._w || {}; + config._w['d'] = a; + } else { + config._pf.invalidWeekday = input; + } + break; + // WEEK, WEEK DAY - numeric + case 'w': + case 'ww': + case 'W': + case 'WW': + case 'd': + case 'e': + case 'E': + token = token.substr(0, 1); + /* falls through */ + case 'gggg': + case 'GGGG': + case 'GGGGG': + token = token.substr(0, 2); + if (input) { + config._w = config._w || {}; + config._w[token] = toInt(input); + } + break; + case 'gg': + case 'GG': + config._w = config._w || {}; + config._w[token] = moment.parseTwoDigitYear(input); + } + } + + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp; + + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = dfl(w.GG, config._a[YEAR], weekOfYear(moment(), 1, 4).year); + week = dfl(w.W, 1); + weekday = dfl(w.E, 1); + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; + + weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year); + week = dfl(w.w, 1); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < dow) { + ++week; + } + } else if (w.e != null) { + // local weekday -- counting starts from begining of week + weekday = w.e + dow; + } else { + // default to begining of week + weekday = dow; + } + } + temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow); + + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } + + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function dateFromConfig(config) { + var i, date, input = [], currentDate, yearToUse; + + if (config._d) { + return; + } + + currentDate = currentDateArray(config); + + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + + //if the day of the year is set, figure out what it is + if (config._dayOfYear) { + yearToUse = dfl(config._a[YEAR], currentDate[YEAR]); + + if (config._dayOfYear > daysInYear(yearToUse)) { + config._pf._overflowDayOfYear = true; + } + + date = makeUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } + + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; + } + + config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input); + // Apply timezone offset from input. The actual zone can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() + config._tzm); + } + } + + function dateFromObject(config) { + var normalizedInput; + + if (config._d) { + return; + } + + normalizedInput = normalizeObjectUnits(config._i); + config._a = [ + normalizedInput.year, + normalizedInput.month, + normalizedInput.day, + normalizedInput.hour, + normalizedInput.minute, + normalizedInput.second, + normalizedInput.millisecond + ]; + + dateFromConfig(config); + } + + function currentDateArray(config) { + var now = new Date(); + if (config._useUTC) { + return [ + now.getUTCFullYear(), + now.getUTCMonth(), + now.getUTCDate() + ]; + } else { + return [now.getFullYear(), now.getMonth(), now.getDate()]; + } + } + + // date from string and format string + function makeDateFromStringAndFormat(config) { + if (config._f === moment.ISO_8601) { + parseISO(config); + return; + } + + config._a = []; + config._pf.empty = true; + + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, parsedInput, tokens, token, skipped, + stringLength = string.length, + totalParsedInputLength = 0; + + tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; + + for (i = 0; i < tokens.length; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + config._pf.unusedInput.push(skipped); + } + string = string.slice(string.indexOf(parsedInput) + parsedInput.length); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + config._pf.empty = false; + } + else { + config._pf.unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } + else if (config._strict && !parsedInput) { + config._pf.unusedTokens.push(token); + } + } + + // add remaining unparsed input length to the string + config._pf.charsLeftOver = stringLength - totalParsedInputLength; + if (string.length > 0) { + config._pf.unusedInput.push(string); + } + + // handle am pm + if (config._isPm && config._a[HOUR] < 12) { + config._a[HOUR] += 12; + } + // if is 12 am, change hours to 0 + if (config._isPm === false && config._a[HOUR] === 12) { + config._a[HOUR] = 0; + } + + dateFromConfig(config); + checkOverflow(config); + } + + function unescapeFormat(s) { + return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + }); + } + + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function regexpEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + + // date from string and array of format strings + function makeDateFromStringAndArray(config) { + var tempConfig, + bestMoment, + + scoreToBeat, + i, + currentScore; + + if (config._f.length === 0) { + config._pf.invalidFormat = true; + config._d = new Date(NaN); + return; + } + + for (i = 0; i < config._f.length; i++) { + currentScore = 0; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._pf = defaultParsingFlags(); + tempConfig._f = config._f[i]; + makeDateFromStringAndFormat(tempConfig); + + if (!isValid(tempConfig)) { + continue; + } + + // if there is any input that was not parsed add a penalty for that format + currentScore += tempConfig._pf.charsLeftOver; + + //or tokens + currentScore += tempConfig._pf.unusedTokens.length * 10; + + tempConfig._pf.score = currentScore; + + if (scoreToBeat == null || currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } + + extend(config, bestMoment || tempConfig); + } + + // date from iso format + function parseISO(config) { + var i, l, + string = config._i, + match = isoRegex.exec(string); + + if (match) { + config._pf.iso = true; + for (i = 0, l = isoDates.length; i < l; i++) { + if (isoDates[i][1].exec(string)) { + // match[5] should be 'T' or undefined + config._f = isoDates[i][0] + (match[6] || ' '); + break; + } + } + for (i = 0, l = isoTimes.length; i < l; i++) { + if (isoTimes[i][1].exec(string)) { + config._f += isoTimes[i][0]; + break; + } + } + if (string.match(parseTokenTimezone)) { + config._f += 'Z'; + } + makeDateFromStringAndFormat(config); + } else { + config._isValid = false; + } + } + + // date from iso format or fallback + function makeDateFromString(config) { + parseISO(config); + if (config._isValid === false) { + delete config._isValid; + moment.createFromInputFallback(config); + } + } + + function map(arr, fn) { + var res = [], i; + for (i = 0; i < arr.length; ++i) { + res.push(fn(arr[i], i)); + } + return res; + } + + function makeDateFromInput(config) { + var input = config._i, matched; + if (input === undefined) { + config._d = new Date(); + } else if (isDate(input)) { + config._d = new Date(+input); + } else if ((matched = aspNetJsonRegex.exec(input)) !== null) { + config._d = new Date(+matched[1]); + } else if (typeof input === 'string') { + makeDateFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function (obj) { + return parseInt(obj, 10); + }); + dateFromConfig(config); + } else if (typeof(input) === 'object') { + dateFromObject(config); + } else if (typeof(input) === 'number') { + // from milliseconds + config._d = new Date(input); + } else { + moment.createFromInputFallback(config); + } + } + + function makeDate(y, m, d, h, M, s, ms) { + //can't just apply() to create a date: + //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply + var date = new Date(y, m, d, h, M, s, ms); + + //the date constructor doesn't accept years < 1970 + if (y < 1970) { + date.setFullYear(y); + } + return date; + } + + function makeUTCDate(y) { + var date = new Date(Date.UTC.apply(null, arguments)); + if (y < 1970) { + date.setUTCFullYear(y); + } + return date; + } + + function parseWeekday(input, locale) { + if (typeof input === 'string') { + if (!isNaN(input)) { + input = parseInt(input, 10); + } + else { + input = locale.weekdaysParse(input); + if (typeof input !== 'number') { + return null; + } + } + } + return input; + } + + /************************************ + Relative Time + ************************************/ + + + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } + + function relativeTime(posNegDuration, withoutSuffix, locale) { + var duration = moment.duration(posNegDuration).abs(), + seconds = round(duration.as('s')), + minutes = round(duration.as('m')), + hours = round(duration.as('h')), + days = round(duration.as('d')), + months = round(duration.as('M')), + years = round(duration.as('y')), + + args = seconds < relativeTimeThresholds.s && ['s', seconds] || + minutes === 1 && ['m'] || + minutes < relativeTimeThresholds.m && ['mm', minutes] || + hours === 1 && ['h'] || + hours < relativeTimeThresholds.h && ['hh', hours] || + days === 1 && ['d'] || + days < relativeTimeThresholds.d && ['dd', days] || + months === 1 && ['M'] || + months < relativeTimeThresholds.M && ['MM', months] || + years === 1 && ['y'] || ['yy', years]; + + args[2] = withoutSuffix; + args[3] = +posNegDuration > 0; + args[4] = locale; + return substituteTimeAgo.apply({}, args); + } + + + /************************************ + Week of Year + ************************************/ + + + // firstDayOfWeek 0 = sun, 6 = sat + // the day of the week that starts the week + // (usually sunday or monday) + // firstDayOfWeekOfYear 0 = sun, 6 = sat + // the first week is the week that contains the first + // of this day of the week + // (eg. ISO weeks use thursday (4)) + function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) { + var end = firstDayOfWeekOfYear - firstDayOfWeek, + daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(), + adjustedMoment; + + + if (daysToDayOfWeek > end) { + daysToDayOfWeek -= 7; + } + + if (daysToDayOfWeek < end - 7) { + daysToDayOfWeek += 7; + } + + adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd'); + return { + week: Math.ceil(adjustedMoment.dayOfYear() / 7), + year: adjustedMoment.year() + }; + } + + //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) { + var d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear; + + d = d === 0 ? 7 : d; + weekday = weekday != null ? weekday : firstDayOfWeek; + daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0); + dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1; + + return { + year: dayOfYear > 0 ? year : year - 1, + dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear + }; + } + + /************************************ + Top Level Functions + ************************************/ + + function makeMoment(config) { + var input = config._i, + format = config._f; + + config._locale = config._locale || moment.localeData(config._l); + + if (input === null || (format === undefined && input === '')) { + return moment.invalid({nullInput: true}); + } + + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } + + if (moment.isMoment(input)) { + return new Moment(input, true); + } else if (format) { + if (isArray(format)) { + makeDateFromStringAndArray(config); + } else { + makeDateFromStringAndFormat(config); + } + } else { + makeDateFromInput(config); + } + + return new Moment(config); + } + + moment = function (input, format, locale, strict) { + var c; + + if (typeof(locale) === 'boolean') { + strict = locale; + locale = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c = {}; + c._isAMomentObject = true; + c._i = input; + c._f = format; + c._l = locale; + c._strict = strict; + c._isUTC = false; + c._pf = defaultParsingFlags(); + + return makeMoment(c); + }; + + moment.suppressDeprecationWarnings = false; + + moment.createFromInputFallback = deprecate( + 'moment construction falls back to js Date. This is ' + + 'discouraged and will be removed in upcoming major ' + + 'release. Please refer to ' + + 'https://github.com/moment/moment/issues/1407 for more info.', + function (config) { + config._d = new Date(config._i); + } + ); + + // Pick a moment m from moments so that m[fn](other) is true for all + // other. This relies on the function fn to be transitive. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return moment(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (moments[i][fn](res)) { + res = moments[i]; + } + } + return res; + } + + moment.min = function () { + var args = [].slice.call(arguments, 0); + + return pickBy('isBefore', args); + }; + + moment.max = function () { + var args = [].slice.call(arguments, 0); + + return pickBy('isAfter', args); + }; + + // creating with utc + moment.utc = function (input, format, locale, strict) { + var c; + + if (typeof(locale) === 'boolean') { + strict = locale; + locale = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c = {}; + c._isAMomentObject = true; + c._useUTC = true; + c._isUTC = true; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + c._pf = defaultParsingFlags(); + + return makeMoment(c).utc(); + }; + + // creating with unix timestamp (in seconds) + moment.unix = function (input) { + return moment(input * 1000); + }; + + // duration + moment.duration = function (input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + parseIso, + diffRes; + + if (moment.isDuration(input)) { + duration = { + ms: input._milliseconds, + d: input._days, + M: input._months + }; + } else if (typeof input === 'number') { + duration = {}; + if (key) { + duration[key] = input; + } else { + duration.milliseconds = input; + } + } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y: 0, + d: toInt(match[DATE]) * sign, + h: toInt(match[HOUR]) * sign, + m: toInt(match[MINUTE]) * sign, + s: toInt(match[SECOND]) * sign, + ms: toInt(match[MILLISECOND]) * sign + }; + } else if (!!(match = isoDurationRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + parseIso = function (inp) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + }; + duration = { + y: parseIso(match[2]), + M: parseIso(match[3]), + d: parseIso(match[4]), + h: parseIso(match[5]), + m: parseIso(match[6]), + s: parseIso(match[7]), + w: parseIso(match[8]) + }; + } else if (typeof duration === 'object' && + ('from' in duration || 'to' in duration)) { + diffRes = momentsDifference(moment(duration.from), moment(duration.to)); + + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + + ret = new Duration(duration); + + if (moment.isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; + } + + return ret; + }; + + // version number + moment.version = VERSION; + + // default format + moment.defaultFormat = isoFormat; + + // constant that refers to the ISO standard + moment.ISO_8601 = function () {}; + + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + moment.momentProperties = momentProperties; + + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + moment.updateOffset = function () {}; + + // This function allows you to set a threshold for relative time strings + moment.relativeTimeThreshold = function (threshold, limit) { + if (relativeTimeThresholds[threshold] === undefined) { + return false; + } + if (limit === undefined) { + return relativeTimeThresholds[threshold]; + } + relativeTimeThresholds[threshold] = limit; + return true; + }; + + moment.lang = deprecate( + 'moment.lang is deprecated. Use moment.locale instead.', + function (key, value) { + return moment.locale(key, value); + } + ); + + // This function will load locale and then set the global locale. If + // no arguments are passed in, it will simply return the current global + // locale key. + moment.locale = function (key, values) { + var data; + if (key) { + if (typeof(values) !== 'undefined') { + data = moment.defineLocale(key, values); + } + else { + data = moment.localeData(key); + } + + if (data) { + moment.duration._locale = moment._locale = data; + } + } + + return moment._locale._abbr; + }; + + moment.defineLocale = function (name, values) { + if (values !== null) { + values.abbr = name; + if (!locales[name]) { + locales[name] = new Locale(); + } + locales[name].set(values); + + // backwards compat for now: also set the locale + moment.locale(name); + + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; + } + }; + + moment.langData = deprecate( + 'moment.langData is deprecated. Use moment.localeData instead.', + function (key) { + return moment.localeData(key); + } + ); + + // returns locale data + moment.localeData = function (key) { + var locale; + + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + + if (!key) { + return moment._locale; + } + + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } + + return chooseLocale(key); + }; + + // compare moment object + moment.isMoment = function (obj) { + return obj instanceof Moment || + (obj != null && hasOwnProp(obj, '_isAMomentObject')); + }; + + // for typechecking Duration objects + moment.isDuration = function (obj) { + return obj instanceof Duration; + }; + + for (i = lists.length - 1; i >= 0; --i) { + makeList(lists[i]); + } + + moment.normalizeUnits = function (units) { + return normalizeUnits(units); + }; + + moment.invalid = function (flags) { + var m = moment.utc(NaN); + if (flags != null) { + extend(m._pf, flags); + } + else { + m._pf.userInvalidated = true; + } + + return m; + }; + + moment.parseZone = function () { + return moment.apply(null, arguments).parseZone(); + }; + + moment.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; + + /************************************ + Moment Prototype + ************************************/ + + + extend(moment.fn = Moment.prototype, { + + clone : function () { + return moment(this); + }, + + valueOf : function () { + return +this._d + ((this._offset || 0) * 60000); + }, + + unix : function () { + return Math.floor(+this / 1000); + }, + + toString : function () { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + }, + + toDate : function () { + return this._offset ? new Date(+this) : this._d; + }, + + toISOString : function () { + var m = moment(this).utc(); + if (0 < m.year() && m.year() <= 9999) { + return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); + } else { + return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); + } + }, + + toArray : function () { + var m = this; + return [ + m.year(), + m.month(), + m.date(), + m.hours(), + m.minutes(), + m.seconds(), + m.milliseconds() + ]; + }, + + isValid : function () { + return isValid(this); + }, + + isDSTShifted : function () { + if (this._a) { + return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0; + } + + return false; + }, + + parsingFlags : function () { + return extend({}, this._pf); + }, + + invalidAt: function () { + return this._pf.overflow; + }, + + utc : function (keepLocalTime) { + return this.zone(0, keepLocalTime); + }, + + local : function (keepLocalTime) { + if (this._isUTC) { + this.zone(0, keepLocalTime); + this._isUTC = false; + + if (keepLocalTime) { + this.add(this._dateTzOffset(), 'm'); + } + } + return this; + }, + + format : function (inputString) { + var output = formatMoment(this, inputString || moment.defaultFormat); + return this.localeData().postformat(output); + }, + + add : createAdder(1, 'add'), + + subtract : createAdder(-1, 'subtract'), + + diff : function (input, units, asFloat) { + var that = makeAs(input, this), + zoneDiff = (this.zone() - that.zone()) * 6e4, + diff, output, daysAdjust; + + units = normalizeUnits(units); + + if (units === 'year' || units === 'month') { + // average number of days in the months in the given dates + diff = (this.daysInMonth() + that.daysInMonth()) * 432e5; // 24 * 60 * 60 * 1000 / 2 + // difference in months + output = ((this.year() - that.year()) * 12) + (this.month() - that.month()); + // adjust by taking difference in days, average number of days + // and dst in the given months. + daysAdjust = (this - moment(this).startOf('month')) - + (that - moment(that).startOf('month')); + // same as above but with zones, to negate all dst + daysAdjust -= ((this.zone() - moment(this).startOf('month').zone()) - + (that.zone() - moment(that).startOf('month').zone())) * 6e4; + output += daysAdjust / diff; + if (units === 'year') { + output = output / 12; + } + } else { + diff = (this - that); + output = units === 'second' ? diff / 1e3 : // 1000 + units === 'minute' ? diff / 6e4 : // 1000 * 60 + units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60 + units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst + units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst + diff; + } + return asFloat ? output : absRound(output); + }, + + from : function (time, withoutSuffix) { + return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); + }, + + fromNow : function (withoutSuffix) { + return this.from(moment(), withoutSuffix); + }, + + calendar : function (time) { + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're zone'd or not. + var now = time || moment(), + sod = makeAs(now, this).startOf('day'), + diff = this.diff(sod, 'days', true), + format = diff < -6 ? 'sameElse' : + diff < -1 ? 'lastWeek' : + diff < 0 ? 'lastDay' : + diff < 1 ? 'sameDay' : + diff < 2 ? 'nextDay' : + diff < 7 ? 'nextWeek' : 'sameElse'; + return this.format(this.localeData().calendar(format, this)); + }, + + isLeapYear : function () { + return isLeapYear(this.year()); + }, + + isDST : function () { + return (this.zone() < this.clone().month(0).zone() || + this.zone() < this.clone().month(5).zone()); + }, + + day : function (input) { + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, 'd'); + } else { + return day; + } + }, + + month : makeAccessor('Month', true), + + startOf : function (units) { + units = normalizeUnits(units); + // the following switch intentionally omits break keywords + // to utilize falling through the cases. + switch (units) { + case 'year': + this.month(0); + /* falls through */ + case 'quarter': + case 'month': + this.date(1); + /* falls through */ + case 'week': + case 'isoWeek': + case 'day': + this.hours(0); + /* falls through */ + case 'hour': + this.minutes(0); + /* falls through */ + case 'minute': + this.seconds(0); + /* falls through */ + case 'second': + this.milliseconds(0); + /* falls through */ + } + + // weeks are a special case + if (units === 'week') { + this.weekday(0); + } else if (units === 'isoWeek') { + this.isoWeekday(1); + } + + // quarters are also special + if (units === 'quarter') { + this.month(Math.floor(this.month() / 3) * 3); + } + + return this; + }, + + endOf: function (units) { + units = normalizeUnits(units); + return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms'); + }, + + isAfter: function (input, units) { + units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); + if (units === 'millisecond') { + input = moment.isMoment(input) ? input : moment(input); + return +this > +input; + } else { + return +this.clone().startOf(units) > +moment(input).startOf(units); + } + }, + + isBefore: function (input, units) { + units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); + if (units === 'millisecond') { + input = moment.isMoment(input) ? input : moment(input); + return +this < +input; + } else { + return +this.clone().startOf(units) < +moment(input).startOf(units); + } + }, + + isSame: function (input, units) { + units = normalizeUnits(units || 'millisecond'); + if (units === 'millisecond') { + input = moment.isMoment(input) ? input : moment(input); + return +this === +input; + } else { + return +this.clone().startOf(units) === +makeAs(input, this).startOf(units); + } + }, + + min: deprecate( + 'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548', + function (other) { + other = moment.apply(null, arguments); + return other < this ? this : other; + } + ), + + max: deprecate( + 'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548', + function (other) { + other = moment.apply(null, arguments); + return other > this ? this : other; + } + ), + + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[zone(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist int zone + // +0200, so we adjust the time as needed, to be valid. + // + // Keeping the time actually adds/subtracts (one hour) + // from the actual represented time. That is why we call updateOffset + // a second time. In case it wants us to change the offset again + // _changeInProgress == true case, then we have to adjust, because + // there is no such time in the given timezone. + zone : function (input, keepLocalTime) { + var offset = this._offset || 0, + localAdjust; + if (input != null) { + if (typeof input === 'string') { + input = timezoneMinutesFromString(input); + } + if (Math.abs(input) < 16) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = this._dateTzOffset(); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.subtract(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addOrSubtractDurationFromMoment(this, + moment.duration(offset - input, 'm'), 1, false); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + moment.updateOffset(this, true); + this._changeInProgress = null; + } + } + } else { + return this._isUTC ? offset : this._dateTzOffset(); + } + return this; + }, + + zoneAbbr : function () { + return this._isUTC ? 'UTC' : ''; + }, + + zoneName : function () { + return this._isUTC ? 'Coordinated Universal Time' : ''; + }, + + parseZone : function () { + if (this._tzm) { + this.zone(this._tzm); + } else if (typeof this._i === 'string') { + this.zone(this._i); + } + return this; + }, + + hasAlignedHourOffset : function (input) { + if (!input) { + input = 0; + } + else { + input = moment(input).zone(); + } + + return (this.zone() - input) % 60 === 0; + }, + + daysInMonth : function () { + return daysInMonth(this.year(), this.month()); + }, + + dayOfYear : function (input) { + var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1; + return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); + }, + + quarter : function (input) { + return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); + }, + + weekYear : function (input) { + var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year; + return input == null ? year : this.add((input - year), 'y'); + }, + + isoWeekYear : function (input) { + var year = weekOfYear(this, 1, 4).year; + return input == null ? year : this.add((input - year), 'y'); + }, + + week : function (input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); + }, + + isoWeek : function (input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); + }, + + weekday : function (input) { + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); + }, + + isoWeekday : function (input) { + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7); + }, + + isoWeeksInYear : function () { + return weeksInYear(this.year(), 1, 4); + }, + + weeksInYear : function () { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + }, + + get : function (units) { + units = normalizeUnits(units); + return this[units](); + }, + + set : function (units, value) { + units = normalizeUnits(units); + if (typeof this[units] === 'function') { + this[units](value); + } + return this; + }, + + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + locale : function (key) { + var newLocaleData; + + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = moment.localeData(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } + }, + + lang : deprecate( + 'moment().lang() is deprecated. Use moment().localeData() instead.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ), + + localeData : function () { + return this._locale; + }, + + _dateTzOffset : function () { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return Math.round(this._d.getTimezoneOffset() / 15) * 15; + } + }); + + function rawMonthSetter(mom, value) { + var dayOfMonth; + + // TODO: Move this out of here! + if (typeof value === 'string') { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (typeof value !== 'number') { + return mom; + } + } + + dayOfMonth = Math.min(mom.date(), + daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; + } + + function rawGetter(mom, unit) { + return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit](); + } + + function rawSetter(mom, unit, value) { + if (unit === 'Month') { + return rawMonthSetter(mom, value); + } else { + return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + } + } + + function makeAccessor(unit, keepTime) { + return function (value) { + if (value != null) { + rawSetter(this, unit, value); + moment.updateOffset(this, keepTime); + return this; + } else { + return rawGetter(this, unit); + } + }; + } + + moment.fn.millisecond = moment.fn.milliseconds = makeAccessor('Milliseconds', false); + moment.fn.second = moment.fn.seconds = makeAccessor('Seconds', false); + moment.fn.minute = moment.fn.minutes = makeAccessor('Minutes', false); + // Setting the hour should keep the time, because the user explicitly + // specified which hour he wants. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + moment.fn.hour = moment.fn.hours = makeAccessor('Hours', true); + // moment.fn.month is defined separately + moment.fn.date = makeAccessor('Date', true); + moment.fn.dates = deprecate('dates accessor is deprecated. Use date instead.', makeAccessor('Date', true)); + moment.fn.year = makeAccessor('FullYear', true); + moment.fn.years = deprecate('years accessor is deprecated. Use year instead.', makeAccessor('FullYear', true)); + + // add plural methods + moment.fn.days = moment.fn.day; + moment.fn.months = moment.fn.month; + moment.fn.weeks = moment.fn.week; + moment.fn.isoWeeks = moment.fn.isoWeek; + moment.fn.quarters = moment.fn.quarter; + + // add aliased format methods + moment.fn.toJSON = moment.fn.toISOString; + + /************************************ + Duration Prototype + ************************************/ + + + function daysToYears (days) { + // 400 years have 146097 days (taking into account leap year rules) + return days * 400 / 146097; + } + + function yearsToDays (years) { + // years * 365 + absRound(years / 4) - + // absRound(years / 100) + absRound(years / 400); + return years * 146097 / 400; + } + + extend(moment.duration.fn = Duration.prototype, { + + _bubble : function () { + var milliseconds = this._milliseconds, + days = this._days, + months = this._months, + data = this._data, + seconds, minutes, hours, years = 0; + + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; + + seconds = absRound(milliseconds / 1000); + data.seconds = seconds % 60; + + minutes = absRound(seconds / 60); + data.minutes = minutes % 60; + + hours = absRound(minutes / 60); + data.hours = hours % 24; + + days += absRound(hours / 24); + + // Accurately convert days to years, assume start from year 0. + years = absRound(daysToYears(days)); + days -= absRound(yearsToDays(years)); + + // 30 days to a month + // TODO (iskren): Use anchor date (like 1st Jan) to compute this. + months += absRound(days / 30); + days %= 30; + + // 12 months -> 1 year + years += absRound(months / 12); + months %= 12; + + data.days = days; + data.months = months; + data.years = years; + }, + + abs : function () { + this._milliseconds = Math.abs(this._milliseconds); + this._days = Math.abs(this._days); + this._months = Math.abs(this._months); + + this._data.milliseconds = Math.abs(this._data.milliseconds); + this._data.seconds = Math.abs(this._data.seconds); + this._data.minutes = Math.abs(this._data.minutes); + this._data.hours = Math.abs(this._data.hours); + this._data.months = Math.abs(this._data.months); + this._data.years = Math.abs(this._data.years); + + return this; + }, + + weeks : function () { + return absRound(this.days() / 7); + }, + + valueOf : function () { + return this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6; + }, + + humanize : function (withSuffix) { + var output = relativeTime(this, !withSuffix, this.localeData()); + + if (withSuffix) { + output = this.localeData().pastFuture(+this, output); + } + + return this.localeData().postformat(output); + }, + + add : function (input, val) { + // supports only 2.0-style add(1, 's') or add(moment) + var dur = moment.duration(input, val); + + this._milliseconds += dur._milliseconds; + this._days += dur._days; + this._months += dur._months; + + this._bubble(); + + return this; + }, + + subtract : function (input, val) { + var dur = moment.duration(input, val); + + this._milliseconds -= dur._milliseconds; + this._days -= dur._days; + this._months -= dur._months; + + this._bubble(); + + return this; + }, + + get : function (units) { + units = normalizeUnits(units); + return this[units.toLowerCase() + 's'](); + }, + + as : function (units) { + var days, months; + units = normalizeUnits(units); + + if (units === 'month' || units === 'year') { + days = this._days + this._milliseconds / 864e5; + months = this._months + daysToYears(days) * 12; + return units === 'month' ? months : months / 12; + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + yearsToDays(this._months / 12); + switch (units) { + case 'week': return days / 7 + this._milliseconds / 6048e5; + case 'day': return days + this._milliseconds / 864e5; + case 'hour': return days * 24 + this._milliseconds / 36e5; + case 'minute': return days * 24 * 60 + this._milliseconds / 6e4; + case 'second': return days * 24 * 60 * 60 + this._milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': return Math.floor(days * 24 * 60 * 60 * 1000) + this._milliseconds; + default: throw new Error('Unknown unit ' + units); + } + } + }, + + lang : moment.fn.lang, + locale : moment.fn.locale, + + toIsoString : deprecate( + 'toIsoString() is deprecated. Please use toISOString() instead ' + + '(notice the capitals)', + function () { + return this.toISOString(); + } + ), + + toISOString : function () { + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + var years = Math.abs(this.years()), + months = Math.abs(this.months()), + days = Math.abs(this.days()), + hours = Math.abs(this.hours()), + minutes = Math.abs(this.minutes()), + seconds = Math.abs(this.seconds() + this.milliseconds() / 1000); + + if (!this.asSeconds()) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } + + return (this.asSeconds() < 0 ? '-' : '') + + 'P' + + (years ? years + 'Y' : '') + + (months ? months + 'M' : '') + + (days ? days + 'D' : '') + + ((hours || minutes || seconds) ? 'T' : '') + + (hours ? hours + 'H' : '') + + (minutes ? minutes + 'M' : '') + + (seconds ? seconds + 'S' : ''); + }, + + localeData : function () { + return this._locale; + } + }); + + moment.duration.fn.toString = moment.duration.fn.toISOString; + + function makeDurationGetter(name) { + moment.duration.fn[name] = function () { + return this._data[name]; + }; + } + + for (i in unitMillisecondFactors) { + if (hasOwnProp(unitMillisecondFactors, i)) { + makeDurationGetter(i.toLowerCase()); + } + } + + moment.duration.fn.asMilliseconds = function () { + return this.as('ms'); + }; + moment.duration.fn.asSeconds = function () { + return this.as('s'); + }; + moment.duration.fn.asMinutes = function () { + return this.as('m'); + }; + moment.duration.fn.asHours = function () { + return this.as('h'); + }; + moment.duration.fn.asDays = function () { + return this.as('d'); + }; + moment.duration.fn.asWeeks = function () { + return this.as('weeks'); + }; + moment.duration.fn.asMonths = function () { + return this.as('M'); + }; + moment.duration.fn.asYears = function () { + return this.as('y'); + }; + + /************************************ + Default Locale + ************************************/ + + + // Set default locale, other locale will inherit from English. + moment.locale('en', { + ordinal : function (number) { + var b = number % 10, + output = (toInt(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + return moment; + + }).call(this); + + UI.Utils.moment = moment; + + return UI.datepicker; +}); diff --git a/bower_components/uikit/js/components/datepicker.min.js b/bower_components/uikit/js/components/datepicker.min.js new file mode 100644 index 0000000..9df0b8a --- /dev/null +++ b/bower_components/uikit/js/components/datepicker.min.js @@ -0,0 +1,3 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var e;window.UIkit2&&(e=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-datepicker",["uikit"],function(){return e||t(UIkit2)})}(function(t){"use strict";var e,n,a=!1;return t.component("datepicker",{defaults:{mobile:!1,weekstart:1,i18n:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],weekdays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},format:"YYYY-MM-DD",offsettop:5,maxDate:!1,minDate:!1,pos:"auto",container:"body",template:function(e,n){var a,s="";if(s+='
    ',s+='',s+='',t.formSelect){var i,r,o,u,c=(new Date).getFullYear(),d=[];for(a=0;a'+n.i18n.months[a]+""):d.push('");for(i=''+n.i18n.months[e.month]+'",d=[],o=e.minDate?e.minDate.year():c-50,u=e.maxDate?e.maxDate.year():c+20,a=o;u>=a;a++)a==e.year?d.push('"):d.push('");r=''+e.year+'",s+='
    '+i+" "+r+"
    "}else s+='
    '+n.i18n.months[e.month]+" "+e.year+"
    ";for(s+="
    ",s+='',s+="",a=0;a"+e.weekdays[a]+"");for(s+="",s+="",a=0;a";for(var l=0;l'+h.day.format("D")+""}s+=""}return s+="",s+="
    "}},boot:function(){t.$win.on("resize orientationchange",function(){a&&a.hide()}),t.$html.on("focus.datepicker.uikit","[data-uk-datepicker]",function(e){var n=t.$(this);n.data("datepicker")||(e.preventDefault(),t.datepicker(n,t.Utils.options(n.attr("data-uk-datepicker"))),n.trigger("focus"))}),t.$html.on("click focus","*",function(n){var s=t.$(n.target);!a||s[0]==e[0]||s.data("datepicker")||s.parents(".uk-datepicker:first").length||a.hide()})},init:function(){if(!t.support.touch||"date"!=this.element.attr("type")||this.options.mobile){var s=this;this.current=this.element.val()?n(this.element.val(),this.options.format):n(),this.on("click focus",function(){a!==s&&s.pick(this.value?this.value:"")}).on("change",function(){s.element.val()&&!n(s.element.val(),s.options.format).isValid()&&s.element.val(n().format(s.options.format))}),e||(e=t.$('
    '),e.on("click",".uk-datepicker-next, .uk-datepicker-previous, [data-date]",function(e){e.stopPropagation(),e.preventDefault();var s=t.$(this);return s.hasClass("uk-datepicker-date-disabled")?!1:(s.is("[data-date]")?(a.current=n(s.data("date")),a.element.val(a.current.isValid()?a.current.format(a.options.format):null).trigger("change"),a.hide()):a.add(s.hasClass("uk-datepicker-next")?1:-1,"months"),void 0)}),e.on("change",".update-picker-month, .update-picker-year",function(){var e=t.$(this);a[e.is(".update-picker-year")?"setYear":"setMonth"](Number(e.val()))}),e.appendTo(this.options.container))}},pick:function(s){var i=this.element.offset(),r={left:i.left,right:""};this.current=isNaN(s)?n(s,this.options.format):n(),this.initdate=this.current.format("YYYY-MM-DD"),this.update(),"right"==t.langdirection&&(r.right=window.innerWidth-(r.left+this.element.outerWidth()),r.left="");var o=i.top-this.element.outerHeight()+this.element.height()-this.options.offsettop-e.outerHeight(),u=i.top+this.element.outerHeight()+this.options.offsettop;r.top=u,"top"==this.options.pos?r.top=o:"auto"==this.options.pos&&window.innerHeight-u-e.outerHeight()<0&&o>=0&&(r.top=o),e.css(r).show(),this.trigger("show.uk.datepicker"),a=this},add:function(t,e){this.current.add(t,e),this.update()},setMonth:function(t){this.current.month(t),this.update()},setYear:function(t){this.current.year(t),this.update()},update:function(){var t=this.getRows(this.current.year(),this.current.month()),n=this.options.template(t,this.options);e.html(n),this.trigger("update.uk.datepicker")},getRows:function(t,e){var a=this.options,s=n().format("YYYY-MM-DD"),i=[31,t%4===0&&t%100!==0||t%400===0?29:28,31,30,31,30,31,31,30,31,30,31][e],r=new Date(t,e,1,12).getDay(),o={month:e,year:t,weekdays:[],days:[],maxDate:!1,minDate:!1},u=[];a.maxDate!==!1&&(o.maxDate=isNaN(a.maxDate)?n(a.maxDate,a.format).startOf("day").hours(12):n().add(a.maxDate,"days").startOf("day").hours(12)),a.minDate!==!1&&(o.minDate=isNaN(a.minDate)?n(a.minDate,a.format).startOf("day").hours(12):n().add(a.minDate-1,"days").startOf("day").hours(12)),o.weekdays=function(){for(var t=0,e=[];7>t;t++){for(var n=t+(a.weekstart||0);n>=7;)n-=7;e.push(a.i18n.weekdays[n])}return e}(),a.weekstart&&a.weekstart>0&&(r-=a.weekstart,0>r&&(r+=7));for(var c=i+r,d=c;d>7;)d-=7;c+=7-d;for(var l,h,f,m,_,p=0,y=0;c>p;p++)l=new Date(t,e,1+(p-r),12),h=o.minDate&&o.minDate>l||o.maxDate&&l>o.maxDate,_=!(r>p||p>=i+r),l=n(l),f=this.initdate==l.format("YYYY-MM-DD"),m=s==l.format("YYYY-MM-DD"),u.push({selected:f,today:m,disabled:h,day:l,inmonth:_}),7===++y&&(o.days.push(u),u=[],y=0);return o},hide:function(){a&&a===this&&(e.hide(),a=!1,this.trigger("hide.uk.datepicker"))}}),n=function(t){function e(t,e,n){switch(arguments.length){case 2:return null!=t?t:e;case 3:return null!=t?t:null!=e?e:n;default:throw new Error("Implement me")}}function n(t,e){return Ye.call(t,e)}function a(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function s(t){De.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function i(t,e){var n=!0;return h(function(){return n&&(s(t),n=!1),e.apply(this,arguments)},e)}function r(t,e){mn[t]||(s(e),mn[t]=!0)}function o(t,e){return function(n){return _(t.call(this,n),e)}}function u(t,e){return function(n){return this.localeData().ordinal(t.call(this,n),e)}}function c(){}function d(t,e){e!==!1&&F(t),f(this,t),this._d=new Date(+t._d)}function l(t){var e=v(t),n=e.year||0,a=e.quarter||0,s=e.month||0,i=e.week||0,r=e.day||0,o=e.hour||0,u=e.minute||0,c=e.second||0,d=e.millisecond||0;this._milliseconds=+d+1e3*c+6e4*u+36e5*o,this._days=+r+7*i,this._months=+s+3*a+12*n,this._data={},this._locale=De.localeData(),this._bubble()}function h(t,e){for(var a in e)n(e,a)&&(t[a]=e[a]);return n(e,"toString")&&(t.toString=e.toString),n(e,"valueOf")&&(t.valueOf=e.valueOf),t}function f(t,e){var n,a,s;if("undefined"!=typeof e._isAMomentObject&&(t._isAMomentObject=e._isAMomentObject),"undefined"!=typeof e._i&&(t._i=e._i),"undefined"!=typeof e._f&&(t._f=e._f),"undefined"!=typeof e._l&&(t._l=e._l),"undefined"!=typeof e._strict&&(t._strict=e._strict),"undefined"!=typeof e._tzm&&(t._tzm=e._tzm),"undefined"!=typeof e._isUTC&&(t._isUTC=e._isUTC),"undefined"!=typeof e._offset&&(t._offset=e._offset),"undefined"!=typeof e._pf&&(t._pf=e._pf),"undefined"!=typeof e._locale&&(t._locale=e._locale),Fe.length>0)for(n in Fe)a=Fe[n],s=e[a],"undefined"!=typeof s&&(t[a]=s);return t}function m(t){return 0>t?Math.ceil(t):Math.floor(t)}function _(t,e,n){for(var a=""+Math.abs(t),s=t>=0;a.lengtha;a++)(n&&t[a]!==e[a]||!n&&S(t[a])!==S(e[a]))&&r++;return r+i}function w(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=on[t]||un[e]||e}return t}function v(t){var e,a,s={};for(a in t)n(t,a)&&(e=w(a),e&&(s[e]=t[a]));return s}function b(e){var n,a;if(0===e.indexOf("week"))n=7,a="day";else{if(0!==e.indexOf("month"))return;n=12,a="month"}De[e]=function(s,i){var r,o,u=De._locale[e],c=[];if("number"==typeof s&&(i=s,s=t),o=function(t){var e=De().utc().set(a,t);return u.call(De._locale,e,s||"")},null!=i)return o(i);for(r=0;n>r;r++)c.push(o(r));return c}}function S(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=e>=0?Math.floor(e):Math.ceil(e)),n}function T(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function O(t,e,n){return oe(De([t,11,31+e-n]),e,n).week}function W(t){return U(t)?366:365}function U(t){return t%4===0&&t%100!==0||t%400===0}function F(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[ve]<0||t._a[ve]>11?ve:t._a[be]<1||t._a[be]>T(t._a[we],t._a[ve])?be:t._a[Se]<0||t._a[Se]>23?Se:t._a[Te]<0||t._a[Te]>59?Te:t._a[Oe]<0||t._a[Oe]>59?Oe:t._a[We]<0||t._a[We]>999?We:-1,t._pf._overflowDayOfYear&&(we>e||e>be)&&(e=be),t._pf.overflow=e)}function G(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length)),t._isValid}function C(t){return t?t.toLowerCase().replace("_","-"):t}function z(t){for(var e,n,a,s,i=0;i0;){if(a=x(s.slice(0,e).join("-")))return a;if(n&&n.length>=e&&Y(s,n,!0)>=e-1)break;e--}i++}return null}function x(t){var e=null;if(!Ue[t]&&Ge)try{e=De.locale(),require("./locale/"+t),De.locale(e)}catch(n){}return Ue[t]}function I(t,e){return e._isUTC?De(t).zone(e._offset||0):De(t).local()}function H(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function L(t){var e,n,a=t.match(Ie);for(e=0,n=a.length;n>e;e++)a[e]=fn[a[e]]?fn[a[e]]:H(a[e]);return function(s){var i="";for(e=0;n>e;e++)i+=a[e]instanceof Function?a[e].call(s,t):a[e];return i}}function P(t,e){return t.isValid()?(e=A(e,t.localeData()),cn[e]||(cn[e]=L(e)),cn[e](t)):t.localeData().invalidDate()}function A(t,e){function n(t){return e.longDateFormat(t)||t}var a=5;for(He.lastIndex=0;a>=0&&He.test(t);)t=t.replace(He,n),He.lastIndex=0,a-=1;return t}function N(t,e){var n,a=e._strict;switch(t){case"Q":return qe;case"DDDD":return Re;case"YYYY":case"GGGG":case"gggg":return a?Xe:Ae;case"Y":case"G":case"g":return Ke;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return a?Be:Ne;case"S":if(a)return qe;case"SS":if(a)return Qe;case"SSS":if(a)return Re;case"DDD":return Pe;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return je;case"a":case"A":return e._locale._meridiemParse;case"X":return Ve;case"Z":case"ZZ":return Ee;case"T":return $e;case"SSSS":return Ze;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return a?Qe:Le;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Le;case"Do":return Je;default:return n=new RegExp(R(Q(t.replace("\\","")),"i"))}}function Z(t){t=t||"";var e=t.match(Ee)||[],n=e[e.length-1]||[],a=(n+"").match(sn)||["-",0,0],s=+(60*a[1])+S(a[2]);return"+"===a[0]?-s:s}function j(t,e,n){var a,s=n._a;switch(t){case"Q":null!=e&&(s[ve]=3*(S(e)-1));break;case"M":case"MM":null!=e&&(s[ve]=S(e)-1);break;case"MMM":case"MMMM":a=n._locale.monthsParse(e),null!=a?s[ve]=a:n._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(s[be]=S(e));break;case"Do":null!=e&&(s[be]=S(parseInt(e,10)));break;case"DDD":case"DDDD":null!=e&&(n._dayOfYear=S(e));break;case"YY":s[we]=De.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":s[we]=S(e);break;case"a":case"A":n._isPm=n._locale.isPM(e);break;case"H":case"HH":case"h":case"hh":s[Se]=S(e);break;case"m":case"mm":s[Te]=S(e);break;case"s":case"ss":s[Oe]=S(e);break;case"S":case"SS":case"SSS":case"SSSS":s[We]=S(1e3*("0."+e));break;case"X":n._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":n._useUTC=!0,n._tzm=Z(e);break;case"dd":case"ddd":case"dddd":a=n._locale.weekdaysParse(e),null!=a?(n._w=n._w||{},n._w.d=a):n._pf.invalidWeekday=e;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":t=t.substr(0,1);case"gggg":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(n._w=n._w||{},n._w[t]=S(e));break;case"gg":case"GG":n._w=n._w||{},n._w[t]=De.parseTwoDigitYear(e)}}function E(t){var n,a,s,i,r,o,u;n=t._w,null!=n.GG||null!=n.W||null!=n.E?(r=1,o=4,a=e(n.GG,t._a[we],oe(De(),1,4).year),s=e(n.W,1),i=e(n.E,1)):(r=t._locale._week.dow,o=t._locale._week.doy,a=e(n.gg,t._a[we],oe(De(),r,o).year),s=e(n.w,1),null!=n.d?(i=n.d,r>i&&++s):i=null!=n.e?n.e+r:r),u=ue(a,s,i,o,r),t._a[we]=u.year,t._dayOfYear=u.dayOfYear}function $(t){var n,a,s,i,r=[];if(!t._d){for(s=J(t),t._w&&null==t._a[be]&&null==t._a[ve]&&E(t),t._dayOfYear&&(i=e(t._a[we],s[we]),t._dayOfYear>W(i)&&(t._pf._overflowDayOfYear=!0),a=ae(i,0,t._dayOfYear),t._a[ve]=a.getUTCMonth(),t._a[be]=a.getUTCDate()),n=0;3>n&&null==t._a[n];++n)t._a[n]=r[n]=s[n];for(;7>n;n++)t._a[n]=r[n]=null==t._a[n]?2===n?1:0:t._a[n];t._d=(t._useUTC?ae:ne).apply(null,r),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()+t._tzm)}}function V(t){var e;t._d||(e=v(t._i),t._a=[e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond],$(t))}function J(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function q(t){if(t._f===De.ISO_8601)return B(t),void 0;t._a=[],t._pf.empty=!0;var e,n,a,s,i,r=""+t._i,o=r.length,u=0;for(a=A(t._f,t._locale).match(Ie)||[],e=0;e0&&t._pf.unusedInput.push(i),r=r.slice(r.indexOf(n)+n.length),u+=n.length),fn[s]?(n?t._pf.empty=!1:t._pf.unusedTokens.push(s),j(s,n,t)):t._strict&&!n&&t._pf.unusedTokens.push(s);t._pf.charsLeftOver=o-u,r.length>0&&t._pf.unusedInput.push(r),t._isPm&&t._a[Se]<12&&(t._a[Se]+=12),t._isPm===!1&&12===t._a[Se]&&(t._a[Se]=0),$(t),F(t)}function Q(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,a,s){return e||n||a||s})}function R(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function X(t){var e,n,s,i,r;if(0===t._f.length)return t._pf.invalidFormat=!0,t._d=new Date(0/0),void 0;for(i=0;ir)&&(s=r,n=e));h(t,n||e)}function B(t){var e,n,a=t._i,s=tn.exec(a);if(s){for(t._pf.iso=!0,e=0,n=nn.length;n>e;e++)if(nn[e][1].exec(a)){t._f=nn[e][0]+(s[6]||" ");break}for(e=0,n=an.length;n>e;e++)if(an[e][1].exec(a)){t._f+=an[e][0];break}a.match(Ee)&&(t._f+="Z"),q(t)}else t._isValid=!1}function K(t){B(t),t._isValid===!1&&(delete t._isValid,De.createFromInputFallback(t))}function te(t,e){var n,a=[];for(n=0;nt&&o.setFullYear(t),o}function ae(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function se(t,e){if("string"==typeof t)if(isNaN(t)){if(t=e.weekdaysParse(t),"number"!=typeof t)return null}else t=parseInt(t,10);return t}function ie(t,e,n,a,s){return s.relativeTime(e||1,!!n,t,a)}function re(t,e,n){var a=De.duration(t).abs(),s=Me(a.as("s")),i=Me(a.as("m")),r=Me(a.as("h")),o=Me(a.as("d")),u=Me(a.as("M")),c=Me(a.as("y")),d=s0,d[4]=n,ie.apply({},d)}function oe(t,e,n){var a,s=n-e,i=n-t.day();return i>s&&(i-=7),s-7>i&&(i+=7),a=De(t).add(i,"d"),{week:Math.ceil(a.dayOfYear()/7),year:a.year()}}function ue(t,e,n,a,s){var i,r,o=ae(t,0,1).getUTCDay();return o=0===o?7:o,n=null!=n?n:s,i=s-o+(o>a?7:0)-(s>o?7:0),r=7*(e-1)+(n-s)+i+1,{year:r>0?t:t-1,dayOfYear:r>0?r:W(t-1)+r}}function ce(e){var n=e._i,a=e._f;return e._locale=e._locale||De.localeData(e._l),null===n||a===t&&""===n?De.invalid({nullInput:!0}):("string"==typeof n&&(e._i=n=e._locale.preparse(n)),De.isMoment(n)?new d(n,!0):(a?k(a)?X(e):q(e):ee(e),new d(e)))}function de(t,e){var n,a;if(1===e.length&&k(e[0])&&(e=e[0]),!e.length)return De();for(n=e[0],a=1;a=0?"+":"-";return e+_(Math.abs(t),6)},gg:function(){return _(this.weekYear()%100,2)},gggg:function(){return _(this.weekYear(),4)},ggggg:function(){return _(this.weekYear(),5)},GG:function(){return _(this.isoWeekYear()%100,2)},GGGG:function(){return _(this.isoWeekYear(),4)},GGGGG:function(){return _(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return S(this.milliseconds()/100)},SS:function(){return _(S(this.milliseconds()/10),2)},SSS:function(){return _(this.milliseconds(),3)},SSSS:function(){return _(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(S(t/60),2)+":"+_(S(t)%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(S(t/60),2)+_(S(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},mn={},_n=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];ln.length;)ge=ln.pop(),fn[ge+"o"]=u(fn[ge],ge);for(;hn.length;)ge=hn.pop(),fn[ge+ge]=o(fn[ge],2);fn.DDDD=o(fn.DDD,3),h(c.prototype,{set:function(t){var e,n;for(n in t)e=t[n],"function"==typeof e?this[n]=e:this["_"+n]=e},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t){var e,n,a;for(this._monthsParse||(this._monthsParse=[]),e=0;12>e;e++)if(this._monthsParse[e]||(n=De.utc([2e3,e]),a="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[e]=new RegExp(a.replace(".",""),"i")),this._monthsParse[e].test(t))return e},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,n,a;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(n=De([2e3,1]).day(e),a="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[e]=new RegExp(a.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e},isPM:function(t){return"p"===(t+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e){var n=this._calendar[t];return"function"==typeof n?n.apply(e):n},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(t,e,n,a){var s=this._relativeTime[n];return"function"==typeof s?s(t,e,n,a):s.replace(/%d/i,t)},pastFuture:function(t,e){var n=this._relativeTime[t>0?"future":"past"];return"function"==typeof n?n(e):n.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",preparse:function(t){return t},postformat:function(t){return t},week:function(t){return oe(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),De=function(e,n,s,i){var r;return"boolean"==typeof s&&(i=s,s=t),r={},r._isAMomentObject=!0,r._i=e,r._f=n,r._l=s,r._strict=i,r._isUTC=!1,r._pf=a(),ce(r)},De.suppressDeprecationWarnings=!1,De.createFromInputFallback=i("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i)}),De.min=function(){var t=[].slice.call(arguments,0);return de("isBefore",t)},De.max=function(){var t=[].slice.call(arguments,0);return de("isAfter",t)},De.utc=function(e,n,s,i){var r;return"boolean"==typeof s&&(i=s,s=t),r={},r._isAMomentObject=!0,r._useUTC=!0,r._isUTC=!0,r._l=s,r._i=e,r._f=n,r._strict=i,r._pf=a(),ce(r).utc()},De.unix=function(t){return De(1e3*t)},De.duration=function(t,e){var a,s,i,r,o=t,u=null;return De.isDuration(t)?o={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(o={},e?o[e]=t:o.milliseconds=t):(u=ze.exec(t))?(a="-"===u[1]?-1:1,o={y:0,d:S(u[be])*a,h:S(u[Se])*a,m:S(u[Te])*a,s:S(u[Oe])*a,ms:S(u[We])*a}):(u=xe.exec(t))?(a="-"===u[1]?-1:1,i=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*a},o={y:i(u[2]),M:i(u[3]),d:i(u[4]),h:i(u[5]),m:i(u[6]),s:i(u[7]),w:i(u[8])}):"object"==typeof o&&("from"in o||"to"in o)&&(r=y(De(o.from),De(o.to)),o={},o.ms=r.milliseconds,o.M=r.months),s=new l(o),De.isDuration(t)&&n(t,"_locale")&&(s._locale=t._locale),s},De.version=ke,De.defaultFormat=en,De.ISO_8601=function(){},De.momentProperties=Fe,De.updateOffset=function(){},De.relativeTimeThreshold=function(e,n){return dn[e]===t?!1:n===t?dn[e]:(dn[e]=n,!0)},De.lang=i("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return De.locale(t,e)}),De.locale=function(t,e){var n;return t&&(n="undefined"!=typeof e?De.defineLocale(t,e):De.localeData(t),n&&(De.duration._locale=De._locale=n)),De._locale._abbr},De.defineLocale=function(t,e){return null!==e?(e.abbr=t,Ue[t]||(Ue[t]=new c),Ue[t].set(e),De.locale(t),Ue[t]):(delete Ue[t],null)},De.langData=i("moment.langData is deprecated. Use moment.localeData instead.",function(t){return De.localeData(t)}),De.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return De._locale;if(!k(t)){if(e=x(t))return e;t=[t]}return z(t)},De.isMoment=function(t){return t instanceof d||null!=t&&n(t,"_isAMomentObject")},De.isDuration=function(t){return t instanceof l};for(ge=_n.length-1;ge>=0;--ge)b(_n[ge]);De.normalizeUnits=function(t){return w(t)},De.invalid=function(t){var e=De.utc(0/0);return null!=t?h(e._pf,t):e._pf.userInvalidated=!0,e},De.parseZone=function(){return De.apply(null,arguments).parseZone()},De.parseTwoDigitYear=function(t){return S(t)+(S(t)>68?1900:2e3)},h(De.fn=d.prototype,{clone:function(){return De(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var t=De(this).utc();return 00:!1},parsingFlags:function(){return h({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.zone(0,t)},local:function(t){return this._isUTC&&(this.zone(0,t),this._isUTC=!1,t&&this.add(this._dateTzOffset(),"m")),this},format:function(t){var e=P(this,t||De.defaultFormat);return this.localeData().postformat(e)},add:D(1,"add"),subtract:D(-1,"subtract"),diff:function(t,e,n){var a,s,i,r=I(t,this),o=6e4*(this.zone()-r.zone());return e=w(e),"year"===e||"month"===e?(a=432e5*(this.daysInMonth()+r.daysInMonth()),s=12*(this.year()-r.year())+(this.month()-r.month()),i=this-De(this).startOf("month")-(r-De(r).startOf("month")),i-=6e4*(this.zone()-De(this).startOf("month").zone()-(r.zone()-De(r).startOf("month").zone())),s+=i/a,"year"===e&&(s/=12)):(a=this-r,s="second"===e?a/1e3:"minute"===e?a/6e4:"hour"===e?a/36e5:"day"===e?(a-o)/864e5:"week"===e?(a-o)/6048e5:a),n?s:m(s)},from:function(t,e){return De.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(De(),t)},calendar:function(t){var e=t||De(),n=I(e,this).startOf("day"),a=this.diff(n,"days",!0),s=-6>a?"sameElse":-1>a?"lastWeek":0>a?"lastDay":1>a?"sameDay":2>a?"nextDay":7>a?"nextWeek":"sameElse";return this.format(this.localeData().calendar(s,this))},isLeapYear:function(){return U(this.year())},isDST:function(){return this.zone()+t):+this.clone().startOf(e)>+De(t).startOf(e)},isBefore:function(t,e){return e=w("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=De.isMoment(t)?t:De(t),+t>+this):+this.clone().startOf(e)<+De(t).startOf(e)},isSame:function(t,e){return e=w(e||"millisecond"),"millisecond"===e?(t=De.isMoment(t)?t:De(t),+this===+t):+this.clone().startOf(e)===+I(t,this).startOf(e)},min:i("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(t){return t=De.apply(null,arguments),this>t?this:t}),max:i("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=De.apply(null,arguments),t>this?this:t}),zone:function(t,e){var n,a=this._offset||0;return null==t?this._isUTC?a:this._dateTzOffset():("string"==typeof t&&(t=Z(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(n=this._dateTzOffset()),this._offset=t,this._isUTC=!0,null!=n&&this.subtract(n,"m"),a!==t&&(!e||this._changeInProgress?g(this,De.duration(a-t,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,De.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":"" +},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(t){return t=t?De(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return T(this.year(),this.month())},dayOfYear:function(t){var e=Me((De(this).startOf("day")-De(this).startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},quarter:function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},weekYear:function(t){var e=oe(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=oe(this,1,4).year;return null==t?e:this.add(t-e,"y")},week:function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},isoWeek:function(t){var e=oe(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},weekday:function(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},isoWeeksInYear:function(){return O(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return O(this.year(),t.dow,t.doy)},get:function(t){return t=w(t),this[t]()},set:function(t,e){return t=w(t),"function"==typeof this[t]&&this[t](e),this},locale:function(e){var n;return e===t?this._locale._abbr:(n=De.localeData(e),null!=n&&(this._locale=n),this)},lang:i("moment().lang() is deprecated. Use moment().localeData() instead.",function(e){return e===t?this.localeData():this.locale(e)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),De.fn.millisecond=De.fn.milliseconds=me("Milliseconds",!1),De.fn.second=De.fn.seconds=me("Seconds",!1),De.fn.minute=De.fn.minutes=me("Minutes",!1),De.fn.hour=De.fn.hours=me("Hours",!0),De.fn.date=me("Date",!0),De.fn.dates=i("dates accessor is deprecated. Use date instead.",me("Date",!0)),De.fn.year=me("FullYear",!0),De.fn.years=i("years accessor is deprecated. Use year instead.",me("FullYear",!0)),De.fn.days=De.fn.day,De.fn.months=De.fn.month,De.fn.weeks=De.fn.week,De.fn.isoWeeks=De.fn.isoWeek,De.fn.quarters=De.fn.quarter,De.fn.toJSON=De.fn.toISOString,h(De.duration.fn=l.prototype,{_bubble:function(){var t,e,n,a=this._milliseconds,s=this._days,i=this._months,r=this._data,o=0;r.milliseconds=a%1e3,t=m(a/1e3),r.seconds=t%60,e=m(t/60),r.minutes=e%60,n=m(e/60),r.hours=n%24,s+=m(n/24),o=m(_e(s)),s-=m(pe(o)),i+=m(s/30),s%=30,o+=m(i/12),i%=12,r.days=s,r.months=i,r.years=o},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return m(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*S(this._months/12)},humanize:function(t){var e=re(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var n=De.duration(t,e);return this._milliseconds+=n._milliseconds,this._days+=n._days,this._months+=n._months,this._bubble(),this},subtract:function(t,e){var n=De.duration(t,e);return this._milliseconds-=n._milliseconds,this._days-=n._days,this._months-=n._months,this._bubble(),this},get:function(t){return t=w(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,n;if(t=w(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,n=this._months+12*_e(e),"month"===t?n:n/12;switch(e=this._days+pe(this._months/12),t){case"week":return e/7+this._milliseconds/6048e5;case"day":return e+this._milliseconds/864e5;case"hour":return 24*e+this._milliseconds/36e5;case"minute":return 24*e*60+this._milliseconds/6e4;case"second":return 24*e*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+t)}},lang:De.fn.lang,locale:De.fn.locale,toIsoString:i("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var t=Math.abs(this.years()),e=Math.abs(this.months()),n=Math.abs(this.days()),a=Math.abs(this.hours()),s=Math.abs(this.minutes()),i=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(n?n+"D":"")+(a||s||i?"T":"")+(a?a+"H":"")+(s?s+"M":"")+(i?i+"S":""):"P0D"},localeData:function(){return this._locale}}),De.duration.fn.toString=De.duration.fn.toISOString;for(ge in rn)n(rn,ge)&&ye(ge.toLowerCase());return De.duration.fn.asMilliseconds=function(){return this.as("ms")},De.duration.fn.asSeconds=function(){return this.as("s")},De.duration.fn.asMinutes=function(){return this.as("m")},De.duration.fn.asHours=function(){return this.as("h")},De.duration.fn.asDays=function(){return this.as("d")},De.duration.fn.asWeeks=function(){return this.as("weeks")},De.duration.fn.asMonths=function(){return this.as("M")},De.duration.fn.asYears=function(){return this.as("y")},De.locale("en",{ordinal:function(t){var e=t%10,n=1===S(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),De}.call(this),t.Utils.moment=n,t.datepicker}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/form-password.js b/bower_components/uikit/js/components/form-password.js new file mode 100644 index 0000000..a4082ee --- /dev/null +++ b/bower_components/uikit/js/components/form-password.js @@ -0,0 +1,67 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-form-password', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + "use strict"; + + UI.component('formPassword', { + + defaults: { + lblShow: 'Show', + lblHide: 'Hide' + }, + + boot: function() { + // init code + UI.$html.on('click.formpassword.uikit', '[data-uk-form-password]', function(e) { + + var ele = UI.$(this); + + if (!ele.data('formPassword')) { + + e.preventDefault(); + + UI.formPassword(ele, UI.Utils.options(ele.attr('data-uk-form-password'))); + ele.trigger('click'); + } + }); + }, + + init: function() { + + var $this = this; + + this.on('click', function(e) { + + e.preventDefault(); + + if($this.input.length) { + var type = $this.input.attr('type'); + $this.input.attr('type', type=='text' ? 'password':'text'); + $this.element.html($this.options[type=='text' ? 'lblShow':'lblHide']); + } + }); + + this.input = this.element.next('input').length ? this.element.next('input') : this.element.prev('input'); + this.element.html(this.options[this.input.is('[type="password"]') ? 'lblShow':'lblHide']); + + + this.element.data('formPassword', this); + } + }); + + return UI.formPassword; +}); diff --git a/bower_components/uikit/js/components/form-password.min.js b/bower_components/uikit/js/components/form-password.min.js new file mode 100644 index 0000000..8201cb7 --- /dev/null +++ b/bower_components/uikit/js/components/form-password.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var i;window.UIkit2&&(i=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-form-password",["uikit"],function(){return i||t(UIkit2)})}(function(t){"use strict";return t.component("formPassword",{defaults:{lblShow:"Show",lblHide:"Hide"},boot:function(){t.$html.on("click.formpassword.uikit","[data-uk-form-password]",function(i){var e=t.$(this);e.data("formPassword")||(i.preventDefault(),t.formPassword(e,t.Utils.options(e.attr("data-uk-form-password"))),e.trigger("click"))})},init:function(){var t=this;this.on("click",function(i){if(i.preventDefault(),t.input.length){var e=t.input.attr("type");t.input.attr("type","text"==e?"password":"text"),t.element.html(t.options["text"==e?"lblShow":"lblHide"])}}),this.input=this.element.next("input").length?this.element.next("input"):this.element.prev("input"),this.element.html(this.options[this.input.is('[type="password"]')?"lblShow":"lblHide"]),this.element.data("formPassword",this)}}),t.formPassword}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/form-select.js b/bower_components/uikit/js/components/form-select.js new file mode 100644 index 0000000..5bfc02e --- /dev/null +++ b/bower_components/uikit/js/components/form-select.js @@ -0,0 +1,85 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-form-select', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + "use strict"; + + UI.component('formSelect', { + + defaults: { + target: '>span:first', + activeClass: 'uk-active' + }, + + boot: function() { + // init code + UI.ready(function(context) { + + UI.$('[data-uk-form-select]', context).each(function(){ + + var ele = UI.$(this); + + if (!ele.data('formSelect')) { + UI.formSelect(ele, UI.Utils.options(ele.attr('data-uk-form-select'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.target = this.find(this.options.target); + this.select = this.find('select'); + + // init + on change event + this.select.on({ + + change: (function(){ + + var select = $this.select[0], fn = function(){ + + try { + + if($this.options.target === 'input') { + $this.target.val(select.options[select.selectedIndex].text); + } else { + $this.target.text(select.options[select.selectedIndex].text); + } + + } catch(e) {} + + $this.element[$this.select.val() ? 'addClass':'removeClass']($this.options.activeClass); + + return fn; + }; + + return fn(); + })(), + + focus: function(){ $this.target.addClass('uk-focus') }, + blur: function(){ $this.target.removeClass('uk-focus') }, + mouseenter: function(){ $this.target.addClass('uk-hover') }, + mouseleave: function(){ $this.target.removeClass('uk-hover') } + }); + + this.element.data("formSelect", this); + } + }); + + return UI.formSelect; +}); diff --git a/bower_components/uikit/js/components/form-select.min.js b/bower_components/uikit/js/components/form-select.min.js new file mode 100644 index 0000000..fe1a750 --- /dev/null +++ b/bower_components/uikit/js/components/form-select.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var e;window.UIkit2&&(e=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-form-select",["uikit"],function(){return e||t(UIkit2)})}(function(t){"use strict";return t.component("formSelect",{defaults:{target:">span:first",activeClass:"uk-active"},boot:function(){t.ready(function(e){t.$("[data-uk-form-select]",e).each(function(){var e=t.$(this);e.data("formSelect")||t.formSelect(e,t.Utils.options(e.attr("data-uk-form-select")))})})},init:function(){var t=this;this.target=this.find(this.options.target),this.select=this.find("select"),this.select.on({change:function(){var e=t.select[0],n=function(){try{"input"===t.options.target?t.target.val(e.options[e.selectedIndex].text):t.target.text(e.options[e.selectedIndex].text)}catch(s){}return t.element[t.select.val()?"addClass":"removeClass"](t.options.activeClass),n};return n()}(),focus:function(){t.target.addClass("uk-focus")},blur:function(){t.target.removeClass("uk-focus")},mouseenter:function(){t.target.addClass("uk-hover")},mouseleave:function(){t.target.removeClass("uk-hover")}}),this.element.data("formSelect",this)}}),t.formSelect}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/grid-parallax.js b/bower_components/uikit/js/components/grid-parallax.js new file mode 100644 index 0000000..7d826e1 --- /dev/null +++ b/bower_components/uikit/js/components/grid-parallax.js @@ -0,0 +1,168 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-grid-parallax', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + var parallaxes = [], checkParallaxes = function() { + + requestAnimationFrame(function(){ + for (var i=0; i < parallaxes.length; i++) { + parallaxes[i].process(); + } + }); + }; + + + UI.component('gridparallax', { + + defaults: { + target : false, + smooth : 150, + translate : 150 + }, + + boot: function() { + + // listen to scroll and resize + UI.$doc.on('scrolling.uk.document', checkParallaxes); + UI.$win.on('load resize orientationchange', UI.Utils.debounce(function(){ + checkParallaxes(); + }, 50)); + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-grid-parallax]', context).each(function() { + + var parallax = UI.$(this); + + if (!parallax.data('gridparallax')) { + UI.gridparallax(parallax, UI.Utils.options(parallax.attr('data-uk-grid-parallax'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.initItems().process(); + parallaxes.push(this); + + UI.$win.on('load resize orientationchange', (function() { + + var fn = function() { + var columns = getcolumns($this.element); + + $this.element.css('margin-bottom', ''); + + if (columns > 1) { + $this.element.css('margin-bottom', $this.options.translate + parseInt($this.element.css('margin-bottom'))); + } + }; + + UI.$(function() { fn(); }); + + return UI.Utils.debounce(fn, 50); + })()); + }, + + initItems: function() { + + var smooth = this.options.smooth; + + this.items = (this.options.target ? this.element.find(this.options.target) : this.element.children()).each(function(){ + UI.$(this).css({ + transition: 'transform '+smooth+'ms linear', + transform: '' + }); + }); + + return this; + }, + + process: function() { + + var percent = percentageInViewport(this.element), + columns = getcolumns(this.element), + items = this.items, + mods = [(columns-1)]; + + if (columns == 1 || !percent) { + items.css('transform', ''); + return; + } + + while(mods.length < columns) { + if (!(mods[mods.length-1] - 2)) break; + mods.push(mods[mods.length-1] - 2); + } + + var translate = this.options.translate, percenttranslate = percent * translate; + + items.each(function(idx, ele, translate){ + translate = mods.indexOf((idx+1) % columns) != -1 ? percenttranslate : percenttranslate / 8; + UI.$(this).css('transform', 'translate3d(0,'+(translate)+'px, 0)'); + }); + } + + }); + + + function getcolumns(element) { + + var children = element.children(), + first = children.filter(':visible:first'), + top = first[0].offsetTop + first.outerHeight(); + + for (var column=0;column= top) break; + } + + return column || 1; + } + + function percentageInViewport(element) { + + var top = element.offset().top, + height = element.outerHeight(), + scrolltop = UI.$win.scrollTop(), + wh = window.innerHeight, + distance, percentage, percent; + + if (top > (scrolltop + wh)) { + percent = 0; + } else if ((top + height) < scrolltop) { + percent = 1; + } else { + + if ((top + height) < wh) { + percent = (scrolltop < wh ? scrolltop : scrolltop - wh) / (top+height); + } else { + + distance = (scrolltop + wh) - top; + percentage = Math.round(distance / ((wh + height) / 100)); + percent = percentage/100; + } + + if (top < wh) { + percent = percent * scrolltop / ((top + height) - wh); + } + } + + return percent > 1 ? 1:percent; + } +}); diff --git a/bower_components/uikit/js/components/grid-parallax.min.js b/bower_components/uikit/js/components/grid-parallax.min.js new file mode 100644 index 0000000..0bc309f --- /dev/null +++ b/bower_components/uikit/js/components/grid-parallax.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var n;window.UIkit2&&(n=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-grid-parallax",["uikit"],function(){return n||t(UIkit2)})}(function(t){function n(t){for(var n=t.children(),i=n.filter(":visible:first"),e=i[0].offsetTop+i.outerHeight(),o=0;o=e);o++);return o||1}function i(n){var i,e,o,r=n.offset().top,s=n.outerHeight(),a=t.$win.scrollTop(),l=window.innerHeight;return r>a+l?o=0:a>r+s?o=1:(l>r+s?o=(l>a?a:a-l)/(r+s):(i=a+l-r,e=Math.round(i/((l+s)/100)),o=e/100),l>r&&(o=o*a/(r+s-l))),o>1?1:o}var e=[],o=function(){requestAnimationFrame(function(){for(var t=0;t1&&i.element.css("margin-bottom",i.options.translate+parseInt(i.element.css("margin-bottom")))};return t.$(function(){e()}),t.Utils.debounce(e,50)}())},initItems:function(){var n=this.options.smooth;return this.items=(this.options.target?this.element.find(this.options.target):this.element.children()).each(function(){t.$(this).css({transition:"transform "+n+"ms linear",transform:""})}),this},process:function(){var e=i(this.element),o=n(this.element),r=this.items,s=[o-1];if(1==o||!e)return r.css("transform",""),void 0;for(;s.length -1) infilter = true; + }); + } + + elements[infilter ? "visible":"hidden"].push(ele); + }); + + // convert to jQuery collections + elements.hidden = UI.$(elements.hidden).map(function () {return this[0];}); + elements.visible = UI.$(elements.visible).map(function () {return this[0];}); + + elements.hidden.attr('aria-hidden', 'true').filter(':visible').fadeOut(this.options.duration); + elements.visible.attr('aria-hidden', 'false').filter(':hidden').css('opacity', 0).show(); + + $this.update(elements.visible); + + if (this.controls && this.controls.length) { + this.controls.find('[data-uk-filter]').removeClass('uk-active').filter('[data-uk-filter="'+filter+'"]').addClass('uk-active'); + } + }, + + sort: function(by, order){ + + order = order || 1; + + // covert from string (asc|desc) to number + if (typeof(order) === 'string') { + order = order.toLowerCase() == 'desc' ? -1 : 1; + } + + var elements = this.element.children(); + + elements.sort(function(a, b){ + + a = UI.$(a); + b = UI.$(b); + + return (b.data(by) || '') < (a.data(by) || '') ? order : (order*-1); + + }).appendTo(this.element); + + this.update(elements.filter(':visible')); + + if (this.controls && this.controls.length) { + this.controls.find('[data-uk-sort]').removeClass('uk-active').filter('[data-uk-sort="'+by+':'+(order == -1 ? 'desc':'asc')+'"]').addClass('uk-active'); + } + } + }); + +}); diff --git a/bower_components/uikit/js/components/grid.min.js b/bower_components/uikit/js/components/grid.min.js new file mode 100644 index 0000000..aa414b7 --- /dev/null +++ b/bower_components/uikit/js/components/grid.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var i;window.UIkit2&&(i=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-grid",["uikit"],function(){return i||t(UIkit2)})}(function(t){"use strict";t.component("grid",{defaults:{colwidth:"auto",animation:!0,duration:300,gutter:0,controls:!1,filter:!1,origin:t.langdirection},boot:function(){t.ready(function(i){t.$("[data-uk-grid]",i).each(function(){var i=t.$(this);i.data("grid")||t.grid(i,t.Utils.options(i.attr("data-uk-grid")))})})},init:function(){var i=this,e=String(this.options.gutter).trim().split(" ");this.gutterv=parseInt(e[0],10),this.gutterh=parseInt(e[1]||e[0],10),this.element.css({position:"relative"}),this.controls=null,this.origin=this.options.origin,this.options.controls&&(this.controls=t.$(this.options.controls),this.controls.on("click","[data-uk-filter]",function(e){e.preventDefault(),i.filter(t.$(this).attr("data-uk-filter"))}),this.controls.on("click","[data-uk-sort]",function(e){e.preventDefault();var n=t.$(this).attr("data-uk-sort").split(":");i.sort(n[0],n[1])})),t.$win.on("load resize orientationchange",t.Utils.debounce(function(){i.currentfilter?i.filter(i.currentfilter):this.update()}.bind(this),100)),this.on("display.uk.check",function(){i.element.is(":visible")&&i.update()}),t.domObserve(this.element,function(){i.update()}),this.options.filter!==!1?this.filter(this.options.filter):this.update()},_prepareElements:function(){var t,i=this.element.children().not("[data-grid-prepared]");i.length&&(t={position:"absolute",boxSizing:"border-box",width:"auto"==this.options.colwidth?"":this.options.colwidth},this.options.gutter&&(t["padding-"+this.origin]=this.gutterh,t["padding-bottom"]=this.gutterv,this.element.css("margin-"+this.origin,-1*this.gutterh)),i.attr("data-grid-prepared","true").css(t))},update:function(i){var e=this;this._prepareElements(),i=i||this.element.children(":visible");var n,o,s,r,a,h,d,l,u,c=i,f=this.element.width()+2*this.gutterh+2,p=0,g=0,m=[];this.trigger("beforeupdate.uk.grid",[c]),c.each(function(){for(n=t.$(this),u=this.getBoundingClientRect(),o=u.width,s=u.height,p=0,g=0,h=0,l=m.length;l>h;h++)r=m[h],p<=r.aX&&(p=r.aX),p+o>f&&(p=0),g<=r.aY&&(g=r.aY);a={ele:n,top:g,width:o,height:s,aY:g+s,aX:p+o},a[e.origin]=p,m.push(a)});var v,k,b=0;for(h=0,l=m.length;l>h;h++){for(r=m[h],g=0,d=0;h>d;d++)v=m[d],r[this.origin]-1&&(s=!0)})),o[s?"visible":"hidden"].push(e)}),o.hidden=t.$(o.hidden).map(function(){return this[0]}),o.visible=t.$(o.visible).map(function(){return this[0]}),o.hidden.attr("aria-hidden","true").filter(":visible").fadeOut(this.options.duration),o.visible.attr("aria-hidden","false").filter(":hidden").css("opacity",0).show(),e.update(o.visible),this.controls&&this.controls.length&&this.controls.find("[data-uk-filter]").removeClass("uk-active").filter('[data-uk-filter="'+i+'"]').addClass("uk-active")},sort:function(i,e){e=e||1,"string"==typeof e&&(e="desc"==e.toLowerCase()?-1:1);var n=this.element.children();n.sort(function(n,o){return n=t.$(n),o=t.$(o),(o.data(i)||"")<(n.data(i)||"")?e:-1*e}).appendTo(this.element),this.update(n.filter(":visible")),this.controls&&this.controls.length&&this.controls.find("[data-uk-sort]").removeClass("uk-active").filter('[data-uk-sort="'+i+":"+(-1==e?"desc":"asc")+'"]').addClass("uk-active")}})}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/htmleditor.js b/bower_components/uikit/js/components/htmleditor.js new file mode 100644 index 0000000..8a6e52f --- /dev/null +++ b/bower_components/uikit/js/components/htmleditor.js @@ -0,0 +1,679 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-htmleditor', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI) { + + "use strict"; + + var editors = []; + + UI.component('htmleditor', { + + defaults: { + iframe : false, + mode : 'split', + markdown : false, + autocomplete : true, + enablescripts: false, + height : 500, + maxsplitsize : 1000, + codemirror : { mode: 'htmlmixed', lineWrapping: true, dragDrop: false, autoCloseTags: true, matchTags: true, autoCloseBrackets: true, matchBrackets: true, indentUnit: 4, indentWithTabs: false, tabSize: 4, hintOptions: {completionSingle:false} }, + toolbar : [ 'bold', 'italic', 'strike', 'link', 'image', 'blockquote', 'listUl', 'listOl' ], + lblPreview : 'Preview', + lblCodeview : 'HTML', + lblMarkedview: 'Markdown' + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('textarea[data-uk-htmleditor]', context).each(function() { + + var editor = UI.$(this); + + if (!editor.data('htmleditor')) { + UI.htmleditor(editor, UI.Utils.options(editor.attr('data-uk-htmleditor'))); + } + }); + }); + }, + + init: function() { + + var $this = this, tpl = UI.components.htmleditor.template; + + this.CodeMirror = this.options.CodeMirror || CodeMirror; + this.buttons = {}; + + tpl = tpl.replace(/\{:lblPreview}/g, this.options.lblPreview); + tpl = tpl.replace(/\{:lblCodeview}/g, this.options.lblCodeview); + + this.htmleditor = UI.$(tpl); + this.content = this.htmleditor.find('.uk-htmleditor-content'); + this.toolbar = this.htmleditor.find('.uk-htmleditor-toolbar'); + this.preview = this.htmleditor.find('.uk-htmleditor-preview').children().eq(0); + this.code = this.htmleditor.find('.uk-htmleditor-code'); + + this.element.before(this.htmleditor).appendTo(this.code); + this.editor = this.CodeMirror.fromTextArea(this.element[0], this.options.codemirror); + this.editor.htmleditor = this; + this.editor.on('change', UI.Utils.debounce(function() { $this.render(); }, 150)); + this.editor.on('change', function() { + $this.editor.save(); + $this.element.trigger('input'); + }); + this.code.find('.CodeMirror').css('height', this.options.height); + + // iframe mode? + if (this.options.iframe) { + + this.iframe = UI.$(''); + this.preview.append(this.iframe); + + // must open and close document object to start using it! + this.iframe[0].contentWindow.document.open(); + this.iframe[0].contentWindow.document.close(); + + this.preview.container = UI.$(this.iframe[0].contentWindow.document).find('body'); + + // append custom stylesheet + if (typeof(this.options.iframe) === 'string') { + this.preview.container.parent().append(''); + } + + } else { + this.preview.container = this.preview; + } + + UI.$win.on('resize load', UI.Utils.debounce(function() { $this.fit(); }, 200)); + + var previewContainer = this.iframe ? this.preview.container:$this.preview.parent(), + codeContent = this.code.find('.CodeMirror-sizer'), + codeScroll = this.code.find('.CodeMirror-scroll').on('scroll', UI.Utils.debounce(function() { + + if ($this.htmleditor.attr('data-mode') == 'tab') return; + + // calc position + var codeHeight = codeContent.height() - codeScroll.height(), + previewHeight = previewContainer[0].scrollHeight - ($this.iframe ? $this.iframe.height() : previewContainer.height()), + ratio = previewHeight / codeHeight, + previewPosition = codeScroll.scrollTop() * ratio; + + // apply new scroll + previewContainer.scrollTop(previewPosition); + + }, 10)); + + this.htmleditor.on('click', '.uk-htmleditor-button-code, .uk-htmleditor-button-preview', function(e) { + + e.preventDefault(); + + if ($this.htmleditor.attr('data-mode') == 'tab') { + + $this.htmleditor.find('.uk-htmleditor-button-code, .uk-htmleditor-button-preview').removeClass('uk-active').filter(this).addClass('uk-active'); + + $this.activetab = UI.$(this).hasClass('uk-htmleditor-button-code') ? 'code' : 'preview'; + $this.htmleditor.attr('data-active-tab', $this.activetab); + $this.editor.refresh(); + } + }); + + // toolbar actions + this.htmleditor.on('click', 'a[data-htmleditor-button]', function() { + + if (!$this.code.is(':visible')) return; + + $this.trigger('action.' + UI.$(this).data('htmleditor-button'), [$this.editor]); + }); + + this.preview.parent().css('height', this.code.height()); + + // autocomplete + if (this.options.autocomplete && this.CodeMirror.showHint && this.CodeMirror.hint && this.CodeMirror.hint.html) { + + this.editor.on('inputRead', UI.Utils.debounce(function() { + var doc = $this.editor.getDoc(), POS = doc.getCursor(), mode = $this.CodeMirror.innerMode($this.editor.getMode(), $this.editor.getTokenAt(POS).state).mode.name; + + if (mode == 'xml') { //html depends on xml + + var cur = $this.editor.getCursor(), token = $this.editor.getTokenAt(cur); + + if (token.string.charAt(0) == '<' || token.type == 'attribute') { + $this.CodeMirror.showHint($this.editor, $this.CodeMirror.hint.html, { completeSingle: false }); + } + } + }, 100)); + } + + this.debouncedRedraw = UI.Utils.debounce(function () { $this.redraw(); }, 5); + + this.on('init.uk.component', function() { + $this.debouncedRedraw(); + }); + + this.element.attr('data-uk-check-display', 1).on('display.uk.check', function(e) { + if (this.htmleditor.is(":visible")) this.fit(); + }.bind(this)); + + editors.push(this); + }, + + addButton: function(name, button) { + this.buttons[name] = button; + }, + + addButtons: function(buttons) { + UI.$.extend(this.buttons, buttons); + }, + + replaceInPreview: function(regexp, callback) { + + var editor = this.editor, results = [], value = editor.getValue(), offset = -1, index = 0; + + this.currentvalue = this.currentvalue.replace(regexp, function() { + + offset = value.indexOf(arguments[0], ++offset); + + var match = { + matches: arguments, + from : translateOffset(offset), + to : translateOffset(offset + arguments[0].length), + replace: function(value) { + editor.replaceRange(value, match.from, match.to); + }, + inRange: function(cursor) { + + if (cursor.line === match.from.line && cursor.line === match.to.line) { + return cursor.ch >= match.from.ch && cursor.ch < match.to.ch; + } + + return (cursor.line === match.from.line && cursor.ch >= match.from.ch) || + (cursor.line > match.from.line && cursor.line < match.to.line) || + (cursor.line === match.to.line && cursor.ch < match.to.ch); + } + }; + + var result = typeof(callback) === 'string' ? callback : callback(match, index); + + if (!result && result !== '') { + return arguments[0]; + } + + index++; + + results.push(match); + return result; + }); + + function translateOffset(offset) { + var result = editor.getValue().substring(0, offset).split('\n'); + return { line: result.length - 1, ch: result[result.length - 1].length } + } + + return results; + }, + + _buildtoolbar: function() { + + if (!(this.options.toolbar && this.options.toolbar.length)) return; + + var $this = this, bar = []; + + this.toolbar.empty(); + + this.options.toolbar.forEach(function(button) { + if (!$this.buttons[button]) return; + + var title = $this.buttons[button].title ? $this.buttons[button].title : button; + + bar.push('
  • '+$this.buttons[button].label+'
  • '); + }); + + this.toolbar.html(bar.join('\n')); + }, + + fit: function() { + + var mode = this.options.mode; + + if (mode == 'split' && this.htmleditor.width() < this.options.maxsplitsize) { + mode = 'tab'; + } + + if (mode == 'tab') { + if (!this.activetab) { + this.activetab = 'code'; + this.htmleditor.attr('data-active-tab', this.activetab); + } + + this.htmleditor.find('.uk-htmleditor-button-code, .uk-htmleditor-button-preview').removeClass('uk-active') + .filter(this.activetab == 'code' ? '.uk-htmleditor-button-code' : '.uk-htmleditor-button-preview') + .addClass('uk-active'); + } + + this.editor.refresh(); + this.preview.parent().css('height', this.code.height()); + + this.htmleditor.attr('data-mode', mode); + }, + + redraw: function() { + this._buildtoolbar(); + this.render(); + this.fit(); + }, + + getMode: function() { + return this.editor.getOption('mode'); + }, + + getCursorMode: function() { + var param = { mode: 'html'}; + this.trigger('cursorMode', [param]); + return param.mode; + }, + + render: function() { + + this.currentvalue = this.editor.getValue(); + + if (!this.options.enablescripts) { + this.currentvalue = this.currentvalue.replace(/<(script|style)\b[^<]*(?:(?!<\/(script|style)>)<[^<]*)*<\/(script|style)>/img, ''); + } + + // empty code + if (!this.currentvalue) { + + this.element.val(''); + this.preview.container.html(''); + + return; + } + + this.trigger('render', [this]); + this.trigger('renderLate', [this]); + + this.preview.container.html(this.currentvalue); + }, + + addShortcut: function(name, callback) { + var map = {}; + if (!UI.$.isArray(name)) { + name = [name]; + } + + name.forEach(function(key) { + map[key] = callback; + }); + + this.editor.addKeyMap(map); + + return map; + }, + + addShortcutAction: function(action, shortcuts) { + var editor = this; + this.addShortcut(shortcuts, function() { + editor.element.trigger('action.' + action, [editor.editor]); + }); + }, + + replaceSelection: function(replace) { + + var text = this.editor.getSelection(); + + if (!text.length) { + + var cur = this.editor.getCursor(), + curLine = this.editor.getLine(cur.line), + start = cur.ch, + end = start; + + while (end < curLine.length && /[\w$]+/.test(curLine.charAt(end))) ++end; + while (start && /[\w$]+/.test(curLine.charAt(start - 1))) --start; + + var curWord = start != end && curLine.slice(start, end); + + if (curWord) { + this.editor.setSelection({ line: cur.line, ch: start}, { line: cur.line, ch: end }); + text = curWord; + } + } + + var html = replace.replace('$1', text); + + this.editor.replaceSelection(html, 'end'); + this.editor.focus(); + }, + + replaceLine: function(replace) { + var pos = this.editor.getDoc().getCursor(), + text = this.editor.getLine(pos.line), + html = replace.replace('$1', text); + + this.editor.replaceRange(html , { line: pos.line, ch: 0 }, { line: pos.line, ch: text.length }); + this.editor.setCursor({ line: pos.line, ch: html.length }); + this.editor.focus(); + }, + + save: function() { + this.editor.save(); + } + }); + + + UI.components.htmleditor.template = [ + '
    ', + '
    ', + '
      ', + '
      ', + '', + '
      ', + '
      ', + '
      ', + '
      ', + '
      ', + '
      ', + '
      ' + ].join(''); + + + UI.plugin('htmleditor', 'base', { + + init: function(editor) { + + editor.addButtons({ + + fullscreen: { + title : 'Fullscreen', + label : '' + }, + bold : { + title : 'Bold', + label : '' + }, + italic : { + title : 'Italic', + label : '' + }, + strike : { + title : 'Strikethrough', + label : '' + }, + blockquote : { + title : 'Blockquote', + label : '' + }, + link : { + title : 'Link', + label : '' + }, + image : { + title : 'Image', + label : '' + }, + listUl : { + title : 'Unordered List', + label : '' + }, + listOl : { + title : 'Ordered List', + label : '' + } + + }); + + addAction('bold', '$1'); + addAction('italic', '$1'); + addAction('strike', '$1'); + addAction('blockquote', '

      $1

      ', 'replaceLine'); + addAction('link', '$1'); + addAction('image', '$1'); + + var listfn = function(tag) { + if (editor.getCursorMode() == 'html') { + + tag = tag || 'ul'; + + var cm = editor.editor, + doc = cm.getDoc(), + pos = doc.getCursor(true), + posend = doc.getCursor(false), + im = CodeMirror.innerMode(cm.getMode(), cm.getTokenAt(cm.getCursor()).state), + inList = im && im.state && im.state.context && ['ul','ol'].indexOf(im.state.context.tagName) != -1; + + for (var i=pos.line; i<(posend.line+1);i++) { + cm.replaceRange('
    • '+cm.getLine(i)+'
    • ', { line: i, ch: 0 }, { line: i, ch: cm.getLine(i).length }); + } + + if (!inList) { + cm.replaceRange('<'+tag+'>'+"\n"+cm.getLine(pos.line), { line: pos.line, ch: 0 }, { line: pos.line, ch: cm.getLine(pos.line).length }); + cm.replaceRange(cm.getLine((posend.line+1))+"\n"+'', { line: (posend.line+1), ch: 0 }, { line: (posend.line+1), ch: cm.getLine((posend.line+1)).length }); + cm.setCursor({ line: posend.line+1, ch: cm.getLine(posend.line+1).length }); + } else { + cm.setCursor({ line: posend.line, ch: cm.getLine(posend.line).length }); + } + + cm.focus(); + } + }; + + editor.on('action.listUl', function() { + listfn('ul'); + }); + + editor.on('action.listOl', function() { + listfn('ol'); + }); + + editor.htmleditor.on('click', 'a[data-htmleditor-button="fullscreen"]', function() { + + editor.htmleditor.toggleClass('uk-htmleditor-fullscreen'); + + var wrap = editor.editor.getWrapperElement(); + + if (editor.htmleditor.hasClass('uk-htmleditor-fullscreen')) { + + var fixedParent = false, parents = editor.htmleditor.parents().each(function(){ + if (UI.$(this).css('position')=='fixed' && !UI.$(this).is('html')) { + fixedParent = UI.$(this); + } + }); + + editor.htmleditor.data('fixedParents', false); + + if (fixedParent) { + + var transformed = []; + + fixedParent = fixedParent.parent().find(parents).each(function(){ + + if (UI.$(this).css('transform') != 'none') { + transformed.push(UI.$(this).data('transform-reset', { + 'transform': this.style.transform, + '-webkit-transform': this.style.webkitTransform, + '-webkit-transition':this.style.webkitTransition, + 'transition':this.style.transition + }).css({ + 'transform': 'none', + '-webkit-transform': 'none', + '-webkit-transition':'none', + 'transition':'none' + })); + } + }); + + editor.htmleditor.data('fixedParents', transformed); + } + + editor.editor.state.fullScreenRestore = {scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset, width: wrap.style.width, height: wrap.style.height}; + wrap.style.width = ''; + wrap.style.height = editor.content.height()+'px'; + document.documentElement.style.overflow = 'hidden'; + + } else { + + document.documentElement.style.overflow = ''; + var info = editor.editor.state.fullScreenRestore; + wrap.style.width = info.width; wrap.style.height = info.height; + window.scrollTo(info.scrollLeft, info.scrollTop); + + if (editor.htmleditor.data('fixedParents')) { + editor.htmleditor.data('fixedParents').forEach(function(parent){ + parent.css(parent.data('transform-reset')); + }); + } + } + + setTimeout(function() { + editor.fit(); + UI.$win.trigger('resize'); + }, 50); + }); + + editor.addShortcut(['Ctrl-S', 'Cmd-S'], function() { editor.element.trigger('htmleditor-save', [editor]); }); + editor.addShortcutAction('bold', ['Ctrl-B', 'Cmd-B']); + + function addAction(name, replace, mode) { + editor.on('action.'+name, function() { + if (editor.getCursorMode() == 'html') { + editor[mode == 'replaceLine' ? 'replaceLine' : 'replaceSelection'](replace); + } + }); + } + } + }); + + UI.plugin('htmleditor', 'markdown', { + + init: function(editor) { + + var parser = editor.options.mdparser || window.marked || null; + + if (!parser) return; + + if (editor.options.markdown) { + enableMarkdown(); + } + + addAction('bold', '**$1**'); + addAction('italic', '*$1*'); + addAction('strike', '~~$1~~'); + addAction('blockquote', '> $1', 'replaceLine'); + addAction('link', '[$1](http://)'); + addAction('image', '![$1](http://)'); + + editor.on('action.listUl', function() { + + if (editor.getCursorMode() == 'markdown') { + + var cm = editor.editor, + pos = cm.getDoc().getCursor(true), + posend = cm.getDoc().getCursor(false); + + for (var i=pos.line; i<(posend.line+1);i++) { + cm.replaceRange('* '+cm.getLine(i), { line: i, ch: 0 }, { line: i, ch: cm.getLine(i).length }); + } + + cm.setCursor({ line: posend.line, ch: cm.getLine(posend.line).length }); + cm.focus(); + } + }); + + editor.on('action.listOl', function() { + + if (editor.getCursorMode() == 'markdown') { + + var cm = editor.editor, + pos = cm.getDoc().getCursor(true), + posend = cm.getDoc().getCursor(false), + prefix = 1; + + if (pos.line > 0) { + var prevline = cm.getLine(pos.line-1), matches; + + if(matches = prevline.match(/^(\d+)\./)) { + prefix = Number(matches[1])+1; + } + } + + for (var i=pos.line; i<(posend.line+1);i++) { + cm.replaceRange(prefix+'. '+cm.getLine(i), { line: i, ch: 0 }, { line: i, ch: cm.getLine(i).length }); + prefix++; + } + + cm.setCursor({ line: posend.line, ch: cm.getLine(posend.line).length }); + cm.focus(); + } + }); + + editor.on('renderLate', function() { + if (editor.editor.options.mode == 'gfm') { + editor.currentvalue = parser(editor.currentvalue); + } + }); + + editor.on('cursorMode', function(e, param) { + if (editor.editor.options.mode == 'gfm') { + var pos = editor.editor.getDoc().getCursor(); + if (!editor.editor.getTokenAt(pos).state.base.htmlState) { + param.mode = 'markdown'; + } + } + }); + + UI.$.extend(editor, { + + enableMarkdown: function() { + enableMarkdown(); + this.render(); + }, + disableMarkdown: function() { + this.editor.setOption('mode', 'htmlmixed'); + this.htmleditor.find('.uk-htmleditor-button-code a').html(this.options.lblCodeview); + this.render(); + } + + }); + + // switch markdown mode on event + editor.on({ + enableMarkdown : function() { editor.enableMarkdown(); }, + disableMarkdown : function() { editor.disableMarkdown(); } + }); + + function enableMarkdown() { + editor.editor.setOption('mode', 'gfm'); + editor.htmleditor.find('.uk-htmleditor-button-code a').html(editor.options.lblMarkedview); + } + + function addAction(name, replace, mode) { + editor.on('action.'+name, function() { + if (editor.getCursorMode() == 'markdown') { + editor[mode == 'replaceLine' ? 'replaceLine' : 'replaceSelection'](replace); + } + }); + } + } + }); + + return UI.htmleditor; +}); diff --git a/bower_components/uikit/js/components/htmleditor.min.js b/bower_components/uikit/js/components/htmleditor.min.js new file mode 100644 index 0000000..14d99eb --- /dev/null +++ b/bower_components/uikit/js/components/htmleditor.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var e;window.UIkit2&&(e=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-htmleditor",["uikit"],function(){return e||t(UIkit2)})}(function(t){"use strict";var e=[];return t.component("htmleditor",{defaults:{iframe:!1,mode:"split",markdown:!1,autocomplete:!0,enablescripts:!1,height:500,maxsplitsize:1e3,codemirror:{mode:"htmlmixed",lineWrapping:!0,dragDrop:!1,autoCloseTags:!0,matchTags:!0,autoCloseBrackets:!0,matchBrackets:!0,indentUnit:4,indentWithTabs:!1,tabSize:4,hintOptions:{completionSingle:!1}},toolbar:["bold","italic","strike","link","image","blockquote","listUl","listOl"],lblPreview:"Preview",lblCodeview:"HTML",lblMarkedview:"Markdown"},boot:function(){t.ready(function(e){t.$("textarea[data-uk-htmleditor]",e).each(function(){var e=t.$(this);e.data("htmleditor")||t.htmleditor(e,t.Utils.options(e.attr("data-uk-htmleditor")))})})},init:function(){var i=this,o=t.components.htmleditor.template;this.CodeMirror=this.options.CodeMirror||CodeMirror,this.buttons={},o=o.replace(/\{:lblPreview}/g,this.options.lblPreview),o=o.replace(/\{:lblCodeview}/g,this.options.lblCodeview),this.htmleditor=t.$(o),this.content=this.htmleditor.find(".uk-htmleditor-content"),this.toolbar=this.htmleditor.find(".uk-htmleditor-toolbar"),this.preview=this.htmleditor.find(".uk-htmleditor-preview").children().eq(0),this.code=this.htmleditor.find(".uk-htmleditor-code"),this.element.before(this.htmleditor).appendTo(this.code),this.editor=this.CodeMirror.fromTextArea(this.element[0],this.options.codemirror),this.editor.htmleditor=this,this.editor.on("change",t.Utils.debounce(function(){i.render()},150)),this.editor.on("change",function(){i.editor.save(),i.element.trigger("input")}),this.code.find(".CodeMirror").css("height",this.options.height),this.options.iframe?(this.iframe=t.$(''),this.preview.append(this.iframe),this.iframe[0].contentWindow.document.open(),this.iframe[0].contentWindow.document.close(),this.preview.container=t.$(this.iframe[0].contentWindow.document).find("body"),"string"==typeof this.options.iframe&&this.preview.container.parent().append('')):this.preview.container=this.preview,t.$win.on("resize load",t.Utils.debounce(function(){i.fit()},200));var n=this.iframe?this.preview.container:i.preview.parent(),r=this.code.find(".CodeMirror-sizer"),l=this.code.find(".CodeMirror-scroll").on("scroll",t.Utils.debounce(function(){if("tab"!=i.htmleditor.attr("data-mode")){var t=r.height()-l.height(),e=n[0].scrollHeight-(i.iframe?i.iframe.height():n.height()),o=e/t,s=l.scrollTop()*o;n.scrollTop(s)}},10));this.htmleditor.on("click",".uk-htmleditor-button-code, .uk-htmleditor-button-preview",function(e){e.preventDefault(),"tab"==i.htmleditor.attr("data-mode")&&(i.htmleditor.find(".uk-htmleditor-button-code, .uk-htmleditor-button-preview").removeClass("uk-active").filter(this).addClass("uk-active"),i.activetab=t.$(this).hasClass("uk-htmleditor-button-code")?"code":"preview",i.htmleditor.attr("data-active-tab",i.activetab),i.editor.refresh())}),this.htmleditor.on("click","a[data-htmleditor-button]",function(){i.code.is(":visible")&&i.trigger("action."+t.$(this).data("htmleditor-button"),[i.editor])}),this.preview.parent().css("height",this.code.height()),this.options.autocomplete&&this.CodeMirror.showHint&&this.CodeMirror.hint&&this.CodeMirror.hint.html&&this.editor.on("inputRead",t.Utils.debounce(function(){var t=i.editor.getDoc(),e=t.getCursor(),o=i.CodeMirror.innerMode(i.editor.getMode(),i.editor.getTokenAt(e).state).mode.name;if("xml"==o){var n=i.editor.getCursor(),r=i.editor.getTokenAt(n);("<"==r.string.charAt(0)||"attribute"==r.type)&&i.CodeMirror.showHint(i.editor,i.CodeMirror.hint.html,{completeSingle:!1})}},100)),this.debouncedRedraw=t.Utils.debounce(function(){i.redraw()},5),this.on("init.uk.component",function(){i.debouncedRedraw()}),this.element.attr("data-uk-check-display",1).on("display.uk.check",function(){this.htmleditor.is(":visible")&&this.fit()}.bind(this)),e.push(this)},addButton:function(t,e){this.buttons[t]=e},addButtons:function(e){t.$.extend(this.buttons,e)},replaceInPreview:function(t,e){function i(t){var e=o.getValue().substring(0,t).split("\n");return{line:e.length-1,ch:e[e.length-1].length}}var o=this.editor,n=[],r=o.getValue(),l=-1,s=0;return this.currentvalue=this.currentvalue.replace(t,function(){l=r.indexOf(arguments[0],++l);var t={matches:arguments,from:i(l),to:i(l+arguments[0].length),replace:function(e){o.replaceRange(e,t.from,t.to)},inRange:function(e){return e.line===t.from.line&&e.line===t.to.line?e.ch>=t.from.ch&&e.ch=t.from.ch||e.line>t.from.line&&e.line'+t.buttons[i].label+"")}}),this.toolbar.html(e.join("\n"))}},fit:function(){var t=this.options.mode;"split"==t&&this.htmleditor.width())<[^<]*)*<\/(script|style)>/gim,"")),this.currentvalue?(this.trigger("render",[this]),this.trigger("renderLate",[this]),this.preview.container.html(this.currentvalue),void 0):(this.element.val(""),this.preview.container.html(""),void 0)},addShortcut:function(e,i){var o={};return t.$.isArray(e)||(e=[e]),e.forEach(function(t){o[t]=i}),this.editor.addKeyMap(o),o},addShortcutAction:function(t,e){var i=this;this.addShortcut(e,function(){i.element.trigger("action."+t,[i.editor])})},replaceSelection:function(t){var e=this.editor.getSelection();if(!e.length){for(var i=this.editor.getCursor(),o=this.editor.getLine(i.line),n=i.ch,r=n;r','
      ','
        ','
        ','","
        ","
        ",'
        ','
        ','
        ',"
        ",""].join(""),t.plugin("htmleditor","base",{init:function(e){function i(t,i,o){e.on("action."+t,function(){"html"==e.getCursorMode()&&e["replaceLine"==o?"replaceLine":"replaceSelection"](i)})}e.addButtons({fullscreen:{title:"Fullscreen",label:''},bold:{title:"Bold",label:''},italic:{title:"Italic",label:''},strike:{title:"Strikethrough",label:''},blockquote:{title:"Blockquote",label:''},link:{title:"Link",label:''},image:{title:"Image",label:''},listUl:{title:"Unordered List",label:''},listOl:{title:"Ordered List",label:''}}),i("bold","$1"),i("italic","$1"),i("strike","$1"),i("blockquote","

        $1

        ","replaceLine"),i("link",'$1'),i("image",'$1');var o=function(t){if("html"==e.getCursorMode()){t=t||"ul";for(var i=e.editor,o=i.getDoc(),n=o.getCursor(!0),r=o.getCursor(!1),l=CodeMirror.innerMode(i.getMode(),i.getTokenAt(i.getCursor()).state),s=l&&l.state&&l.state.context&&-1!=["ul","ol"].indexOf(l.state.context.tagName),a=n.line;a"+i.getLine(a)+"",{line:a,ch:0},{line:a,ch:i.getLine(a).length});s?i.setCursor({line:r.line,ch:i.getLine(r.line).length}):(i.replaceRange("<"+t+">\n"+i.getLine(n.line),{line:n.line,ch:0},{line:n.line,ch:i.getLine(n.line).length}),i.replaceRange(i.getLine(r.line+1)+"\n",{line:r.line+1,ch:0},{line:r.line+1,ch:i.getLine(r.line+1).length}),i.setCursor({line:r.line+1,ch:i.getLine(r.line+1).length})),i.focus()}};e.on("action.listUl",function(){o("ul")}),e.on("action.listOl",function(){o("ol")}),e.htmleditor.on("click",'a[data-htmleditor-button="fullscreen"]',function(){e.htmleditor.toggleClass("uk-htmleditor-fullscreen");var i=e.editor.getWrapperElement();if(e.htmleditor.hasClass("uk-htmleditor-fullscreen")){var o=!1,n=e.htmleditor.parents().each(function(){"fixed"!=t.$(this).css("position")||t.$(this).is("html")||(o=t.$(this))});if(e.htmleditor.data("fixedParents",!1),o){var r=[];o=o.parent().find(n).each(function(){"none"!=t.$(this).css("transform")&&r.push(t.$(this).data("transform-reset",{transform:this.style.transform,"-webkit-transform":this.style.webkitTransform,"-webkit-transition":this.style.webkitTransition,transition:this.style.transition}).css({transform:"none","-webkit-transform":"none","-webkit-transition":"none",transition:"none"}))}),e.htmleditor.data("fixedParents",r)}e.editor.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:i.style.width,height:i.style.height},i.style.width="",i.style.height=e.content.height()+"px",document.documentElement.style.overflow="hidden"}else{document.documentElement.style.overflow="";var l=e.editor.state.fullScreenRestore;i.style.width=l.width,i.style.height=l.height,window.scrollTo(l.scrollLeft,l.scrollTop),e.htmleditor.data("fixedParents")&&e.htmleditor.data("fixedParents").forEach(function(t){t.css(t.data("transform-reset"))})}setTimeout(function(){e.fit(),t.$win.trigger("resize")},50)}),e.addShortcut(["Ctrl-S","Cmd-S"],function(){e.element.trigger("htmleditor-save",[e])}),e.addShortcutAction("bold",["Ctrl-B","Cmd-B"])}}),t.plugin("htmleditor","markdown",{init:function(e){function i(){e.editor.setOption("mode","gfm"),e.htmleditor.find(".uk-htmleditor-button-code a").html(e.options.lblMarkedview)}function o(t,i,o){e.on("action."+t,function(){"markdown"==e.getCursorMode()&&e["replaceLine"==o?"replaceLine":"replaceSelection"](i)})}var n=e.options.mdparser||window.marked||null;n&&(e.options.markdown&&i(),o("bold","**$1**"),o("italic","*$1*"),o("strike","~~$1~~"),o("blockquote","> $1","replaceLine"),o("link","[$1](http://)"),o("image","![$1](http://)"),e.on("action.listUl",function(){if("markdown"==e.getCursorMode()){for(var t=e.editor,i=t.getDoc().getCursor(!0),o=t.getDoc().getCursor(!1),n=i.line;n0){var r,l=t.getLine(i.line-1);(r=l.match(/^(\d+)\./))&&(n=Number(r[1])+1)}for(var s=i.line;s 1) { + + content = [ + content, + '', + '' + ].join(''); + } + + // calculate width + var tmp = UI.$('
         
        ').css({ + opacity : 0, + position : 'absolute', + top : 0, + left : 0, + width : '100%', + maxWidth : $this.modal.dialog.css('max-width'), + padding : $this.modal.dialog.css('padding'), + margin : $this.modal.dialog.css('margin') + }), maxwidth, maxheight, w = data.meta.width, h = data.meta.height; + + tmp.appendTo('body').width(); + + maxwidth = tmp.width(); + maxheight = window.innerHeight - dpad; + + tmp.remove(); + + this.modal.dialog.find('.uk-modal-caption').remove(); + + if (data.title) { + this.modal.dialog.append('
        '+data.title+'
        '); + maxheight -= this.modal.dialog.find('.uk-modal-caption').outerHeight(); + } + + if (maxwidth < data.meta.width) { + + h = Math.floor( h * (maxwidth / w) ); + w = maxwidth; + } + + if (maxheight < h) { + + h = Math.floor(maxheight); + w = Math.ceil(data.meta.width * (maxheight/data.meta.height)); + } + + this.modal.content.css('opacity', 0).width(w).html(content); + + if (data.type == 'iframe') { + this.modal.content.find('iframe:first').height(h); + } + + var dh = h + pad, + t = Math.floor(window.innerHeight/2 - dh/2) - dpad; + + if (t < 0) { t = 0; } + + this.modal.closer.addClass('uk-hidden'); + + if ($this.modal.data('mwidth') == w && $this.modal.data('mheight') == h) { + duration = 0; + } + + this.modal.dialog.animate({width: w + pad, height: h + pad, top: t }, duration, 'swing', function() { + $this.modal.loader.addClass('uk-hidden'); + $this.modal.content.css({width:''}).animate({opacity: 1}, function() { + $this.modal.closer.removeClass('uk-hidden'); + }); + + $this.modal.data({mwidth: w, mheight: h}); + }); + }, + + next: function() { + this.show(this.siblings[(this.index+1)] ? (this.index+1) : 0); + }, + + previous: function() { + this.show(this.siblings[(this.index-1)] ? (this.index-1) : this.siblings.length-1); + } + }); + + + // Plugins + + UI.plugin('lightbox', 'image', { + + init: function(lightbox) { + + lightbox.on('showitem.uk.lightbox', function(e, data){ + + if (data.type == 'image' || data.source && data.source.match(/\.(jpg|jpeg|png|gif|svg)$/i)) { + + var resolve = function(source, width, height) { + + data.meta = { + content : '', + width : width, + height : height + }; + + data.type = 'image'; + + data.promise.resolve(); + }; + + if (!cache[data.source]) { + + var img = new Image(); + + img.onerror = function(){ + data.promise.reject('Loading image failed'); + }; + + img.onload = function(){ + cache[data.source] = {width: img.width, height: img.height}; + resolve(data.source, cache[data.source].width, cache[data.source].height); + }; + + img.src = data.source; + + } else { + resolve(data.source, cache[data.source].width, cache[data.source].height); + } + } + }); + } + }); + + UI.plugin('lightbox', 'youtube', { + + init: function(lightbox) { + + var youtubeRegExp = /(\/\/.*?youtube\.[a-z]+)\/watch\?v=([^&]+)&?(.*)/, + youtubeRegExpShort = /youtu\.be\/(.*)/; + + + lightbox.on('showitem.uk.lightbox', function(e, data){ + + var id, matches, resolve = function(id, width, height) { + + data.meta = { + content: '', + width: width, + height: height + }; + + data.type = 'iframe'; + + data.promise.resolve(); + }; + + if (matches = data.source.match(youtubeRegExp)) { + id = matches[2]; + } + + if (matches = data.source.match(youtubeRegExpShort)) { + id = matches[1]; + } + + if (id) { + + if(!cache[id]) { + + var img = new Image(), lowres = false; + + img.onerror = function(){ + cache[id] = {width:640, height:320}; + resolve(id, cache[id].width, cache[id].height); + }; + + img.onload = function(){ + //youtube default 404 thumb, fall back to lowres + if (img.width == 120 && img.height == 90) { + if (!lowres) { + lowres = true; + img.src = '//img.youtube.com/vi/' + id + '/0.jpg'; + } else { + cache[id] = {width: 640, height: 320}; + resolve(id, cache[id].width, cache[id].height); + } + } else { + cache[id] = {width: img.width, height: img.height}; + resolve(id, img.width, img.height); + } + }; + + img.src = '//img.youtube.com/vi/'+id+'/maxresdefault.jpg'; + + } else { + resolve(id, cache[id].width, cache[id].height); + } + + e.stopImmediatePropagation(); + } + }); + } + }); + + + UI.plugin('lightbox', 'vimeo', { + + init: function(lightbox) { + + var regex = /(\/\/.*?)vimeo\.[a-z]+\/([0-9]+).*?/, matches; + + + lightbox.on('showitem.uk.lightbox', function(e, data){ + + var id, resolve = function(id, width, height) { + + data.meta = { + content: '', + width: width, + height: height + }; + + data.type = 'iframe'; + + data.promise.resolve(); + }; + + if (matches = data.source.match(regex)) { + + id = matches[2]; + + if(!cache[id]) { + + UI.$.ajax({ + type : 'GET', + url : '//vimeo.com/api/oembed.json?url=' + encodeURI(data.source), + jsonp : 'callback', + dataType : 'jsonp', + success : function(data) { + cache[id] = {width:data.width, height:data.height}; + resolve(id, cache[id].width, cache[id].height); + } + }); + + } else { + resolve(id, cache[id].width, cache[id].height); + } + + e.stopImmediatePropagation(); + } + }); + } + }); + + UI.plugin('lightbox', 'video', { + + init: function(lightbox) { + + lightbox.on('showitem.uk.lightbox', function(e, data){ + + + var resolve = function(source, width, height) { + + data.meta = { + content: '', + width: width, + height: height + }; + + data.type = 'video'; + + data.promise.resolve(); + }; + + if (data.type == 'video' || data.source.match(/\.(mp4|webm|ogv)$/i)) { + + if (!cache[data.source]) { + + var vid = UI.$('').attr('src', data.source).appendTo('body'); + + var idle = setInterval(function() { + + if (vid[0].videoWidth) { + clearInterval(idle); + cache[data.source] = {width: vid[0].videoWidth, height: vid[0].videoHeight}; + resolve(data.source, cache[data.source].width, cache[data.source].height); + vid.remove(); + } + + }, 20); + + } else { + resolve(data.source, cache[data.source].width, cache[data.source].height); + } + } + }); + } + }); + + + UI.plugin('lightbox', 'iframe', { + + init: function (lightbox) { + + lightbox.on('showitem.uk.lightbox', function (e, data) { + + var resolve = function (source, width, height) { + + data.meta = { + content: '', + width: width, + height: height + }; + + data.type = 'iframe'; + + data.promise.resolve(); + }; + + if (data.type === 'iframe' || data.source.match(/\.(html|php)$/)) { + resolve(data.source, (lightbox.options.width || 800), (lightbox.options.height || 600)); + } + }); + + } + }); + + function getModal(lightbox) { + + if (modal) { + modal.lightbox = lightbox; + return modal; + } + + // init lightbox container + modal = UI.$([ + '
        ', + '
        ', + '', + '
        ', + '
        ', + '
        ', + '
        ' + ].join('')).appendTo('body'); + + modal.dialog = modal.find('.uk-modal-dialog:first'); + modal.content = modal.find('.uk-lightbox-content:first'); + modal.loader = modal.find('.uk-modal-spinner:first'); + modal.closer = modal.find('.uk-close.uk-close-alt'); + modal.modal = UI.modal(modal, {modal:false}); + + // next / previous + modal.on('swipeRight swipeLeft', function(e) { + modal.lightbox[e.type=='swipeLeft' ? 'next':'previous'](); + }).on('click', '[data-lightbox-previous], [data-lightbox-next]', function(e){ + e.preventDefault(); + modal.lightbox[UI.$(this).is('[data-lightbox-next]') ? 'next':'previous'](); + }); + + // destroy content on modal hide + modal.on('hide.uk.modal', function(e) { + modal.content.html(''); + }); + + var resizeCache = {w: window.innerWidth, h:window.innerHeight}; + + UI.$win.on('load resize orientationchange', UI.Utils.debounce(function(e){ + + if (resizeCache.w !== window.innerWidth && modal.is(':visible') && !UI.Utils.isFullscreen()) { + modal.lightbox.fitSize(); + } + + resizeCache = {w: window.innerWidth, h:window.innerHeight}; + + }, 100)); + + modal.lightbox = lightbox; + + return modal; + } + + UI.lightbox.create = function(items, options) { + + if (!items) return; + + var group = [], o; + + items.forEach(function(item) { + + group.push(UI.$.extend({ + source : '', + title : '', + type : 'auto', + link : false + }, (typeof(item) == 'string' ? {'source': item} : item))); + }); + + o = UI.lightbox(UI.$.extend({}, options, {'group':group})); + + return o; + }; + + return UI.lightbox; +}); diff --git a/bower_components/uikit/js/components/lightbox.min.js b/bower_components/uikit/js/components/lightbox.min.js new file mode 100644 index 0000000..9d7d527 --- /dev/null +++ b/bower_components/uikit/js/components/lightbox.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(i){var t;window.UIkit2&&(t=i(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-lightbox",["uikit"],function(){return t||i(UIkit2)})}(function(i){"use strict";function t(t){if(e)return e.lightbox=t,e;e=i.$(['
        ','
        ','','
        ','
        ',"
        ","
        "].join("")).appendTo("body"),e.dialog=e.find(".uk-modal-dialog:first"),e.content=e.find(".uk-lightbox-content:first"),e.loader=e.find(".uk-modal-spinner:first"),e.closer=e.find(".uk-close.uk-close-alt"),e.modal=i.modal(e,{modal:!1}),e.on("swipeRight swipeLeft",function(i){e.lightbox["swipeLeft"==i.type?"next":"previous"]()}).on("click","[data-lightbox-previous], [data-lightbox-next]",function(t){t.preventDefault(),e.lightbox[i.$(this).is("[data-lightbox-next]")?"next":"previous"]()}),e.on("hide.uk.modal",function(){e.content.html("")});var o={w:window.innerWidth,h:window.innerHeight};return i.$win.on("load resize orientationchange",i.Utils.debounce(function(){o.w!==window.innerWidth&&e.is(":visible")&&!i.Utils.isFullscreen()&&e.lightbox.fitSize(),o={w:window.innerWidth,h:window.innerHeight}},100)),e.lightbox=t,e}var e,o={};return i.component("lightbox",{defaults:{allowfullscreen:!0,duration:400,group:!1,keyboard:!0},index:0,items:!1,boot:function(){i.$html.on("click","[data-uk-lightbox]",function(t){t.preventDefault();var e=i.$(this);e.data("lightbox")||i.lightbox(e,i.Utils.options(e.attr("data-uk-lightbox"))),e.data("lightbox").show(e)}),i.$doc.on("keyup",function(i){if(e&&e.is(":visible")&&e.lightbox.options.keyboard)switch(i.preventDefault(),i.keyCode){case 37:e.lightbox.previous();break;case 39:e.lightbox.next()}})},init:function(){var t=[];if(this.index=0,this.siblings=[],this.element&&this.element.length){var e=this.options.group?i.$('[data-uk-lightbox*="'+this.options.group+'"]'):this.element;e.each(function(){var e=i.$(this);t.push({source:e.attr("href"),title:e.attr("data-title")||e.attr("title"),type:e.attr("data-lightbox-type")||"auto",link:e})}),this.index=e.index(this.element),this.siblings=t}else this.options.group&&this.options.group.length&&(this.siblings=this.options.group);this.trigger("lightbox-init",[this])},show:function(e){this.modal=t(this),this.modal.dialog.stop(),this.modal.content.stop();var o,n,s=this,h=i.$.Deferred();e=e||0,"object"==typeof e&&this.siblings.forEach(function(i,t){e[0]===i.link[0]&&(e=t)}),0>e?e=this.siblings.length-e:this.siblings[e]||(e=0),n=this.siblings[e],o={lightbox:s,source:n.source,type:n.type,index:e,promise:h,title:n.title,item:n,meta:{content:"",width:null,height:null}},this.index=e,this.modal.content.empty(),this.modal.is(":visible")||(this.modal.content.css({width:"",height:""}).empty(),this.modal.modal.show()),this.modal.loader.removeClass("uk-hidden"),h.promise().done(function(){s.data=o,s.fitSize(o)}).fail(function(){o.meta.content='
        Loading resource failed!
        ',o.meta.width=400,o.meta.height=300,s.data=o,s.fitSize(o)}),s.trigger("showitem.uk.lightbox",[o])},fitSize:function(){var t=this,e=this.data,o=this.modal.dialog.outerWidth()-this.modal.dialog.width(),n=parseInt(this.modal.dialog.css("margin-top"),10),s=parseInt(this.modal.dialog.css("margin-bottom"),10),h=n+s,a=e.meta.content,l=t.options.duration;this.siblings.length>1&&(a=[a,'',''].join(""));var d,r,u=i.$("
         
        ").css({opacity:0,position:"absolute",top:0,left:0,width:"100%",maxWidth:t.modal.dialog.css("max-width"),padding:t.modal.dialog.css("padding"),margin:t.modal.dialog.css("margin")}),c=e.meta.width,g=e.meta.height;u.appendTo("body").width(),d=u.width(),r=window.innerHeight-h,u.remove(),this.modal.dialog.find(".uk-modal-caption").remove(),e.title&&(this.modal.dialog.append('
        '+e.title+"
        "),r-=this.modal.dialog.find(".uk-modal-caption").outerHeight()),dr&&(g=Math.floor(r),c=Math.ceil(e.meta.width*(r/e.meta.height))),this.modal.content.css("opacity",0).width(c).html(a),"iframe"==e.type&&this.modal.content.find("iframe:first").height(g);var m=g+o,p=Math.floor(window.innerHeight/2-m/2)-h;0>p&&(p=0),this.modal.closer.addClass("uk-hidden"),t.modal.data("mwidth")==c&&t.modal.data("mheight")==g&&(l=0),this.modal.dialog.animate({width:c+o,height:g+o,top:p},l,"swing",function(){t.modal.loader.addClass("uk-hidden"),t.modal.content.css({width:""}).animate({opacity:1},function(){t.modal.closer.removeClass("uk-hidden")}),t.modal.data({mwidth:c,mheight:g})})},next:function(){this.show(this.siblings[this.index+1]?this.index+1:0)},previous:function(){this.show(this.siblings[this.index-1]?this.index-1:this.siblings.length-1)}}),i.plugin("lightbox","image",{init:function(i){i.on("showitem.uk.lightbox",function(i,t){if("image"==t.type||t.source&&t.source.match(/\.(jpg|jpeg|png|gif|svg)$/i)){var e=function(i,e,o){t.meta={content:'',width:e,height:o},t.type="image",t.promise.resolve()};if(o[t.source])e(t.source,o[t.source].width,o[t.source].height);else{var n=new Image;n.onerror=function(){t.promise.reject("Loading image failed")},n.onload=function(){o[t.source]={width:n.width,height:n.height},e(t.source,o[t.source].width,o[t.source].height)},n.src=t.source}}})}}),i.plugin("lightbox","youtube",{init:function(i){var t=/(\/\/.*?youtube\.[a-z]+)\/watch\?v=([^&]+)&?(.*)/,n=/youtu\.be\/(.*)/;i.on("showitem.uk.lightbox",function(i,s){var h,a,l=function(i,t,o){s.meta={content:'",width:t,height:o},s.type="iframe",s.promise.resolve()};if((a=s.source.match(t))&&(h=a[2]),(a=s.source.match(n))&&(h=a[1]),h){if(o[h])l(h,o[h].width,o[h].height);else{var d=new Image,r=!1;d.onerror=function(){o[h]={width:640,height:320},l(h,o[h].width,o[h].height)},d.onload=function(){120==d.width&&90==d.height?r?(o[h]={width:640,height:320},l(h,o[h].width,o[h].height)):(r=!0,d.src="//img.youtube.com/vi/"+h+"/0.jpg"):(o[h]={width:d.width,height:d.height},l(h,d.width,d.height))},d.src="//img.youtube.com/vi/"+h+"/maxresdefault.jpg"}i.stopImmediatePropagation()}})}}),i.plugin("lightbox","vimeo",{init:function(t){var n,s=/(\/\/.*?)vimeo\.[a-z]+\/([0-9]+).*?/;t.on("showitem.uk.lightbox",function(t,h){var a,l=function(i,t,o){h.meta={content:'",width:t,height:o},h.type="iframe",h.promise.resolve()};(n=h.source.match(s))&&(a=n[2],o[a]?l(a,o[a].width,o[a].height):i.$.ajax({type:"GET",url:"//vimeo.com/api/oembed.json?url="+encodeURI(h.source),jsonp:"callback",dataType:"jsonp",success:function(i){o[a]={width:i.width,height:i.height},l(a,o[a].width,o[a].height)}}),t.stopImmediatePropagation())})}}),i.plugin("lightbox","video",{init:function(t){t.on("showitem.uk.lightbox",function(t,e){var n=function(i,t,o){e.meta={content:'',width:t,height:o},e.type="video",e.promise.resolve()};if("video"==e.type||e.source.match(/\.(mp4|webm|ogv)$/i))if(o[e.source])n(e.source,o[e.source].width,o[e.source].height);else var s=i.$('').attr("src",e.source).appendTo("body"),h=setInterval(function(){s[0].videoWidth&&(clearInterval(h),o[e.source]={width:s[0].videoWidth,height:s[0].videoHeight},n(e.source,o[e.source].width,o[e.source].height),s.remove())},20)})}}),i.plugin("lightbox","iframe",{init:function(i){i.on("showitem.uk.lightbox",function(t,o){var n=function(i,t,n){o.meta={content:'",width:t,height:n},o.type="iframe",o.promise.resolve()};("iframe"===o.type||o.source.match(/\.(html|php)$/))&&n(o.source,i.options.width||800,i.options.height||600)})}}),i.lightbox.create=function(t,e){if(t){var o,n=[];return t.forEach(function(t){n.push(i.$.extend({source:"",title:"",type:"auto",link:!1},"string"==typeof t?{source:t}:t))}),o=i.lightbox(i.$.extend({},e,{group:n}))}},i.lightbox}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/nestable.js b/bower_components/uikit/js/components/nestable.js new file mode 100644 index 0000000..a4d8397 --- /dev/null +++ b/bower_components/uikit/js/components/nestable.js @@ -0,0 +1,653 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* + * Based on Nestable jQuery Plugin - Copyright (c) 2012 David Bushell - http://dbushell.com/ + */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-nestable', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI) { + + "use strict"; + + var hasTouch = 'ontouchstart' in window || 'MSGesture' in window || window.PointerEvent, + html = UI.$html, + touchedlists = [], + $win = UI.$win, + draggingElement; + + var eStart = hasTouch ? ('MSGesture' in window || window.PointerEvent ? 'pointerdown':'touchstart') : 'mousedown', + eMove = hasTouch ? ('MSGesture' in window || window.PointerEvent ? 'pointermove':'touchmove') : 'mousemove', + eEnd = hasTouch ? ('MSGesture' in window || window.PointerEvent ? 'pointerup':'touchend') : 'mouseup', + eCancel = hasTouch ? ('MSGesture' in window || window.PointerEvent ? 'pointercancel':'touchcancel') : 'mouseup'; + + + UI.component('nestable', { + + defaults: { + listBaseClass : 'uk-nestable', + listClass : 'uk-nestable-list', + listItemClass : 'uk-nestable-item', + dragClass : 'uk-nestable-dragged', + movingClass : 'uk-nestable-moving', + noChildrenClass : 'uk-nestable-nochildren', + emptyClass : 'uk-nestable-empty', + handleClass : '', + collapsedClass : 'uk-collapsed', + placeholderClass: 'uk-nestable-placeholder', + noDragClass : 'uk-nestable-nodrag', + group : false, + maxDepth : 10, + threshold : 20, + idlethreshold : 10, + }, + + boot: function() { + + // adjust document scrolling + UI.$html.on('mousemove touchmove', function(e) { + + if (draggingElement) { + + var top = draggingElement.offset().top; + + if (top < UI.$win.scrollTop()) { + UI.$win.scrollTop(UI.$win.scrollTop() - Math.ceil(draggingElement.height()/2)); + } else if ( (top + draggingElement.height()) > (window.innerHeight + UI.$win.scrollTop()) ) { + UI.$win.scrollTop(UI.$win.scrollTop() + Math.ceil(draggingElement.height()/2)); + } + } + }); + + // init code + UI.ready(function(context) { + + UI.$("[data-uk-nestable]", context).each(function(){ + + var ele = UI.$(this); + + if (!ele.data("nestable")) { + UI.nestable(ele, UI.Utils.options(ele.attr("data-uk-nestable"))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + Object.keys(this.options).forEach(function(key){ + + if(String(key).indexOf('Class')!=-1) { + $this.options['_'+key] = '.' + $this.options[key]; + } + }); + + this.find(this.options._listItemClass).find(">ul").addClass(this.options.listClass); + + this.checkEmptyList(); + + this.reset(); + this.element.data('nestable-group', this.options.group || UI.Utils.uid('nestable-group')); + + this.find(this.options._listItemClass).each(function() { + $this.setParent(UI.$(this)); + }); + + this.on('click', '[data-nestable-action]', function(e) { + + if ($this.dragEl || (!hasTouch && e.button !== 0)) { + return; + } + + e.preventDefault(); + + var target = UI.$(e.currentTarget), + action = target.data('nestableAction'), + item = target.closest($this.options._listItemClass); + + if (action === 'collapse') { + $this.collapseItem(item); + } + if (action === 'expand') { + $this.expandItem(item); + } + if (action === 'toggle') { + $this.toggleItem(item); + } + }); + + var onStartEvent = function(e) { + + var handle = UI.$(e.target), + link = handle.is('a[href]') ? handle:handle.parents('a[href]'); + + if (e.target === $this.element[0]) { + return; + } + + if (handle.is($this.options._noDragClass) || handle.closest($this.options._noDragClass).length) { + return; + } + + if (handle.is('[data-nestable-action]') || handle.closest('[data-nestable-action]').length) { + return; + } + + if ($this.options.handleClass && !handle.hasClass($this.options.handleClass)) { + + if ($this.options.handleClass) { + handle = handle.closest($this.options._handleClass); + } + } + + if (!handle.length || $this.dragEl || (!hasTouch && e.button !== 0) || (hasTouch && e.touches && e.touches.length !== 1)) { + return; + } + + if (e.originalEvent && e.originalEvent.touches) { + e = evt.originalEvent.touches[0]; + } + + $this.delayMove = function(evt) { + + link = false; + + evt.preventDefault(); + $this.dragStart(e); + $this.trigger('start.uk.nestable', [$this]); + + $this.delayMove = false; + }; + + $this.delayMove.x = parseInt(e.pageX, 10); + $this.delayMove.y = parseInt(e.pageY, 10); + $this.delayMove.threshold = $this.options.idlethreshold; + + if (link.length && eEnd == 'touchend') { + + $this.one(eEnd, function(){ + if (link && link.attr('href').trim()) { + location.href = link.attr('href'); + } + }); + } + + e.preventDefault(); + }; + + var onMoveEvent = function(e) { + + if (e.originalEvent && e.originalEvent.touches) { + e = e.originalEvent.touches[0]; + } + + if ($this.delayMove && (Math.abs(e.pageX - $this.delayMove.x) > $this.delayMove.threshold || Math.abs(e.pageY - $this.delayMove.y) > $this.delayMove.threshold)) { + + if (!window.getSelection().toString()) { + $this.delayMove(e); + } else { + $this.delayMove = false; + } + } + + if ($this.dragEl) { + e.preventDefault(); + $this.dragMove(e); + $this.trigger('move.uk.nestable', [$this]); + } + }; + + var onEndEvent = function(e) { + + if ($this.dragEl) { + e.preventDefault(); + $this.dragStop(hasTouch && e.touches ? e.touches[0] : e); + } + + draggingElement = false; + $this.delayMove = false; + }; + + if (hasTouch) { + this.element[0].addEventListener(eStart, onStartEvent, false); + window.addEventListener(eMove, onMoveEvent, false); + window.addEventListener(eEnd, onEndEvent, false); + window.addEventListener(eCancel, onEndEvent, false); + } else { + this.on(eStart, onStartEvent); + $win.on(eMove, onMoveEvent); + $win.on(eEnd, onEndEvent); + } + + }, + + serialize: function() { + + var data, + depth = 0, + list = this, + step = function(level, depth) { + + var array = [ ], items = level.children(list.options._listItemClass); + + items.each(function() { + + var li = UI.$(this), + item = {}, attribute, + sub = li.children(list.options._listClass); + + for (var i = 0, attr, val; i < li[0].attributes.length; i++) { + attribute = li[0].attributes[i]; + if (attribute.name.indexOf('data-') === 0) { + attr = attribute.name.substr(5); + val = UI.Utils.str2json(attribute.value); + item[attr] = (val || attribute.value=='false' || attribute.value=='0') ? val:attribute.value; + } + } + + if (sub.length) { + item.children = step(sub, depth + 1); + } + + array.push(item); + + }); + return array; + }; + + data = step(list.element, depth); + + return data; + }, + + list: function(options) { + + var data = [], + list = this, + depth = 0, + step = function(level, depth, parent) { + + var items = level.children(options._listItemClass); + + items.each(function(index) { + var li = UI.$(this), + item = UI.$.extend({parent_id: (parent ? parent : null), depth: depth, order: index}, li.data()), + sub = li.children(options._listClass); + + data.push(item); + + if (sub.length) { + step(sub, depth + 1, li.data(options.idProperty || 'id')); + } + }); + }; + + options = UI.$.extend({}, list.options, options); + + step(list.element, depth); + + return data; + }, + + reset: function() { + + this.mouse = { + offsetX : 0, + offsetY : 0, + startX : 0, + startY : 0, + lastX : 0, + lastY : 0, + nowX : 0, + nowY : 0, + distX : 0, + distY : 0, + dirAx : 0, + dirX : 0, + dirY : 0, + lastDirX : 0, + lastDirY : 0, + distAxX : 0, + distAxY : 0 + }; + this.moving = false; + this.dragEl = null; + this.dragRootEl = null; + this.dragDepth = 0; + this.hasNewRoot = false; + this.pointEl = null; + + for (var i=0; i').addClass(this.options.listClass + ' ' + this.options.dragClass).append(dragItem.clone()); + this.dragEl.css('width', dragItem.width()); + this.placeEl.addClass(this.options.placeholderClass); + + draggingElement = this.dragEl; + + this.tmpDragOnSiblings = [dragItem[0].previousSibling, dragItem[0].nextSibling]; + + UI.$body.append(this.dragEl); + + this.dragEl.css({ + left : offset.left, + top : offset.top + }); + + // total depth of dragging item + var i, depth, items = this.dragEl.find(this.options._listItemClass); + + for (i = 0; i < items.length; i++) { + depth = UI.$(items[i]).parents(this.options._listClass+','+this.options._listBaseClass).length; + if (depth > this.dragDepth) { + this.dragDepth = depth; + } + } + + html.addClass(this.options.movingClass); + }, + + dragStop: function(e) { + + var el = UI.$(this.placeEl), + root = this.placeEl.parents(this.options._listBaseClass+':first'); + + this.placeEl.removeClass(this.options.placeholderClass); + this.dragEl.remove(); + + if (this.element[0] !== root[0]) { + + root.trigger('change.uk.nestable',[root.data('nestable'), el, 'added']); + this.element.trigger('change.uk.nestable', [this, el, 'removed']); + + } else { + this.element.trigger('change.uk.nestable',[this, el, "moved"]); + } + + this.trigger('stop.uk.nestable', [this, el]); + + this.reset(); + + html.removeClass(this.options.movingClass); + }, + + dragMove: function(e) { + var list, parent, prev, next, depth, + opt = this.options, + mouse = this.mouse, + maxDepth = this.dragRootEl ? this.dragRootEl.data('nestable').options.maxDepth : opt.maxDepth; + + this.dragEl.css({ + left : e.pageX - mouse.offsetX, + top : e.pageY - mouse.offsetY + }); + + // mouse position last events + mouse.lastX = mouse.nowX; + mouse.lastY = mouse.nowY; + // mouse position this events + mouse.nowX = e.pageX; + mouse.nowY = e.pageY; + // distance mouse moved between events + mouse.distX = mouse.nowX - mouse.lastX; + mouse.distY = mouse.nowY - mouse.lastY; + // direction mouse was moving + mouse.lastDirX = mouse.dirX; + mouse.lastDirY = mouse.dirY; + // direction mouse is now moving (on both axis) + mouse.dirX = mouse.distX === 0 ? 0 : mouse.distX > 0 ? 1 : -1; + mouse.dirY = mouse.distY === 0 ? 0 : mouse.distY > 0 ? 1 : -1; + // axis mouse is now moving on + var newAx = Math.abs(mouse.distX) > Math.abs(mouse.distY) ? 1 : 0; + + // do nothing on first move + if (!mouse.moving) { + mouse.dirAx = newAx; + mouse.moving = true; + return; + } + + // calc distance moved on this axis (and direction) + if (mouse.dirAx !== newAx) { + mouse.distAxX = 0; + mouse.distAxY = 0; + } else { + mouse.distAxX += Math.abs(mouse.distX); + if (mouse.dirX !== 0 && mouse.dirX !== mouse.lastDirX) { + mouse.distAxX = 0; + } + mouse.distAxY += Math.abs(mouse.distY); + if (mouse.dirY !== 0 && mouse.dirY !== mouse.lastDirY) { + mouse.distAxY = 0; + } + } + mouse.dirAx = newAx; + + /** + * move horizontal + */ + if (mouse.dirAx && mouse.distAxX >= opt.threshold) { + // reset move distance on x-axis for new phase + mouse.distAxX = 0; + prev = this.placeEl.prev('li'); + + // increase horizontal level if previous sibling exists, is not collapsed, and does not have a 'no children' class + if (mouse.distX > 0 && prev.length && !prev.hasClass(opt.collapsedClass) && !prev.hasClass(opt.noChildrenClass)) { + + // cannot increase level when item above is collapsed + list = prev.find(opt._listClass).last(); + + // check if depth limit has reached + depth = this.placeEl.parents(opt._listClass+','+opt._listBaseClass).length; + + if (depth + this.dragDepth <= maxDepth) { + + // create new sub-level if one doesn't exist + if (!list.length) { + list = UI.$('
          ').addClass(opt.listClass); + list.append(this.placeEl); + prev.append(list); + this.setParent(prev); + } else { + // else append to next level up + list = prev.children(opt._listClass).last(); + list.append(this.placeEl); + } + } + } + + // decrease horizontal level + if (mouse.distX < 0) { + + // we cannot decrease the level if an item precedes the current one + next = this.placeEl.next(opt._listItemClass); + if (!next.length) { + + // get parent ul of the list item + var parentUl = this.placeEl.closest([opt._listBaseClass, opt._listClass].join(',')); + // try to get the li surrounding the ul + var surroundingLi = parentUl.closest(opt._listItemClass); + + // if the ul is inside of a li (meaning it is nested) + if (surroundingLi.length) { + // we can decrease the horizontal level + surroundingLi.after(this.placeEl); + // if the previous parent ul is now empty + if (!parentUl.children().length) { + this.unsetParent(surroundingLi); + } + } + } + } + } + + var isEmpty = false; + + // find list item under cursor + var pointX = e.pageX - (window.pageXOffset || document.scrollLeft || 0), + pointY = e.pageY - (window.pageYOffset || document.documentElement.scrollTop); + this.pointEl = UI.$(document.elementFromPoint(pointX, pointY)); + + if (opt.handleClass && this.pointEl.hasClass(opt.handleClass)) { + + this.pointEl = this.pointEl.closest(opt._listItemClass); + + } else { + + var nestableitem = this.pointEl.closest(opt._listItemClass); + + if (nestableitem.length) { + this.pointEl = nestableitem; + } + } + + if (this.placeEl.find(this.pointEl).length) { + return; + } + + if (this.pointEl.data('nestable') && !this.pointEl.children().length) { + isEmpty = true; + this.checkEmptyList(this.pointEl); + } else if (!this.pointEl.length || !this.pointEl.hasClass(opt.listItemClass)) { + return; + } + + // find parent list of item under cursor + var pointElRoot = this.element, + tmpRoot = this.pointEl.closest(this.options._listBaseClass), + isNewRoot = pointElRoot[0] != tmpRoot[0]; + + /** + * move vertical + */ + if (!mouse.dirAx || isNewRoot || isEmpty) { + + // check if groups match if dragging over new root + if (isNewRoot && opt.group !== tmpRoot.data('nestable-group')) { + return; + } else { + touchedlists.push(pointElRoot); + } + + // check depth limit + depth = this.dragDepth - 1 + this.pointEl.parents(opt._listClass+','+opt._listBaseClass).length; + + if (depth > maxDepth) { + return; + } + + var before = e.pageY < (this.pointEl.offset().top + this.pointEl.height() / 2); + + parent = this.placeEl.parent(); + + if (isEmpty) { + this.pointEl.append(this.placeEl); + } else if (before) { + this.pointEl.before(this.placeEl); + } else { + this.pointEl.after(this.placeEl); + } + + if (!parent.children().length) { + if (!parent.data('nestable')) this.unsetParent(parent.parent()); + } + + this.checkEmptyList(this.dragRootEl); + this.checkEmptyList(pointElRoot); + + // parent root list has changed + if (isNewRoot) { + this.dragRootEl = tmpRoot; + this.hasNewRoot = this.element[0] !== this.dragRootEl[0]; + } + } + }, + + checkEmptyList: function(list) { + + list = list ? UI.$(list) : this.element; + + if (this.options.emptyClass) { + list[!list.children().length ? 'addClass':'removeClass'](this.options.emptyClass); + } + } + + }); + + return UI.nestable; +}); diff --git a/bower_components/uikit/js/components/nestable.min.js b/bower_components/uikit/js/components/nestable.min.js new file mode 100644 index 0000000..b22bf13 --- /dev/null +++ b/bower_components/uikit/js/components/nestable.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var s;window.UIkit2&&(s=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-nestable",["uikit"],function(){return s||t(UIkit2)})}(function(t){"use strict";var s,e="ontouchstart"in window||"MSGesture"in window||window.PointerEvent,i=t.$html,l=[],a=t.$win,n=e?"MSGesture"in window||window.PointerEvent?"pointerdown":"touchstart":"mousedown",o=e?"MSGesture"in window||window.PointerEvent?"pointermove":"touchmove":"mousemove",h=e?"MSGesture"in window||window.PointerEvent?"pointerup":"touchend":"mouseup",r=e?"MSGesture"in window||window.PointerEvent?"pointercancel":"touchcancel":"mouseup";return t.component("nestable",{defaults:{listBaseClass:"uk-nestable",listClass:"uk-nestable-list",listItemClass:"uk-nestable-item",dragClass:"uk-nestable-dragged",movingClass:"uk-nestable-moving",noChildrenClass:"uk-nestable-nochildren",emptyClass:"uk-nestable-empty",handleClass:"",collapsedClass:"uk-collapsed",placeholderClass:"uk-nestable-placeholder",noDragClass:"uk-nestable-nodrag",group:!1,maxDepth:10,threshold:20,idlethreshold:10},boot:function(){t.$html.on("mousemove touchmove",function(){if(s){var e=s.offset().top;ewindow.innerHeight+t.$win.scrollTop()&&t.$win.scrollTop(t.$win.scrollTop()+Math.ceil(s.height()/2))}}),t.ready(function(s){t.$("[data-uk-nestable]",s).each(function(){var s=t.$(this);s.data("nestable")||t.nestable(s,t.Utils.options(s.attr("data-uk-nestable")))})})},init:function(){var i=this;Object.keys(this.options).forEach(function(t){-1!=String(t).indexOf("Class")&&(i.options["_"+t]="."+i.options[t])}),this.find(this.options._listItemClass).find(">ul").addClass(this.options.listClass),this.checkEmptyList(),this.reset(),this.element.data("nestable-group",this.options.group||t.Utils.uid("nestable-group")),this.find(this.options._listItemClass).each(function(){i.setParent(t.$(this))}),this.on("click","[data-nestable-action]",function(s){if(!i.dragEl&&(e||0===s.button)){s.preventDefault();var l=t.$(s.currentTarget),a=l.data("nestableAction"),n=l.closest(i.options._listItemClass);"collapse"===a&&i.collapseItem(n),"expand"===a&&i.expandItem(n),"toggle"===a&&i.toggleItem(n)}});var l=function(s){var l=t.$(s.target),a=l.is("a[href]")?l:l.parents("a[href]");s.target!==i.element[0]&&(l.is(i.options._noDragClass)||l.closest(i.options._noDragClass).length||l.is("[data-nestable-action]")||l.closest("[data-nestable-action]").length||(i.options.handleClass&&!l.hasClass(i.options.handleClass)&&i.options.handleClass&&(l=l.closest(i.options._handleClass)),!l.length||i.dragEl||!e&&0!==s.button||e&&s.touches&&1!==s.touches.length||(s.originalEvent&&s.originalEvent.touches&&(s=evt.originalEvent.touches[0]),i.delayMove=function(t){a=!1,t.preventDefault(),i.dragStart(s),i.trigger("start.uk.nestable",[i]),i.delayMove=!1},i.delayMove.x=parseInt(s.pageX,10),i.delayMove.y=parseInt(s.pageY,10),i.delayMove.threshold=i.options.idlethreshold,a.length&&"touchend"==h&&i.one(h,function(){a&&a.attr("href").trim()&&(location.href=a.attr("href"))}),s.preventDefault())))},d=function(t){t.originalEvent&&t.originalEvent.touches&&(t=t.originalEvent.touches[0]),i.delayMove&&(Math.abs(t.pageX-i.delayMove.x)>i.delayMove.threshold||Math.abs(t.pageY-i.delayMove.y)>i.delayMove.threshold)&&(window.getSelection().toString()?i.delayMove=!1:i.delayMove(t)),i.dragEl&&(t.preventDefault(),i.dragMove(t),i.trigger("move.uk.nestable",[i]))},p=function(t){i.dragEl&&(t.preventDefault(),i.dragStop(e&&t.touches?t.touches[0]:t)),s=!1,i.delayMove=!1};e?(this.element[0].addEventListener(n,l,!1),window.addEventListener(o,d,!1),window.addEventListener(h,p,!1),window.addEventListener(r,p,!1)):(this.on(n,l),a.on(o,d),a.on(h,p))},serialize:function(){var s,e=0,i=this,l=function(s,e){var a=[],n=s.children(i.options._listItemClass);return n.each(function(){for(var s,n,o,h=t.$(this),r={},d=h.children(i.options._listClass),p=0;p
        ").addClass(this.options.listClass+" "+this.options.dragClass).append(n.clone()),this.dragEl.css("width",n.width()),this.placeEl.addClass(this.options.placeholderClass),s=this.dragEl,this.tmpDragOnSiblings=[n[0].previousSibling,n[0].nextSibling],t.$body.append(this.dragEl),this.dragEl.css({left:o.left,top:o.top});var h,r,d=this.dragEl.find(this.options._listItemClass);for(h=0;hthis.dragDepth&&(this.dragDepth=r);i.addClass(this.options.movingClass)},dragStop:function(){var s=t.$(this.placeEl),e=this.placeEl.parents(this.options._listBaseClass+":first");this.placeEl.removeClass(this.options.placeholderClass),this.dragEl.remove(),this.element[0]!==e[0]?(e.trigger("change.uk.nestable",[e.data("nestable"),s,"added"]),this.element.trigger("change.uk.nestable",[this,s,"removed"])):this.element.trigger("change.uk.nestable",[this,s,"moved"]),this.trigger("stop.uk.nestable",[this,s]),this.reset(),i.removeClass(this.options.movingClass)},dragMove:function(s){var e,i,a,n,o,h=this.options,r=this.mouse,d=this.dragRootEl?this.dragRootEl.data("nestable").options.maxDepth:h.maxDepth;this.dragEl.css({left:s.pageX-r.offsetX,top:s.pageY-r.offsetY}),r.lastX=r.nowX,r.lastY=r.nowY,r.nowX=s.pageX,r.nowY=s.pageY,r.distX=r.nowX-r.lastX,r.distY=r.nowY-r.lastY,r.lastDirX=r.dirX,r.lastDirY=r.dirY,r.dirX=0===r.distX?0:r.distX>0?1:-1,r.dirY=0===r.distY?0:r.distY>0?1:-1;var p=Math.abs(r.distX)>Math.abs(r.distY)?1:0;if(!r.moving)return r.dirAx=p,r.moving=!0,void 0;if(r.dirAx!==p?(r.distAxX=0,r.distAxY=0):(r.distAxX+=Math.abs(r.distX),0!==r.dirX&&r.dirX!==r.lastDirX&&(r.distAxX=0),r.distAxY+=Math.abs(r.distY),0!==r.dirY&&r.dirY!==r.lastDirY&&(r.distAxY=0)),r.dirAx=p,r.dirAx&&r.distAxX>=h.threshold&&(r.distAxX=0,a=this.placeEl.prev("li"),r.distX>0&&a.length&&!a.hasClass(h.collapsedClass)&&!a.hasClass(h.noChildrenClass)&&(e=a.find(h._listClass).last(),o=this.placeEl.parents(h._listClass+","+h._listBaseClass).length,o+this.dragDepth<=d&&(e.length?(e=a.children(h._listClass).last(),e.append(this.placeEl)):(e=t.$("
          ").addClass(h.listClass),e.append(this.placeEl),a.append(e),this.setParent(a)))),r.distX<0&&(n=this.placeEl.next(h._listItemClass),!n.length))){var c=this.placeEl.closest([h._listBaseClass,h._listClass].join(",")),u=c.closest(h._listItemClass);u.length&&(u.after(this.placeEl),c.children().length||this.unsetParent(u))}var g=!1,f=s.pageX-(window.pageXOffset||document.scrollLeft||0),m=s.pageY-(window.pageYOffset||document.documentElement.scrollTop);if(this.pointEl=t.$(document.elementFromPoint(f,m)),h.handleClass&&this.pointEl.hasClass(h.handleClass))this.pointEl=this.pointEl.closest(h._listItemClass);else{var v=this.pointEl.closest(h._listItemClass);v.length&&(this.pointEl=v)}if(!this.placeEl.find(this.pointEl).length){if(this.pointEl.data("nestable")&&!this.pointEl.children().length)g=!0,this.checkEmptyList(this.pointEl);else if(!this.pointEl.length||!this.pointEl.hasClass(h.listItemClass))return;var C=this.element,E=this.pointEl.closest(this.options._listBaseClass),w=C[0]!=E[0];if(!r.dirAx||w||g){if(w&&h.group!==E.data("nestable-group"))return;if(l.push(C),o=this.dragDepth-1+this.pointEl.parents(h._listClass+","+h._listBaseClass).length,o>d)return;var b=s.pageY', + '', + '
          ', + '' + + ].join('')).data("notifyMessage", this); + + this.content(this.options.message); + + // status + if (this.options.status) { + this.element.addClass('uk-notify-message-'+this.options.status); + this.currentstatus = this.options.status; + } + + this.group = this.options.group; + + messages[this.uuid] = this; + + if(!containers[this.options.pos]) { + containers[this.options.pos] = UI.$('
          ').appendTo('body').on("click", ".uk-notify-message", function(){ + + var message = UI.$(this).data('notifyMessage'); + + message.element.trigger('manualclose.uk.notify', [message]); + message.close(); + }); + } + }; + + + UI.$.extend(Message.prototype, { + + uuid: false, + element: false, + timout: false, + currentstatus: "", + group: false, + + show: function() { + + if (this.element.is(':visible')) return; + + var $this = this; + + containers[this.options.pos].show().prepend(this.element); + + var marginbottom = parseInt(this.element.css('margin-bottom'), 10); + + this.element.css({opacity:0, marginTop: -1*this.element.outerHeight(), marginBottom:0}).animate({opacity:1, marginTop:0, marginBottom:marginbottom}, function(){ + + if ($this.options.timeout) { + + var closefn = function(){ $this.close(); }; + + $this.timeout = setTimeout(closefn, $this.options.timeout); + + $this.element.hover( + function() { clearTimeout($this.timeout); }, + function() { $this.timeout = setTimeout(closefn, $this.options.timeout); } + ); + } + + }); + + return this; + }, + + close: function(instantly) { + + var $this = this, + finalize = function(){ + $this.element.remove(); + + if (!containers[$this.options.pos].children().length) { + containers[$this.options.pos].hide(); + } + + $this.options.onClose.apply($this, []); + $this.element.trigger('close.uk.notify', [$this]); + + delete messages[$this.uuid]; + }; + + if (this.timeout) clearTimeout(this.timeout); + + if (instantly) { + finalize(); + } else { + this.element.animate({opacity:0, marginTop: -1* this.element.outerHeight(), marginBottom:0}, function(){ + finalize(); + }); + } + }, + + content: function(html){ + + var container = this.element.find(">div"); + + if(!html) { + return container.html(); + } + + container.html(html); + + return this; + }, + + status: function(status) { + + if (!status) { + return this.currentstatus; + } + + this.element.removeClass('uk-notify-message-'+this.currentstatus).addClass('uk-notify-message-'+status); + + this.currentstatus = status; + + return this; + } + }); + + Message.defaults = { + message: "", + status: "", + timeout: 5000, + group: null, + pos: 'top-center', + onClose: function() {} + }; + + UI.notify = notify; + UI.notify.message = Message; + UI.notify.closeAll = closeAll; + + return notify; +}); diff --git a/bower_components/uikit/js/components/notify.min.js b/bower_components/uikit/js/components/notify.min.js new file mode 100644 index 0000000..de3a418 --- /dev/null +++ b/bower_components/uikit/js/components/notify.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var e;window.UIkit2&&(e=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-notify",["uikit"],function(){return e||t(UIkit2)})}(function(t){"use strict";var e={},i={},s=function(e){return"string"==t.$.type(e)&&(e={message:e}),arguments[1]&&(e=t.$.extend(e,"string"==t.$.type(arguments[1])?{status:arguments[1]}:arguments[1])),new n(e).show()},o=function(t,e){var s;if(t)for(s in i)t===i[s].group&&i[s].close(e);else for(s in i)i[s].close(e)},n=function(s){this.options=t.$.extend({},n.defaults,s),this.uuid=t.Utils.uid("notifymsg"),this.element=t.$(['
          ','',"
          ","
          "].join("")).data("notifyMessage",this),this.content(this.options.message),this.options.status&&(this.element.addClass("uk-notify-message-"+this.options.status),this.currentstatus=this.options.status),this.group=this.options.group,i[this.uuid]=this,e[this.options.pos]||(e[this.options.pos]=t.$('
          ').appendTo("body").on("click",".uk-notify-message",function(){var e=t.$(this).data("notifyMessage");e.element.trigger("manualclose.uk.notify",[e]),e.close()}))};return t.$.extend(n.prototype,{uuid:!1,element:!1,timout:!1,currentstatus:"",group:!1,show:function(){if(!this.element.is(":visible")){var t=this;e[this.options.pos].show().prepend(this.element);var i=parseInt(this.element.css("margin-bottom"),10);return this.element.css({opacity:0,marginTop:-1*this.element.outerHeight(),marginBottom:0}).animate({opacity:1,marginTop:0,marginBottom:i},function(){if(t.options.timeout){var e=function(){t.close()};t.timeout=setTimeout(e,t.options.timeout),t.element.hover(function(){clearTimeout(t.timeout)},function(){t.timeout=setTimeout(e,t.options.timeout)})}}),this}},close:function(t){var s=this,o=function(){s.element.remove(),e[s.options.pos].children().length||e[s.options.pos].hide(),s.options.onClose.apply(s,[]),s.element.trigger("close.uk.notify",[s]),delete i[s.uuid]};this.timeout&&clearTimeout(this.timeout),t?o():this.element.animate({opacity:0,marginTop:-1*this.element.outerHeight(),marginBottom:0},function(){o()})},content:function(t){var e=this.element.find(">div");return t?(e.html(t),this):e.html()},status:function(t){return t?(this.element.removeClass("uk-notify-message-"+this.currentstatus).addClass("uk-notify-message-"+t),this.currentstatus=t,this):this.currentstatus}}),n.defaults={message:"",status:"",timeout:5e3,group:null,pos:"top-center",onClose:function(){}},t.notify=s,t.notify.message=n,t.notify.closeAll=o,s}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/pagination.js b/bower_components/uikit/js/components/pagination.js new file mode 100644 index 0000000..a1cd4b8 --- /dev/null +++ b/bower_components/uikit/js/components/pagination.js @@ -0,0 +1,147 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* + * Based on simplePagination - Copyright (c) 2012 Flavius Matis - http://flaviusmatis.github.com/simplePagination.js/ (MIT) + */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-pagination', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + "use strict"; + + UI.component('pagination', { + + defaults: { + items : 1, + itemsOnPage : 1, + pages : 0, + displayedPages : 7, + edges : 1, + currentPage : 0, + lblPrev : false, + lblNext : false, + onSelectPage : function() {} + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-pagination]', context).each(function(){ + var ele = UI.$(this); + + if (!ele.data('pagination')) { + UI.pagination(ele, UI.Utils.options(ele.attr('data-uk-pagination'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.pages = this.options.pages ? this.options.pages : Math.ceil(this.options.items / this.options.itemsOnPage) ? Math.ceil(this.options.items / this.options.itemsOnPage) : 1; + this.currentPage = this.options.currentPage; + this.halfDisplayed = this.options.displayedPages / 2; + + this.on('click', 'a[data-page]', function(e){ + e.preventDefault(); + $this.selectPage(UI.$(this).data('page')); + }); + + this._render(); + }, + + _getInterval: function() { + + return { + start: Math.ceil(this.currentPage > this.halfDisplayed ? Math.max(Math.min(this.currentPage - this.halfDisplayed, (this.pages - this.options.displayedPages)), 0) : 0), + end : Math.ceil(this.currentPage > this.halfDisplayed ? Math.min(this.currentPage + this.halfDisplayed, this.pages) : Math.min(this.options.displayedPages, this.pages)) + }; + }, + + render: function(pages) { + this.pages = pages ? pages : this.pages; + this._render(); + }, + + selectPage: function(pageIndex, pages) { + this.currentPage = pageIndex; + this.render(pages); + + this.options.onSelectPage.apply(this, [pageIndex]); + this.trigger('select.uk.pagination', [pageIndex, this]); + }, + + _render: function() { + + var o = this.options, interval = this._getInterval(), i; + + this.element.empty(); + + // Generate Prev link + if (o.lblPrev) this._append(this.currentPage - 1, {text: o.lblPrev}); + + // Generate start edges + if (interval.start > 0 && o.edges > 0) { + + var end = Math.min(o.edges, interval.start); + + for (i = 0; i < end; i++) this._append(i); + + if (o.edges < interval.start && (interval.start - o.edges != 1)) { + this.element.append('
        • ...
        • '); + } else if (interval.start - o.edges == 1) { + this._append(o.edges); + } + } + + // Generate interval links + for (i = interval.start; i < interval.end; i++) this._append(i); + + // Generate end edges + if (interval.end < this.pages && o.edges > 0) { + + if (this.pages - o.edges > interval.end && (this.pages - o.edges - interval.end != 1)) { + this.element.append('
        • ...
        • '); + } else if (this.pages - o.edges - interval.end == 1) { + this._append(interval.end++); + } + + var begin = Math.max(this.pages - o.edges, interval.end); + + for (i = begin; i < this.pages; i++) this._append(i); + } + + // Generate Next link (unless option is set for at front) + if (o.lblNext) this._append(this.currentPage + 1, {text: o.lblNext}); + }, + + _append: function(pageIndex, opts) { + + var item, options; + + pageIndex = pageIndex < 0 ? 0 : (pageIndex < this.pages ? pageIndex : this.pages - 1); + options = UI.$.extend({ text: pageIndex + 1 }, opts); + + item = (pageIndex == this.currentPage) ? '
        • ' + (options.text) + '
        • ' : '
        • '+options.text+'
        • '; + + this.element.append(item); + } + }); + + return UI.pagination; +}); diff --git a/bower_components/uikit/js/components/pagination.min.js b/bower_components/uikit/js/components/pagination.min.js new file mode 100644 index 0000000..10ad713 --- /dev/null +++ b/bower_components/uikit/js/components/pagination.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var e;window.UIkit2&&(e=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-pagination",["uikit"],function(){return e||t(UIkit2)})}(function(t){"use strict";return t.component("pagination",{defaults:{items:1,itemsOnPage:1,pages:0,displayedPages:7,edges:1,currentPage:0,lblPrev:!1,lblNext:!1,onSelectPage:function(){}},boot:function(){t.ready(function(e){t.$("[data-uk-pagination]",e).each(function(){var e=t.$(this);e.data("pagination")||t.pagination(e,t.Utils.options(e.attr("data-uk-pagination")))})})},init:function(){var e=this;this.pages=this.options.pages?this.options.pages:Math.ceil(this.options.items/this.options.itemsOnPage)?Math.ceil(this.options.items/this.options.itemsOnPage):1,this.currentPage=this.options.currentPage,this.halfDisplayed=this.options.displayedPages/2,this.on("click","a[data-page]",function(i){i.preventDefault(),e.selectPage(t.$(this).data("page"))}),this._render()},_getInterval:function(){return{start:Math.ceil(this.currentPage>this.halfDisplayed?Math.max(Math.min(this.currentPage-this.halfDisplayed,this.pages-this.options.displayedPages),0):0),end:Math.ceil(this.currentPage>this.halfDisplayed?Math.min(this.currentPage+this.halfDisplayed,this.pages):Math.min(this.options.displayedPages,this.pages))}},render:function(t){this.pages=t?t:this.pages,this._render()},selectPage:function(t,e){this.currentPage=t,this.render(e),this.options.onSelectPage.apply(this,[t]),this.trigger("select.uk.pagination",[t,this])},_render:function(){var t,e=this.options,i=this._getInterval();if(this.element.empty(),e.lblPrev&&this._append(this.currentPage-1,{text:e.lblPrev}),i.start>0&&e.edges>0){var s=Math.min(e.edges,i.start);for(t=0;s>t;t++)this._append(t);e.edges..."):i.start-e.edges==1&&this._append(e.edges)}for(t=i.start;t0){this.pages-e.edges>i.end&&this.pages-e.edges-i.end!=1?this.element.append("
        • ...
        • "):this.pages-e.edges-i.end==1&&this._append(i.end++);var a=Math.max(this.pages-e.edges,i.end);for(t=a;te?0:e'+a.text+"":'
        • '+a.text+"
        • ",this.element.append(s)}}),t.pagination}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/parallax.js b/bower_components/uikit/js/components/parallax.js new file mode 100644 index 0000000..4cb4925 --- /dev/null +++ b/bower_components/uikit/js/components/parallax.js @@ -0,0 +1,462 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-parallax', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + "use strict"; + + var parallaxes = [], + supports3d = false, + scrolltop = 0, + wh = window.innerHeight, + checkParallaxes = function() { + + scrolltop = UI.$win.scrollTop(); + + window.requestAnimationFrame(function(){ + for (var i=0; i < parallaxes.length; i++) { + parallaxes[i].process(); + } + }); + }; + + + UI.component('parallax', { + + defaults: { + velocity : 0.5, + target : false, + viewport : false, + media : false + }, + + boot: function() { + + supports3d = (function(){ + + var el = document.createElement('div'), + has3d, + transforms = { + 'WebkitTransform':'-webkit-transform', + 'MSTransform':'-ms-transform', + 'MozTransform':'-moz-transform', + 'Transform':'transform' + }; + + // Add it to the body to get the computed style. + document.body.insertBefore(el, null); + + for (var t in transforms) { + if (el.style[t] !== undefined) { + el.style[t] = 'translate3d(1px,1px,1px)'; + has3d = window.getComputedStyle(el).getPropertyValue(transforms[t]); + } + } + + document.body.removeChild(el); + + return (has3d !== undefined && has3d.length > 0 && has3d !== "none"); + })(); + + // listen to scroll and resize + UI.$doc.on('scrolling.uk.document', checkParallaxes); + UI.$win.on('load resize orientationchange', UI.Utils.debounce(function(){ + wh = window.innerHeight; + checkParallaxes(); + }, 50)); + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-parallax]', context).each(function() { + + var parallax = UI.$(this); + + if (!parallax.data('parallax')) { + UI.parallax(parallax, UI.Utils.options(parallax.attr('data-uk-parallax'))); + } + }); + }); + }, + + init: function() { + + this.base = this.options.target ? UI.$(this.options.target) : this.element; + this.props = {}; + this.velocity = (this.options.velocity || 1); + + var reserved = ['target','velocity','viewport','plugins','media']; + + Object.keys(this.options).forEach(function(prop){ + + if (reserved.indexOf(prop) !== -1) { + return; + } + + var start, end, dir, diff, startend = String(this.options[prop]).split(','); + + if (prop.match(/color/i)) { + start = startend[1] ? startend[0] : this._getStartValue(prop), + end = startend[1] ? startend[1] : startend[0]; + + if (!start) { + start = 'rgba(255,255,255,0)'; + } + + } else { + start = parseFloat(startend[1] ? startend[0] : this._getStartValue(prop)), + end = parseFloat(startend[1] ? startend[1] : startend[0]); + diff = (start < end ? (end-start):(start-end)); + dir = (start < end ? 1:-1); + } + + this.props[prop] = { start: start, end: end, dir: dir, diff: diff }; + + }.bind(this)); + + parallaxes.push(this); + }, + + process: function() { + + if (this.options.media) { + + switch(typeof(this.options.media)) { + case 'number': + if (window.innerWidth < this.options.media) { + return false; + } + break; + case 'string': + if (window.matchMedia && !window.matchMedia(this.options.media).matches) { + return false; + } + break; + } + } + + var percent = this.percentageInViewport(); + + if (this.options.viewport !== false) { + percent = (this.options.viewport === 0) ? 1 : percent / this.options.viewport; + } + + this.update(percent); + }, + + percentageInViewport: function() { + + var top = this.base.offset().top, + height = this.base.outerHeight(), + distance, percentage, percent; + + if (top > (scrolltop + wh)) { + percent = 0; + } else if ((top + height) < scrolltop) { + percent = 1; + } else { + + if ((top + height) < wh) { + + percent = (scrolltop < wh ? scrolltop : scrolltop - wh) / (top+height); + + } else { + + distance = (scrolltop + wh) - top; + percentage = Math.round(distance / ((wh + height) / 100)); + percent = percentage/100; + } + } + + return percent; + }, + + update: function(percent) { + + var $this = this, + css = {transform:'', filter:''}, + compercent = percent * (1 - (this.velocity - (this.velocity * percent))), + opts, val; + + if (compercent < 0) compercent = 0; + if (compercent > 1) compercent = 1; + + if (this._percent !== undefined && this._percent == compercent) { + return; + } + + Object.keys(this.props).forEach(function(prop) { + + opts = this.props[prop]; + + if (percent === 0) { + val = opts.start; + } else if(percent === 1) { + val = opts.end; + } else if(opts.diff !== undefined) { + val = opts.start + (opts.diff * compercent * opts.dir); + } + + if ((prop == 'bg' || prop == 'bgp') && !this._bgcover) { + this._bgcover = initBgImageParallax(this, prop, opts); + } + + switch(prop) { + + // transforms + case 'x': + css.transform += supports3d ? ' translate3d('+val+'px, 0, 0)':' translateX('+val+'px)'; + break; + case 'xp': + css.transform += supports3d ? ' translate3d('+val+'%, 0, 0)':' translateX('+val+'%)'; + break; + case 'y': + css.transform += supports3d ? ' translate3d(0, '+val+'px, 0)':' translateY('+val+'px)'; + break; + case 'yp': + css.transform += supports3d ? ' translate3d(0, '+val+'%, 0)':' translateY('+val+'%)'; + break; + case 'rotate': + css.transform += ' rotate('+val+'deg)'; + break; + case 'scale': + css.transform += ' scale('+val+')'; + break; + + // bg image + case 'bg': + + // don't move if image height is too small + // if ($this.element.data('bgsize') && ($this.element.data('bgsize').h + val - window.innerHeight) < 0) { + // break; + // } + + css['background-position'] = '50% '+val+'px'; + break; + case 'bgp': + css['background-position'] = '50% '+val+'%'; + break; + + // color + case 'color': + case 'background-color': + case 'border-color': + css[prop] = calcColor(opts.start, opts.end, compercent); + break; + + // CSS Filter + case 'blur': + css.filter += ' blur('+val+'px)'; + break; + case 'hue': + css.filter += ' hue-rotate('+val+'deg)'; + break; + case 'grayscale': + css.filter += ' grayscale('+val+'%)'; + break; + case 'invert': + css.filter += ' invert('+val+'%)'; + break; + case 'fopacity': + css.filter += ' opacity('+val+'%)'; + break; + case 'saturate': + css.filter += ' saturate('+val+'%)'; + break; + case 'sepia': + css.filter += ' sepia('+val+'%)'; + break; + + default: + css[prop] = val; + break; + } + + }.bind(this)); + + if (css.filter) { + css['-webkit-filter'] = css.filter; + } + + this.element.css(css); + + this._percent = compercent; + }, + + _getStartValue: function(prop) { + + var value = 0; + + switch(prop) { + case 'scale': + value = 1; + break; + default: + value = this.element.css(prop); + } + + return (value || 0); + } + + }); + + + // helper + + function initBgImageParallax(obj, prop, opts) { + + var img = new Image(), url, element, size, check, ratio, width, height; + + element = obj.element.css({backgroundSize: 'cover', backgroundRepeat: 'no-repeat'}); + url = element.css('background-image').replace(/^url\(/g, '').replace(/\)$/g, '').replace(/("|')/g, ''); + check = function() { + + var w = element.innerWidth(), h = element.innerHeight(), extra = (prop=='bg') ? opts.diff : (opts.diff/100) * h; + + h += extra; + w += Math.ceil(extra * ratio); + + if (w-extra < size.w && h < size.h) { + return obj.element.css({backgroundSize: 'auto'}); + } + + // if element height < parent height (gap underneath) + if ((w / ratio) < h) { + + width = Math.ceil(h * ratio); + height = h; + + if (h > window.innerHeight) { + width = width * 1.2; + height = height * 1.2; + } + + // element width < parent width (gap to right) + } else { + + width = w; + height = Math.ceil(w / ratio); + } + + element.css({backgroundSize: (width+'px '+height+'px')}).data('bgsize', {w:width,h:height}); + }; + + img.onerror = function(){ + // image url doesn't exist + }; + + img.onload = function(){ + size = {w:img.width, h:img.height}; + ratio = img.width / img.height; + + UI.$win.on('load resize orientationchange', UI.Utils.debounce(function(){ + check(); + }, 50)); + + check(); + }; + + img.src = url; + + return true; + } + + + // Some named colors to work with, added by Bradley Ayers + // From Interface by Stefan Petre + // http://interface.eyecon.ro/ + var colors = { + 'black': [0,0,0,1], + 'blue': [0,0,255,1], + 'brown': [165,42,42,1], + 'cyan': [0,255,255,1], + 'fuchsia': [255,0,255,1], + 'gold': [255,215,0,1], + 'green': [0,128,0,1], + 'indigo': [75,0,130,1], + 'khaki': [240,230,140,1], + 'lime': [0,255,0,1], + 'magenta': [255,0,255,1], + 'maroon': [128,0,0,1], + 'navy': [0,0,128,1], + 'olive': [128,128,0,1], + 'orange': [255,165,0,1], + 'pink': [255,192,203,1], + 'purple': [128,0,128,1], + 'violet': [128,0,128,1], + 'red': [255,0,0,1], + 'silver': [192,192,192,1], + 'white': [255,255,255,1], + 'yellow': [255,255,0,1], + 'transparent': [255,255,255,0] + }; + + function calcColor(start, end, pos) { + + start = parseColor(start); + end = parseColor(end); + pos = pos || 0; + + return calculateColor(start, end, pos); + } + + /**! + * @preserve Color animation 1.6.0 + * http://www.bitstorm.org/jquery/color-animation/ + * Copyright 2011, 2013 Edwin Martin + * Released under the MIT and GPL licenses. + */ + + // Calculate an in-between color. Returns "#aabbcc"-like string. + function calculateColor(begin, end, pos) { + var color = 'rgba(' + + parseInt((begin[0] + pos * (end[0] - begin[0])), 10) + ',' + + parseInt((begin[1] + pos * (end[1] - begin[1])), 10) + ',' + + parseInt((begin[2] + pos * (end[2] - begin[2])), 10) + ',' + + (begin && end ? parseFloat(begin[3] + pos * (end[3] - begin[3])) : 1); + + color += ')'; + return color; + } + + // Parse an CSS-syntax color. Outputs an array [r, g, b] + function parseColor(color) { + + var match, quadruplet; + + // Match #aabbcc + if (match = /#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/.exec(color)) { + quadruplet = [parseInt(match[1], 16), parseInt(match[2], 16), parseInt(match[3], 16), 1]; + + // Match #abc + } else if (match = /#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])/.exec(color)) { + quadruplet = [parseInt(match[1], 16) * 17, parseInt(match[2], 16) * 17, parseInt(match[3], 16) * 17, 1]; + + // Match rgb(n, n, n) + } else if (match = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color)) { + quadruplet = [parseInt(match[1]), parseInt(match[2]), parseInt(match[3]), 1]; + + } else if (match = /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9\.]*)\s*\)/.exec(color)) { + quadruplet = [parseInt(match[1], 10), parseInt(match[2], 10), parseInt(match[3], 10),parseFloat(match[4])]; + + // No browser returns rgb(n%, n%, n%), so little reason to support this format. + } else { + quadruplet = colors[color] || [255,255,255,0]; + } + return quadruplet; + } + + return UI.parallax; +}); diff --git a/bower_components/uikit/js/components/parallax.min.js b/bower_components/uikit/js/components/parallax.min.js new file mode 100644 index 0000000..a3cc3fa --- /dev/null +++ b/bower_components/uikit/js/components/parallax.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(e){var t;window.UIkit2&&(t=e(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-parallax",["uikit"],function(){return t||e(UIkit2)})}(function(e){"use strict";function t(t,a,r){var i,n,s,o,c,l,p,f=new Image;return n=t.element.css({backgroundSize:"cover",backgroundRepeat:"no-repeat"}),i=n.css("background-image").replace(/^url\(/g,"").replace(/\)$/g,"").replace(/("|')/g,""),o=function(){var e=n.innerWidth(),i=n.innerHeight(),o="bg"==a?r.diff:r.diff/100*i;return i+=o,e+=Math.ceil(o*c),e-oe/c?(l=Math.ceil(i*c),p=i,i>window.innerHeight&&(l=1.2*l,p=1.2*p)):(l=e,p=Math.ceil(e/c)),n.css({backgroundSize:l+"px "+p+"px"}).data("bgsize",{w:l,h:p}),void 0)},f.onerror=function(){},f.onload=function(){s={w:f.width,h:f.height},c=f.width/f.height,e.$win.on("load resize orientationchange",e.Utils.debounce(function(){o()},50)),o()},f.src=i,!0}function a(e,t,a){return e=i(e),t=i(t),a=a||0,r(e,t,a)}function r(e,t,a){var r="rgba("+parseInt(e[0]+a*(t[0]-e[0]),10)+","+parseInt(e[1]+a*(t[1]-e[1]),10)+","+parseInt(e[2]+a*(t[2]-e[2]),10)+","+(e&&t?parseFloat(e[3]+a*(t[3]-e[3])):1);return r+=")"}function i(e){var t,a;return a=(t=/#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/.exec(e))?[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16),1]:(t=/#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])/.exec(e))?[17*parseInt(t[1],16),17*parseInt(t[2],16),17*parseInt(t[3],16),1]:(t=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(e))?[parseInt(t[1]),parseInt(t[2]),parseInt(t[3]),1]:(t=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9\.]*)\s*\)/.exec(e))?[parseInt(t[1],10),parseInt(t[2],10),parseInt(t[3],10),parseFloat(t[4])]:p[e]||[255,255,255,0]}var n=[],s=!1,o=0,c=window.innerHeight,l=function(){o=e.$win.scrollTop(),window.requestAnimationFrame(function(){for(var e=0;e0&&"none"!==e}(),e.$doc.on("scrolling.uk.document",l),e.$win.on("load resize orientationchange",e.Utils.debounce(function(){c=window.innerHeight,l()},50)),e.ready(function(t){e.$("[data-uk-parallax]",t).each(function(){var t=e.$(this);t.data("parallax")||e.parallax(t,e.Utils.options(t.attr("data-uk-parallax")))})})},init:function(){this.base=this.options.target?e.$(this.options.target):this.element,this.props={},this.velocity=this.options.velocity||1;var t=["target","velocity","viewport","plugins","media"];Object.keys(this.options).forEach(function(e){if(-1===t.indexOf(e)){var a,r,i,n,s=String(this.options[e]).split(",");e.match(/color/i)?(a=s[1]?s[0]:this._getStartValue(e),r=s[1]?s[1]:s[0],a||(a="rgba(255,255,255,0)")):(a=parseFloat(s[1]?s[0]:this._getStartValue(e)),r=parseFloat(s[1]?s[1]:s[0]),n=r>a?r-a:a-r,i=r>a?1:-1),this.props[e]={start:a,end:r,dir:i,diff:n}}}.bind(this)),n.push(this)},process:function(){if(this.options.media)switch(typeof this.options.media){case"number":if(window.innerWidtho+c?a=0:o>r+i?a=1:c>r+i?a=(c>o?o:o-c)/(r+i):(e=o+c-r,t=Math.round(e/((c+i)/100)),a=t/100),a},update:function(e){var r,i,n={transform:"",filter:""},o=e*(1-(this.velocity-this.velocity*e));0>o&&(o=0),o>1&&(o=1),(void 0===this._percent||this._percent!=o)&&(Object.keys(this.props).forEach(function(c){switch(r=this.props[c],0===e?i=r.start:1===e?i=r.end:void 0!==r.diff&&(i=r.start+r.diff*o*r.dir),"bg"!=c&&"bgp"!=c||this._bgcover||(this._bgcover=t(this,c,r)),c){case"x":n.transform+=s?" translate3d("+i+"px, 0, 0)":" translateX("+i+"px)";break;case"xp":n.transform+=s?" translate3d("+i+"%, 0, 0)":" translateX("+i+"%)";break;case"y":n.transform+=s?" translate3d(0, "+i+"px, 0)":" translateY("+i+"px)";break;case"yp":n.transform+=s?" translate3d(0, "+i+"%, 0)":" translateY("+i+"%)";break;case"rotate":n.transform+=" rotate("+i+"deg)";break;case"scale":n.transform+=" scale("+i+")";break;case"bg":n["background-position"]="50% "+i+"px";break;case"bgp":n["background-position"]="50% "+i+"%";break;case"color":case"background-color":case"border-color":n[c]=a(r.start,r.end,o);break;case"blur":n.filter+=" blur("+i+"px)";break;case"hue":n.filter+=" hue-rotate("+i+"deg)";break;case"grayscale":n.filter+=" grayscale("+i+"%)";break;case"invert":n.filter+=" invert("+i+"%)";break;case"fopacity":n.filter+=" opacity("+i+"%)";break;case"saturate":n.filter+=" saturate("+i+"%)";break;case"sepia":n.filter+=" sepia("+i+"%)";break;default:n[c]=i}}.bind(this)),n.filter&&(n["-webkit-filter"]=n.filter),this.element.css(n),this._percent=o)},_getStartValue:function(e){var t=0;switch(e){case"scale":t=1;break;default:t=this.element.css(e)}return t||0}});var p={black:[0,0,0,1],blue:[0,0,255,1],brown:[165,42,42,1],cyan:[0,255,255,1],fuchsia:[255,0,255,1],gold:[255,215,0,1],green:[0,128,0,1],indigo:[75,0,130,1],khaki:[240,230,140,1],lime:[0,255,0,1],magenta:[255,0,255,1],maroon:[128,0,0,1],navy:[0,0,128,1],olive:[128,128,0,1],orange:[255,165,0,1],pink:[255,192,203,1],purple:[128,0,128,1],violet:[128,0,128,1],red:[255,0,0,1],silver:[192,192,192,1],white:[255,255,255,1],yellow:[255,255,0,1],transparent:[255,255,255,0]};return e.parallax}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/search.js b/bower_components/uikit/js/components/search.js new file mode 100644 index 0000000..6c899ba --- /dev/null +++ b/bower_components/uikit/js/components/search.js @@ -0,0 +1,92 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-search', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + "use strict"; + + UI.component('search', { + defaults: { + msgResultsHeader : 'Search Results', + msgMoreResults : 'More Results', + msgNoResults : 'No results found', + template : '', + + renderer: function(data) { + + var opts = this.options; + + this.dropdown.append(this.template({items:data.results || [], msgResultsHeader:opts.msgResultsHeader, msgMoreResults: opts.msgMoreResults, msgNoResults: opts.msgNoResults})); + this.show(); + } + }, + + boot: function() { + + // init code + UI.$html.on('focus.search.uikit', '[data-uk-search]', function(e) { + var ele =UI.$(this); + + if (!ele.data('search')) { + UI.search(ele, UI.Utils.options(ele.attr('data-uk-search'))); + } + }); + }, + + init: function() { + var $this = this; + + this.autocomplete = UI.autocomplete(this.element, this.options); + + this.autocomplete.dropdown.addClass('uk-dropdown-search'); + + this.autocomplete.input.on("keyup", function(){ + $this.element[$this.autocomplete.input.val() ? 'addClass':'removeClass']('uk-active'); + }).closest("form").on("reset", function(){ + $this.value = ''; + $this.element.removeClass('uk-active'); + }); + + this.on('selectitem.uk.autocomplete', function(e, data) { + if (data.url) { + location.href = data.url; + } else if(data.moreresults) { + $this.autocomplete.input.closest('form').submit(); + } + }); + + this.element.data('search', this); + } + }); +}); diff --git a/bower_components/uikit/js/components/search.min.js b/bower_components/uikit/js/components/search.min.js new file mode 100644 index 0000000..b6e7e7a --- /dev/null +++ b/bower_components/uikit/js/components/search.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(e){var s;window.UIkit2&&(s=e(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-search",["uikit"],function(){return s||e(UIkit2)})}(function(e){"use strict";e.component("search",{defaults:{msgResultsHeader:"Search Results",msgMoreResults:"More Results",msgNoResults:"No results found",template:'',renderer:function(e){var s=this.options;this.dropdown.append(this.template({items:e.results||[],msgResultsHeader:s.msgResultsHeader,msgMoreResults:s.msgMoreResults,msgNoResults:s.msgNoResults})),this.show()}},boot:function(){e.$html.on("focus.search.uikit","[data-uk-search]",function(){var s=e.$(this);s.data("search")||e.search(s,e.Utils.options(s.attr("data-uk-search")))})},init:function(){var s=this;this.autocomplete=e.autocomplete(this.element,this.options),this.autocomplete.dropdown.addClass("uk-dropdown-search"),this.autocomplete.input.on("keyup",function(){s.element[s.autocomplete.input.val()?"addClass":"removeClass"]("uk-active")}).closest("form").on("reset",function(){s.value="",s.element.removeClass("uk-active")}),this.on("selectitem.uk.autocomplete",function(e,t){t.url?location.href=t.url:t.moreresults&&s.autocomplete.input.closest("form").submit()}),this.element.data("search",this)}})}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/slider.js b/bower_components/uikit/js/components/slider.js new file mode 100644 index 0000000..60dc18c --- /dev/null +++ b/bower_components/uikit/js/components/slider.js @@ -0,0 +1,552 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-slider', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + "use strict"; + + var dragging, delayIdle, anchor, dragged, store = {}; + + UI.component('slider', { + + defaults: { + center : false, + threshold : 10, + infinite : true, + autoplay : false, + autoplayInterval : 7000, + pauseOnHover : true, + activecls : 'uk-active' + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + setTimeout(function(){ + + UI.$('[data-uk-slider]', context).each(function(){ + + var ele = UI.$(this); + + if (!ele.data('slider')) { + UI.slider(ele, UI.Utils.options(ele.attr('data-uk-slider'))); + } + }); + + }, 0); + }); + }, + + init: function() { + + var $this = this; + + this.container = this.element.find('.uk-slider'); + this.focus = 0; + + UI.$win.on('resize load', UI.Utils.debounce(function() { + $this.update(true); + }, 100)); + + this.on('click.uk.slider', '[data-uk-slider-item]', function(e) { + + e.preventDefault(); + + var item = UI.$(this).attr('data-uk-slider-item'); + + if ($this.focus == item) return; + + // stop autoplay + $this.stop(); + + switch(item) { + case 'next': + case 'previous': + $this[item=='next' ? 'next':'previous'](); + break; + default: + $this.updateFocus(parseInt(item, 10)); + } + }); + + this.container.on({ + + 'touchstart mousedown': function(evt) { + + if (evt.originalEvent && evt.originalEvent.touches) { + evt = evt.originalEvent.touches[0]; + } + + // ignore right click button + if (evt.button && evt.button==2 || !$this.active) { + return; + } + + // stop autoplay + $this.stop(); + + anchor = UI.$(evt.target).is('a') ? UI.$(evt.target) : UI.$(evt.target).parents('a:first'); + dragged = false; + + if (anchor.length) { + + anchor.one('click', function(e){ + if (dragged) e.preventDefault(); + }); + } + + delayIdle = function(e) { + + dragged = true; + dragging = $this; + store = { + touchx : parseInt(e.pageX, 10), + dir : 1, + focus : $this.focus, + base : $this.options.center ? 'center':'area' + }; + + if (e.originalEvent && e.originalEvent.touches) { + e = e.originalEvent.touches[0]; + } + + dragging.element.data({ + 'pointer-start': {x: parseInt(e.pageX, 10), y: parseInt(e.pageY, 10)}, + 'pointer-pos-start': $this.pos + }); + + $this.container.addClass('uk-drag'); + + delayIdle = false; + }; + + delayIdle.x = parseInt(evt.pageX, 10); + delayIdle.threshold = $this.options.threshold; + + }, + + mouseenter: function() { if ($this.options.pauseOnHover) $this.hovering = true; }, + mouseleave: function() { $this.hovering = false; } + }); + + this.update(true); + + this.on('display.uk.check', function(){ + if ($this.element.is(":visible")) { + $this.update(true); + } + }); + + // prevent dragging links + images + this.element.find('a,img').attr('draggable', 'false'); + + // Set autoplay + if (this.options.autoplay) { + this.start(); + } + + UI.domObserve(this.element, function(e) { + if ($this.element.children(':not([data-slider-slide])').length) { + $this.update(true); + } + }); + + }, + + update: function(focus) { + + var $this = this, pos = 0, maxheight = 0, item, width, cwidth, size; + + this.items = this.container.children().filter(':visible'); + this.vp = this.element[0].getBoundingClientRect().width; + + this.container.css({'min-width': '', 'min-height': ''}); + + this.items.each(function(idx){ + + item = UI.$(this).attr('data-slider-slide', idx); + size = item.css({'left': '', 'width':''})[0].getBoundingClientRect(); + width = size.width; + cwidth = item.width(); + maxheight = Math.max(maxheight, size.height); + + item.css({'left': pos, 'width':width}).data({'idx':idx, 'left': pos, 'width': width, 'cwidth':cwidth, 'area': (pos+width), 'center':(pos - ($this.vp/2 - cwidth/2))}); + + pos += width; + }); + + this.container.css({'min-width': pos, 'min-height': maxheight}); + + if (this.options.infinite && (pos <= (2*this.vp) || this.items.length < 5) && !this.itemsResized) { + + // fill with cloned items + this.container.children().each(function(idx){ + $this.container.append($this.items.eq(idx).clone(true).attr('id', '')); + }).each(function(idx){ + $this.container.append($this.items.eq(idx).clone(true).attr('id', '')); + }); + + this.itemsResized = true; + + return this.update(); + } + + this.cw = pos; + this.pos = 0; + this.active = pos >= this.vp; + + this.container.css({ + '-ms-transform': '', + '-webkit-transform': '', + 'transform': '' + }); + + if (focus) this.updateFocus(this.focus); + }, + + updatePos: function(pos) { + this.pos = pos; + this.container.css({ + '-ms-transform': 'translateX('+pos+'px)', + '-webkit-transform': 'translateX('+pos+'px)', + 'transform': 'translateX('+pos+'px)' + }); + }, + + updateFocus: function(idx, dir) { + + if (!this.active) { + return; + } + + dir = dir || (idx > this.focus ? 1:-1); + + var item = this.items.eq(idx), area, i; + + if (this.options.infinite) { + this.infinite(idx, dir); + } + + if (this.options.center) { + + this.updatePos(item.data('center')*-1); + + this.items.filter('.'+this.options.activecls).removeClass(this.options.activecls); + item.addClass(this.options.activecls); + + } else { + + if (this.options.infinite) { + + this.updatePos(item.data('left')*-1); + + } else { + + area = 0; + + for (i=idx;i this.vp) { + + this.updatePos(item.data('left')*-1); + + } else { + + if (dir == 1) { + + area = 0; + + for (i=this.items.length-1;i>=0;i--) { + + area += this.items.eq(i).data('width'); + + if (area == this.vp) { + idx = i; + break; + } + + if (area > this.vp) { + idx = (i < this.items.length-1) ? i+1 : i; + break; + } + } + + if (area > this.vp) { + this.updatePos((this.container.width() - this.vp) * -1); + } else { + this.updatePos(this.items.eq(idx).data('left')*-1); + } + } + } + } + } + + // mark elements + var left = this.items.eq(idx).data('left'); + + this.items.removeClass('uk-slide-before uk-slide-after').each(function(i){ + if (i!==idx) { + UI.$(this).addClass(UI.$(this).data('left') < left ? 'uk-slide-before':'uk-slide-after'); + } + }); + + this.focus = idx; + + this.trigger('focusitem.uk.slider', [idx,this.items.eq(idx),this]); + }, + + next: function() { + + var focus = this.items[this.focus + 1] ? (this.focus + 1) : (this.options.infinite ? 0:this.focus); + + this.updateFocus(focus, 1); + }, + + previous: function() { + + var focus = this.items[this.focus - 1] ? (this.focus - 1) : (this.options.infinite ? (this.items[this.focus - 1] ? this.items-1:this.items.length-1):this.focus); + + this.updateFocus(focus, -1); + }, + + start: function() { + + this.stop(); + + var $this = this; + + this.interval = setInterval(function() { + if (!$this.hovering) $this.next(); + }, this.options.autoplayInterval); + + }, + + stop: function() { + if (this.interval) clearInterval(this.interval); + }, + + infinite: function(baseidx, direction) { + + var $this = this, item = this.items.eq(baseidx), i, z = baseidx, move = [], area = 0; + + if (direction == 1) { + + + for (i=0;i this.vp) { + break; + } + + z = z+1 == this.items.length ? 0:z+1; + } + + if (move.length) { + + move.forEach(function(itm){ + + var left = item.data('area'); + + itm.css({'left': left}).data({ + left : left, + area : (left+itm.data('width')), + center: (left - ($this.vp/2 - itm.data('cwidth')/2)) + }); + + item = itm; + }); + } + + + } else { + + for (i=this.items.length-1;i >-1 ;i--) { + + area += this.items.eq(z).data('width'); + + if (z != baseidx) { + move.push(this.items.eq(z)); + } + + if (area > this.vp) { + break; + } + + z = z-1 == -1 ? this.items.length-1:z-1; + } + + if (move.length) { + + move.forEach(function(itm){ + + var left = item.data('left') - itm.data('width'); + + itm.css({'left': left}).data({ + left : left, + area : (left+itm.data('width')), + center: (left - ($this.vp/2 - itm.data('cwidth')/2)) + }); + + item = itm; + }); + } + } + } + }); + + // handle dragging + UI.$doc.on('mousemove.uk.slider touchmove.uk.slider', function(e) { + + if (e.originalEvent && e.originalEvent.touches) { + e = e.originalEvent.touches[0]; + } + + if (delayIdle && Math.abs(e.pageX - delayIdle.x) > delayIdle.threshold) { + + if (!window.getSelection().toString()) { + delayIdle(e); + } else { + dragging = delayIdle = false; + } + } + + if (!dragging) { + return; + } + + var x, xDiff, pos, dir, focus, item, next, diff, i, z, itm; + + if (e.clientX || e.clientY) { + x = e.clientX; + } else if (e.pageX || e.pageY) { + x = e.pageX - document.body.scrollLeft - document.documentElement.scrollLeft; + } + + focus = store.focus; + xDiff = x - dragging.element.data('pointer-start').x; + pos = dragging.element.data('pointer-pos-start') + xDiff; + dir = x > dragging.element.data('pointer-start').x ? -1:1; + item = dragging.items.eq(store.focus); + + if (dir == 1) { + + diff = item.data('left') + Math.abs(xDiff); + + for (i=0,z=store.focus;i diff) { + focus = z; + break; + } + + z = z+1 == dragging.items.length ? 0:z+1; + } + + } else { + + diff = item.data('left') - Math.abs(xDiff); + + for (i=0,z=store.focus;i store.diff) { + focus = z; + break; + } + + z = z+1 == dragging.items.length ? 0:z+1; + } + if (!dragging.options.infinite && !focus) { + focus = dragging.items.length; + } + + } else { + + for (i=0,z=store.focus;i=this.vp,this.container.css({"-ms-transform":"","-webkit-transform":"",transform:""}),e&&this.updateFocus(this.focus),void 0)},updatePos:function(t){this.pos=t,this.container.css({"-ms-transform":"translateX("+t+"px)","-webkit-transform":"translateX("+t+"px)",transform:"translateX("+t+"px)"})},updateFocus:function(e,i){if(this.active){i=i||(e>this.focus?1:-1);var s,n,a=this.items.eq(e);if(this.options.infinite&&this.infinite(e,i),this.options.center)this.updatePos(-1*a.data("center")),this.items.filter("."+this.options.activecls).removeClass(this.options.activecls),a.addClass(this.options.activecls);else if(this.options.infinite)this.updatePos(-1*a.data("left"));else{for(s=0,n=e;nthis.vp)this.updatePos(-1*a.data("left"));else if(1==i){for(s=0,n=this.items.length-1;n>=0;n--){if(s+=this.items.eq(n).data("width"),s==this.vp){e=n;break}if(s>this.vp){e=nthis.vp?this.updatePos(-1*(this.container.width()-this.vp)):this.updatePos(-1*this.items.eq(e).data("left"))}}var o=this.items.eq(e).data("left");this.items.removeClass("uk-slide-before uk-slide-after").each(function(i){i!==e&&t.$(this).addClass(t.$(this).data("left")this.vp));i++)a=a+1==this.items.length?0:a+1;o.length&&o.forEach(function(t){var e=n.data("area");t.css({left:e}).data({left:e,area:e+t.data("width"),center:e-(s.vp/2-t.data("cwidth")/2)}),n=t})}else{for(i=this.items.length-1;i>-1&&(h+=this.items.eq(a).data("width"),a!=t&&o.push(this.items.eq(a)),!(h>this.vp));i--)a=a-1==-1?this.items.length-1:a-1;o.length&&o.forEach(function(t){var e=n.data("left")-t.data("width");t.css({left:e}).data({left:e,area:e+t.data("width"),center:e-(s.vp/2-t.data("cwidth")/2)}),n=t})}}}),t.$doc.on("mousemove.uk.slider touchmove.uk.slider",function(t){if(t.originalEvent&&t.originalEvent.touches&&(t=t.originalEvent.touches[0]),i&&Math.abs(t.pageX-i.x)>i.threshold&&(window.getSelection().toString()?e=i=!1:i(t)),e){var s,n,o,h,r,c,d,u,f,l;if(t.clientX||t.clientY?s=t.clientX:(t.pageX||t.pageY)&&(s=t.pageX-document.body.scrollLeft-document.documentElement.scrollLeft),r=a.focus,n=s-e.element.data("pointer-start").x,o=e.element.data("pointer-pos-start")+n,h=s>e.element.data("pointer-start").x?-1:1,c=e.items.eq(a.focus),1==h)for(d=c.data("left")+Math.abs(n),u=0,f=a.focus;ud){r=f;break}f=f+1==e.items.length?0:f+1}else for(d=c.data("left")-Math.abs(n),u=0,f=a.focus;ua.diff){o=n;break}n=n+1==e.items.length?0:n+1}e.options.infinite||o||(o=e.items.length)}else{for(s=0,n=a.focus;s'); + } + + this.nav[this.nav.children().length==1 ? 'addClass':'removeClass']('uk-invisible'); + } + + this.activeSet = false; + this.show(0, !animate); + }, + + updateFilter: function(currentfilter) { + + var $this = this, filter; + + this.currentFilter = currentfilter; + + this.controls.find('[data-uk-filter]').each(function(){ + + filter = UI.$(this); + + if (!filter.parent().hasClass('uk-slideset')) { + + if (filter.attr('data-uk-filter') == $this.currentFilter) { + filter.addClass('uk-active'); + } else { + filter.removeClass('uk-active'); + } + } + }); + }, + + getVisibleOnCurrenBreakpoint: function() { + + var breakpoint = null, + tmp = UI.$('
          ').appendTo('body'), + testdiv = tmp.children().eq(0), + breakpoints = this.options; + + ['xlarge', 'large', 'medium', 'small'].forEach(function(bp) { + + if (!breakpoints[bp] || breakpoint) { + return; + } + + tmp.attr('class', 'uk-grid-width-'+bp+'-1-2').width(); + + if (testdiv.width() == 50) { + breakpoint = bp; + } + }); + + tmp.remove(); + + return this.options[breakpoint] || this.options['default']; + }, + + getItems: function() { + + var items = [], filter; + + if (this.currentFilter) { + + filter = this.currentFilter || []; + + if (typeof(filter) === 'string') { + filter = filter.split(/,/).map(function(item){ return item.trim(); }); + } + + this.children.each(function(index){ + + var ele = UI.$(this), f = ele.attr('data-uk-filter'), infilter = filter.length ? false : true; + + if (f) { + + f = f.split(/,/).map(function(item){ return item.trim(); }); + + filter.forEach(function(item){ + if (f.indexOf(item) > -1) infilter = true; + }); + } + + if(infilter) items.push(ele[0]); + }); + + items = UI.$(items); + + } else { + items = this.list.children(); + } + + return items; + }, + + show: function(setIndex, noanimate, dir) { + + var $this = this; + + if (this.activeSet === setIndex || this.animating) { + return; + } + + dir = dir || (setIndex < this.activeSet ? -1:1); + + var current = this.sets[this.activeSet] || [], + next = this.sets[setIndex], + animation = this._getAnimation(); + + if (noanimate || !UI.support.animation) { + animation = Animations.none; + } + + this.animating = true; + + if (this.nav.length) { + this.nav.children().removeClass('uk-active').eq(setIndex).addClass('uk-active'); + } + + animation.apply($this, [current, next, dir]).then(function(){ + + UI.Utils.checkDisplay(next, true); + + $this.children.hide().removeClass('uk-active'); + next.addClass('uk-active').css({'display': '', 'opacity':''}); + + $this.animating = false; + $this.activeSet = setIndex; + + UI.Utils.checkDisplay(next, true); + + $this.trigger('show.uk.slideset', [next]); + }); + + }, + + _getAnimation: function() { + + var animation = Animations[this.options.animation] || Animations.none; + + if (!UI.support.animation) { + animation = Animations.none; + } + + return animation; + }, + + _hide: function() { + + var $this = this, + current = this.sets[this.activeSet] || [], + animation = this._getAnimation(); + + this.animating = true; + + return animation.apply($this, [current, [], 1]).then(function(){ + $this.animating = false; + }); + }, + + next: function() { + this.show(this.sets[this.activeSet + 1] ? (this.activeSet + 1) : 0, false, 1); + }, + + previous: function() { + this.show(this.sets[this.activeSet - 1] ? (this.activeSet - 1) : (this.sets.length - 1), false, -1); + }, + + start: function() { + + this.stop(); + + var $this = this; + + this.interval = setInterval(function() { + if (!$this.hovering && !$this.animating) $this.next(); + }, this.options.autoplayInterval); + + }, + + stop: function() { + if (this.interval) clearInterval(this.interval); + } + }); + + Animations = { + + 'none': function() { + var d = UI.$.Deferred(); + d.resolve(); + return d.promise(); + }, + + 'fade': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-fade', current, next]); + }, + + 'slide-bottom': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-slide-bottom', current, next]); + }, + + 'slide-top': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-slide-top', current, next]); + }, + + 'slide-vertical': function(current, next, dir) { + + var anim = ['uk-animation-slide-top', 'uk-animation-slide-bottom']; + + if (dir == -1) { + anim.reverse(); + } + + return coreAnimation.apply(this, [anim, current, next]); + }, + + 'slide-horizontal': function(current, next, dir) { + + var anim = ['uk-animation-slide-right', 'uk-animation-slide-left']; + + if (dir == -1) { + anim.reverse(); + } + + return coreAnimation.apply(this, [anim, current, next, dir]); + }, + + 'scale': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-scale-up', current, next]); + } + }; + + UI.slideset.animations = Animations; + + // helpers + + function coreAnimation(cls, current, next, dir) { + + var d = UI.$.Deferred(), + delay = (this.options.delay === false) ? Math.floor(this.options.duration/2) : this.options.delay, + $this = this, clsIn, clsOut, release, i; + + dir = dir || 1; + + this.element.css('min-height', this.element.height()); + + if (next[0]===current[0]) { + d.resolve(); + return d.promise(); + } + + if (typeof(cls) == 'object') { + clsIn = cls[0]; + clsOut = cls[1] || cls[0]; + } else { + clsIn = cls; + clsOut = clsIn; + } + + UI.$body.css('overflow-x', 'hidden'); // prevent horizontal scrollbar on animation + + release = function() { + + if (current && current.length) { + current.hide().removeClass(clsOut+' uk-animation-reverse').css({'opacity':'', 'animation-delay': '', 'animation':''}); + } + + if (!next.length) { + d.resolve(); + return; + } + + for (i=0;ii)return null;for(;a>n;)e=n%i,e?o[s][e]=t[n]:o[++s]=[t[n]],n++;for(n=0,a=o.length;a>n;)o[n]=jQuery(o[n]),n++;return o}var n;t.component("slideset",{defaults:{"default":1,animation:"fade",duration:200,filter:"",delay:!1,controls:!1,autoplay:!1,autoplayInterval:7e3,pauseOnHover:!0},sets:[],boot:function(){t.ready(function(i){t.$("[data-uk-slideset]",i).each(function(){var i=t.$(this);i.data("slideset")||t.slideset(i,t.Utils.options(i.attr("data-uk-slideset")))})})},init:function(){var i=this;this.activeSet=!1,this.list=this.element.find(".uk-slideset"),this.nav=this.element.find(".uk-slideset-nav"),this.controls=this.options.controls?t.$(this.options.controls):this.element,t.$win.on("resize load",t.Utils.debounce(function(){i.update()},100)),i.list.addClass("uk-grid-width-1-"+i.options.default),["xlarge","large","medium","small"].forEach(function(t){i.options[t]&&i.list.addClass("uk-grid-width-"+t+"-1-"+i.options[t])}),this.on("click.uk.slideset","[data-uk-slideset-item]",function(e){if(e.preventDefault(),!i.animating){var n=t.$(this).attr("data-uk-slideset-item");if(i.activeSet!==n)switch(n){case"next":case"previous":i["next"==n?"next":"previous"]();break;default:i.show(parseInt(n,10))}}}),this.controls.on("click.uk.slideset","[data-uk-filter]",function(e){var n=t.$(this);n.parent().hasClass("uk-slideset")||(e.preventDefault(),i.animating||i.currentFilter==n.attr("data-uk-filter")||(i.updateFilter(n.attr("data-uk-filter")),i._hide().then(function(){i.update(!0,!0)})))}),this.on("swipeRight swipeLeft",function(t){i["swipeLeft"==t.type?"next":"previous"]()}),this.updateFilter(this.options.filter),this.update(),this.element.on({mouseenter:function(){i.options.pauseOnHover&&(i.hovering=!0)},mouseleave:function(){i.hovering=!1}}),this.options.autoplay&&this.start(),t.domObserve(this.list,function(){i.list.children(":visible:not(.uk-active)").length&&i.update(!1,!0)})},update:function(t,i){var n,s=this.visible;if(this.visible=this.getVisibleOnCurrenBreakpoint(),s!=this.visible||i){for(this.children=this.list.children().hide(),this.items=this.getItems(),this.sets=e(this.items,this.visible),n=0;n');this.nav[1==this.nav.children().length?"addClass":"removeClass"]("uk-invisible")}this.activeSet=!1,this.show(0,!t)}},updateFilter:function(i){var e,n=this;this.currentFilter=i,this.controls.find("[data-uk-filter]").each(function(){e=t.$(this),e.parent().hasClass("uk-slideset")||(e.attr("data-uk-filter")==n.currentFilter?e.addClass("uk-active"):e.removeClass("uk-active"))})},getVisibleOnCurrenBreakpoint:function(){var i=null,e=t.$('
          ').appendTo("body"),n=e.children().eq(0),s=this.options;return["xlarge","large","medium","small"].forEach(function(t){s[t]&&!i&&(e.attr("class","uk-grid-width-"+t+"-1-2").width(),50==n.width()&&(i=t))}),e.remove(),this.options[i]||this.options["default"]},getItems:function(){var i,e=[];return this.currentFilter?(i=this.currentFilter||[],"string"==typeof i&&(i=i.split(/,/).map(function(t){return t.trim()})),this.children.each(function(){var n=t.$(this),s=n.attr("data-uk-filter"),a=i.length?!1:!0;s&&(s=s.split(/,/).map(function(t){return t.trim()}),i.forEach(function(t){s.indexOf(t)>-1&&(a=!0)})),a&&e.push(n[0])}),e=t.$(e)):e=this.list.children(),e},show:function(i,e,s){var a=this;if(this.activeSet!==i&&!this.animating){s=s||(i').css({ + top : 0, + left : 0, + width : this.container.width(), + height : this.container.height(), + opacity: 1, + zIndex : 15 + }), + ghostWidth = ghost.width(), + ghostHeight = ghost.height(), + pos = fromfx == 'slice-up' ? ghostHeight:'0', + bar; + + for (var i = 0; i < this.options.slices; i++) { + + if (fromfx == 'slice-up-down') { + pos = ((i % 2) + 2) % 2==0 ? '0':ghostHeight; + } + + var width = (i == this.options.slices-1) ? sliceWidth : sliceWidth, + clipto = ('rect(0px, '+(width*(i+1))+'px, '+ghostHeight+'px, '+(sliceWidth*i)+'px)'), + clipfrom; + + //slice-down - default + clipfrom = ('rect(0px, '+(width*(i+1))+'px, 0px, '+(sliceWidth*i)+'px)'); + + if (fromfx == 'slice-up' || (fromfx == 'slice-up-down' && ((i % 2) + 2) % 2==0 )) { + clipfrom = ('rect('+ghostHeight+'px, '+(width*(i+1))+'px, '+ghostHeight+'px, '+(sliceWidth*i)+'px)'); + } + + bar = UI.$('
          ').css({ + 'position' : 'absolute', + 'top' : 0, + 'left' : 0, + 'width' : ghostWidth, + 'height' : ghostHeight, + 'background-image' : bgimage, + 'clip' : clipfrom, + 'opacity' : 0, + 'transition' : 'all '+this.options.duration+'ms ease-in-out '+(i*60)+'ms', + '-webkit-transition' : 'all '+this.options.duration+'ms ease-in-out '+(i*60)+'ms' + + }).data('clip', clipto); + + ghost.append(bar); + } + + this.container.append(ghost); + + ghost.children().last().on(UI.support.transition.end, function() { + + setTimeout(function() { + ghost.remove(); + d.resolve(); + }, 0); + }); + + ghost.width(); + + ghost.children().each(function() { + bar = UI.$(this); + bar.css({ clip: bar.data('clip'), opacity: 1 }); + }); + + return d.promise(); + }, + + 'slice-up': function(current, next, dir) { + return Animations.slice.apply(this, [current, next, dir, 'slice-up']); + }, + + 'slice-down': function(current, next, dir) { + return Animations.slice.apply(this, [current, next, dir, 'slice-down']); + }, + + 'slice-up-down': function(current, next, dir) { + return Animations.slice.apply(this, [current, next, dir, 'slice-up-down']); + }, + + fold: function(current, next, dir) { + + if (!next.data('cover')) { + return Animations.fade.apply(this, arguments); + } + + var d = UI.$.Deferred(); + + var sliceWidth = Math.ceil(this.element.width() / this.options.slices), + bgimage = next.data('cover').css('background-image'), + ghost = UI.$('
        • ').css({ + width : next.width(), + height : next.height(), + opacity: 1, + zIndex : 15 + }), + ghostWidth = next.width(), + ghostHeight = next.height(), + bar; + + for (var i = 0; i < this.options.slices; i++) { + + bar = UI.$('
          ').css({ + 'position' : 'absolute', + 'top' : 0, + 'left' : 0, + 'width' : ghostWidth, + 'height' : ghostHeight, + 'background-image' : bgimage, + 'transform-origin' : (sliceWidth*i)+'px 0 0', + 'clip' : ('rect(0px, '+(sliceWidth*(i+1))+'px, '+ghostHeight+'px, '+(sliceWidth*i)+'px)'), + 'opacity' : 0, + 'transform' : 'scaleX(0.000001)', + 'transition' : 'all '+this.options.duration+'ms ease-in-out '+(100+i*60)+'ms', + '-webkit-transition' : 'all '+this.options.duration+'ms ease-in-out '+(100+i*60)+'ms' + }); + + ghost.prepend(bar); + } + + this.container.append(ghost); + + ghost.width(); + + ghost.children().first().on(UI.support.transition.end, function() { + setTimeout(function() { + ghost.remove(); + d.resolve(); + }, 0); + }).end().css({ + transform: 'scaleX(1)', + opacity: 1 + }); + + return d.promise(); + }, + + puzzle: function(current, next, dir) { + + if (!next.data('cover')) { + return Animations.fade.apply(this, arguments); + } + + var d = UI.$.Deferred(), $this = this; + + var boxCols = Math.round(this.options.slices/2), + boxWidth = Math.round(next.width()/boxCols), + boxRows = Math.round(next.height()/boxWidth), + boxHeight = Math.round(next.height()/boxRows)+1, + bgimage = next.data('cover').css('background-image'), + ghost = UI.$('
        • ').css({ + width : this.container.width(), + height : this.container.height(), + opacity : 1, + zIndex : 15 + }), + ghostWidth = this.container.width(), + ghostHeight = this.container.height(), + box, rect, width; + + for (var rows = 0; rows < boxRows; rows++) { + + for (var cols = 0; cols < boxCols; cols++) { + + width = (cols == boxCols-1) ? (boxWidth + 2) : boxWidth; + + rect = [ + (boxHeight * rows) +'px', // top + (width * (cols+1)) +'px', // right + (boxHeight * (rows + 1)) +'px', // bottom + (boxWidth * cols) +'px' // left + ]; + + box = UI.$('
          ').css({ + 'position' : 'absolute', + 'top' : 0, + 'left' : 0, + 'opacity' : 0, + 'width' : ghostWidth, + 'height' : ghostHeight, + 'background-image' : bgimage, + 'clip' : ('rect('+rect.join(',')+')'), + '-webkit-transform' : 'translateZ(0)', // fixes webkit opacity flickering bug + 'transform' : 'translateZ(0)' // fixes moz opacity flickering bug + }); + + ghost.append(box); + } + } + + this.container.append(ghost); + + var boxes = shuffle(ghost.children()); + + boxes.each(function(i) { + UI.$(this).css({ + 'transition': 'all '+$this.options.duration+'ms ease-in-out '+(50+i*25)+'ms', + '-webkit-transition': 'all '+$this.options.duration+'ms ease-in-out '+(50+i*25)+'ms' + }); + }).last().on(UI.support.transition.end, function() { + + setTimeout(function() { + ghost.remove(); + d.resolve(); + }, 0); + }); + + ghost.width(); + + boxes.css({opacity: 1}); + + return d.promise(); + }, + + boxes: function(current, next, dir, fromfx) { + + if (!next.data('cover')) { + return Animations.fade.apply(this, arguments); + } + + var d = UI.$.Deferred(); + + var boxCols = Math.round(this.options.slices/2), + boxWidth = Math.round(next.width()/boxCols), + boxRows = Math.round(next.height()/boxWidth), + boxHeight = Math.round(next.height()/boxRows)+1, + bgimage = next.data('cover').css('background-image'), + ghost = UI.$('
        • ').css({ + width : next.width(), + height : next.height(), + opacity : 1, + zIndex : 15 + }), + ghostWidth = next.width(), + ghostHeight = next.height(), + box, rect, width, cols; + + for (var rows = 0; rows < boxRows; rows++) { + + for (cols = 0; cols < boxCols; cols++) { + + width = (cols == boxCols-1) ? (boxWidth + 2) : boxWidth; + + rect = [ + (boxHeight * rows) +'px', // top + (width * (cols+1)) +'px', // right + (boxHeight * (rows + 1)) +'px', // bottom + (boxWidth * cols) +'px' // left + ]; + + box = UI.$('
          ').css({ + 'position' : 'absolute', + 'top' : 0, + 'left' : 0, + 'opacity' : 1, + 'width' : ghostWidth, + 'height' : ghostHeight, + 'background-image' : bgimage, + 'transform-origin' : rect[3]+' '+rect[0]+' 0', + 'clip' : ('rect('+rect.join(',')+')'), + '-webkit-transform' : 'scale(0.0000000000000001)', + 'transform' : 'scale(0.0000000000000001)' + }); + + ghost.append(box); + } + } + + this.container.append(ghost); + + var rowIndex = 0, colIndex = 0, timeBuff = 0, box2Darr = [[]], boxes = ghost.children(), prevCol; + + if (fromfx == 'boxes-reverse') { + boxes = [].reverse.apply(boxes); + } + + boxes.each(function() { + + box2Darr[rowIndex][colIndex] = UI.$(this); + colIndex++; + + if(colIndex == boxCols) { + rowIndex++; + colIndex = 0; + box2Darr[rowIndex] = []; + } + }); + + for (cols = 0, prevCol = 0; cols < (boxCols * boxRows); cols++) { + + prevCol = cols; + + for (var row = 0; row < boxRows; row++) { + + if (prevCol >= 0 && prevCol < boxCols) { + + box2Darr[row][prevCol].css({ + 'transition': 'all '+this.options.duration+'ms linear '+(50+timeBuff)+'ms', + '-webkit-transition': 'all '+this.options.duration+'ms linear '+(50+timeBuff)+'ms' + }); + } + prevCol--; + } + timeBuff += 100; + } + + boxes.last().on(UI.support.transition.end, function() { + + setTimeout(function() { + ghost.remove(); + d.resolve(); + }, 0); + }); + + ghost.width(); + + boxes.css({ + '-webkit-transform': 'scale(1)', + 'transform': 'scale(1)' + }); + + return d.promise(); + }, + + 'boxes-reverse': function(current, next, dir) { + return Animations.boxes.apply(this, [current, next, dir, 'boxes-reverse']); + }, + + 'random-fx': function(){ + + var animations = ['slice-up', 'fold', 'puzzle', 'slice-down', 'boxes', 'slice-up-down', 'boxes-reverse']; + + this.fxIndex = (this.fxIndex === undefined ? -1 : this.fxIndex) + 1; + + if (!animations[this.fxIndex]) this.fxIndex = 0; + + return Animations[animations[this.fxIndex]].apply(this, arguments); + } + }); + + + // helper functions + + // Shuffle an array + var shuffle = function(arr) { + for (var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x) {} + return arr; + }; + + return UI.slideshow.animations; +}); diff --git a/bower_components/uikit/js/components/slideshow-fx.min.js b/bower_components/uikit/js/components/slideshow-fx.min.js new file mode 100644 index 0000000..712fcff --- /dev/null +++ b/bower_components/uikit/js/components/slideshow-fx.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(i){var t;window.UIkit2&&(t=i(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-slideshow-fx",["uikit"],function(){return t||i(UIkit2)})}(function(i){"use strict";var t=i.slideshow.animations;i.$.extend(i.slideshow.animations,{slice:function(e,s,n,o){if(!e.data("cover"))return t.fade.apply(this,arguments);for(var r,a=i.$.Deferred(),c=Math.ceil(this.element.width()/this.options.slices),h=s.data("cover").css("background-image"),d=i.$('
        • ').css({top:0,left:0,width:this.container.width(),height:this.container.height(),opacity:1,zIndex:15}),p=d.width(),l=d.height(),u="slice-up"==o?l:"0",f=0;f').css({position:"absolute",top:0,left:0,width:p,height:l,"background-image":h,clip:m,opacity:0,transition:"all "+this.options.duration+"ms ease-in-out "+60*f+"ms","-webkit-transition":"all "+this.options.duration+"ms ease-in-out "+60*f+"ms"}).data("clip",x),d.append(r)}return this.container.append(d),d.children().last().on(i.support.transition.end,function(){setTimeout(function(){d.remove(),a.resolve()},0)}),d.width(),d.children().each(function(){r=i.$(this),r.css({clip:r.data("clip"),opacity:1})}),a.promise()},"slice-up":function(i,e,s){return t.slice.apply(this,[i,e,s,"slice-up"])},"slice-down":function(i,e,s){return t.slice.apply(this,[i,e,s,"slice-down"])},"slice-up-down":function(i,e,s){return t.slice.apply(this,[i,e,s,"slice-up-down"])},fold:function(e,s){if(!s.data("cover"))return t.fade.apply(this,arguments);for(var n,o=i.$.Deferred(),r=Math.ceil(this.element.width()/this.options.slices),a=s.data("cover").css("background-image"),c=i.$('
        • ').css({width:s.width(),height:s.height(),opacity:1,zIndex:15}),h=s.width(),d=s.height(),p=0;p').css({position:"absolute",top:0,left:0,width:h,height:d,"background-image":a,"transform-origin":r*p+"px 0 0",clip:"rect(0px, "+r*(p+1)+"px, "+d+"px, "+r*p+"px)",opacity:0,transform:"scaleX(0.000001)",transition:"all "+this.options.duration+"ms ease-in-out "+(100+60*p)+"ms","-webkit-transition":"all "+this.options.duration+"ms ease-in-out "+(100+60*p)+"ms"}),c.prepend(n);return this.container.append(c),c.width(),c.children().first().on(i.support.transition.end,function(){setTimeout(function(){c.remove(),o.resolve()},0)}).end().css({transform:"scaleX(1)",opacity:1}),o.promise()},puzzle:function(s,n){if(!n.data("cover"))return t.fade.apply(this,arguments);for(var o,r,a,c=i.$.Deferred(),h=this,d=Math.round(this.options.slices/2),p=Math.round(n.width()/d),l=Math.round(n.height()/p),u=Math.round(n.height()/l)+1,f=n.data("cover").css("background-image"),m=i.$('
        • ').css({width:this.container.width(),height:this.container.height(),opacity:1,zIndex:15}),g=this.container.width(),x=this.container.height(),w=0;l>w;w++)for(var v=0;d>v;v++)a=v==d-1?p+2:p,r=[u*w+"px",a*(v+1)+"px",u*(w+1)+"px",p*v+"px"],o=i.$('
          ').css({position:"absolute",top:0,left:0,opacity:0,width:g,height:x,"background-image":f,clip:"rect("+r.join(",")+")","-webkit-transform":"translateZ(0)",transform:"translateZ(0)"}),m.append(o);this.container.append(m);var k=e(m.children());return k.each(function(t){i.$(this).css({transition:"all "+h.options.duration+"ms ease-in-out "+(50+25*t)+"ms","-webkit-transition":"all "+h.options.duration+"ms ease-in-out "+(50+25*t)+"ms"})}).last().on(i.support.transition.end,function(){setTimeout(function(){m.remove(),c.resolve()},0)}),m.width(),k.css({opacity:1}),c.promise()},boxes:function(e,s,n,o){if(!s.data("cover"))return t.fade.apply(this,arguments);for(var r,a,c,h,d=i.$.Deferred(),p=Math.round(this.options.slices/2),l=Math.round(s.width()/p),u=Math.round(s.height()/l),f=Math.round(s.height()/u)+1,m=s.data("cover").css("background-image"),g=i.$('
        • ').css({width:s.width(),height:s.height(),opacity:1,zIndex:15}),x=s.width(),w=s.height(),v=0;u>v;v++)for(h=0;p>h;h++)c=h==p-1?l+2:l,a=[f*v+"px",c*(h+1)+"px",f*(v+1)+"px",l*h+"px"],r=i.$('
          ').css({position:"absolute",top:0,left:0,opacity:1,width:x,height:w,"background-image":m,"transform-origin":a[3]+" "+a[0]+" 0",clip:"rect("+a.join(",")+")","-webkit-transform":"scale(0.0000000000000001)",transform:"scale(0.0000000000000001)"}),g.append(r);this.container.append(g);var k,b=0,y=0,$=0,I=[[]],M=g.children();for("boxes-reverse"==o&&(M=[].reverse.apply(M)),M.each(function(){I[b][y]=i.$(this),y++,y==p&&(b++,y=0,I[b]=[])}),h=0,k=0;p*u>h;h++){k=h;for(var z=0;u>z;z++)k>=0&&p>k&&I[z][k].css({transition:"all "+this.options.duration+"ms linear "+(50+$)+"ms","-webkit-transition":"all "+this.options.duration+"ms linear "+(50+$)+"ms"}),k--;$+=100}return M.last().on(i.support.transition.end,function(){setTimeout(function(){g.remove(),d.resolve()},0)}),g.width(),M.css({"-webkit-transform":"scale(1)",transform:"scale(1)"}),d.promise()},"boxes-reverse":function(i,e,s){return t.boxes.apply(this,[i,e,s,"boxes-reverse"])},"random-fx":function(){var i=["slice-up","fold","puzzle","slice-down","boxes","slice-up-down","boxes-reverse"];return this.fxIndex=(void 0===this.fxIndex?-1:this.fxIndex)+1,i[this.fxIndex]||(this.fxIndex=0),t[i[this.fxIndex]].apply(this,arguments)}});var e=function(i){for(var t,e,s=i.length;s;t=parseInt(Math.random()*s),e=i[--s],i[s]=i[t],i[t]=e);return i};return i.slideshow.animations}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/slideshow.js b/bower_components/uikit/js/components/slideshow.js new file mode 100644 index 0000000..9680fa7 --- /dev/null +++ b/bower_components/uikit/js/components/slideshow.js @@ -0,0 +1,596 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-slideshow', ['uikit'], function() { + return component || addon(UIkit2); + }); + } + +})(function(UI) { + + "use strict"; + + var Animations, playerId = 0; + + UI.component('slideshow', { + + defaults: { + animation : 'fade', + duration : 500, + height : 'auto', + start : 0, + autoplay : false, + autoplayInterval : 7000, + videoautoplay : true, + videomute : true, + slices : 15, + pauseOnHover : true, + kenburns : false, + kenburnsanimations : [ + 'uk-animation-middle-left', + 'uk-animation-top-right', + 'uk-animation-bottom-left', + 'uk-animation-top-center', + '', // middle-center + 'uk-animation-bottom-right' + ] + }, + + current : false, + interval : null, + hovering : false, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-slideshow]', context).each(function() { + + var slideshow = UI.$(this); + + if (!slideshow.data('slideshow')) { + UI.slideshow(slideshow, UI.Utils.options(slideshow.attr('data-uk-slideshow'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.container = this.element.hasClass('uk-slideshow') ? this.element : UI.$(this.find('.uk-slideshow:first')); + this.current = this.options.start; + this.animating = false; + + this.fixFullscreen = navigator.userAgent.match(/(iPad|iPhone|iPod)/g) && this.container.hasClass('uk-slideshow-fullscreen'); // viewport unit fix for height:100vh - should be fixed in iOS 8 + + if (this.options.kenburns) { + + this.kbanimduration = this.options.kenburns === true ? '15s': this.options.kenburns; + + if (!String(this.kbanimduration).match(/(ms|s)$/)) { + this.kbanimduration += 'ms'; + } + + if (typeof(this.options.kenburnsanimations) == 'string') { + this.options.kenburnsanimations = this.options.kenburnsanimations.split(','); + } + } + + this.update(); + + this.on('click.uk.slideshow', '[data-uk-slideshow-item]', function(e) { + + e.preventDefault(); + + var slide = UI.$(this).attr('data-uk-slideshow-item'); + + if ($this.current == slide) return; + + switch(slide) { + case 'next': + case 'previous': + $this[slide=='next' ? 'next':'previous'](); + break; + default: + $this.show(parseInt(slide, 10)); + } + + $this.stop(); + }); + + UI.$win.on("resize load", UI.Utils.debounce(function() { + $this.resize(); + + if ($this.fixFullscreen) { + $this.container.css('height', window.innerHeight); + $this.slides.css('height', window.innerHeight); + } + }, 100)); + + // chrome image load fix + setTimeout(function(){ + $this.resize(); + }, 80); + + // Set autoplay + if (this.options.autoplay) { + this.start(); + } + + if (this.options.videoautoplay && this.slides.eq(this.current).data('media')) { + this.playmedia(this.slides.eq(this.current).data('media')); + } + + if (this.options.kenburns) { + this.applyKenBurns(this.slides.eq(this.current)); + } + + this.container.on({ + mouseenter: function() { if ($this.options.pauseOnHover) $this.hovering = true; }, + mouseleave: function() { $this.hovering = false; } + }); + + this.on('swipeRight swipeLeft', function(e) { + $this[e.type=='swipeLeft' ? 'next' : 'previous'](); + }); + + this.on('display.uk.check', function(){ + if ($this.element.is(':visible')) { + + $this.resize(); + + if ($this.fixFullscreen) { + $this.container.css('height', window.innerHeight); + $this.slides.css('height', window.innerHeight); + } + } + }); + + UI.domObserve(this.element, function(e) { + if ($this.container.children(':not([data-slideshow-slide])').not('.uk-slideshow-ghost').length) { + $this.update(true); + } + }); + }, + + update: function(resize) { + + var $this = this, canvas, processed = 0; + + this.slides = this.container.children(); + this.slidesCount = this.slides.length; + + if (!this.slides.eq(this.current).length) { + this.current = 0; + } + + this.slides.each(function(index) { + + var slide = UI.$(this); + + if (slide.data('processed')) { + return; + } + + var media = slide.children('img,video,iframe').eq(0), type = 'html'; + + slide.data('media', media); + slide.data('sizer', media); + + if (media.length) { + + var placeholder; + + type = media[0].nodeName.toLowerCase(); + + switch(media[0].nodeName) { + case 'IMG': + + var cover = UI.$('
          ').css({'background-image':'url('+ media.attr('src') + ')'}); + + if (media.attr('width') && media.attr('height')) { + placeholder = UI.$('').attr({width:media.attr('width'), height:media.attr('height')}); + media.replaceWith(placeholder); + media = placeholder; + placeholder = undefined; + } + + media.css({width: '100%',height: 'auto', opacity:0}); + slide.prepend(cover).data('cover', cover); + break; + + case 'IFRAME': + + var src = media[0].src, iframeId = 'sw-'+(++playerId); + + media + .attr('src', '').on('load', function(){ + + if (index !== $this.current || (index == $this.current && !$this.options.videoautoplay)) { + $this.pausemedia(media); + } + + if ($this.options.videomute) { + + $this.mutemedia(media); + + var inv = setInterval((function(ic) { + return function() { + $this.mutemedia(media); + if (++ic >= 4) clearInterval(inv); + } + })(0), 250); + } + + }) + .data('slideshow', $this) // add self-reference for the vimeo-ready listener + .attr('data-player-id', iframeId) // add frameId for the vimeo-ready listener + .attr('src', [src, (src.indexOf('?') > -1 ? '&':'?'), 'enablejsapi=1&api=1&player_id='+iframeId].join('')) + .addClass('uk-position-absolute'); + + // disable pointer events + if(!UI.support.touch) media.css('pointer-events', 'none'); + + placeholder = true; + + if (UI.cover) { + UI.cover(media); + media.attr('data-uk-cover', '{}'); + } + + break; + + case 'VIDEO': + media.addClass('uk-cover-object uk-position-absolute'); + placeholder = true; + + if ($this.options.videomute) $this.mutemedia(media); + } + + if (placeholder) { + + canvas = UI.$('').attr({'width': media[0].width, 'height': media[0].height}); + var img = UI.$('').attr('src', canvas[0].toDataURL()); + + slide.prepend(img); + slide.data('sizer', img); + } + + } else { + slide.data('sizer', slide); + } + + if ($this.hasKenBurns(slide)) { + + slide.data('cover').css({ + '-webkit-animation-duration': $this.kbanimduration, + 'animation-duration': $this.kbanimduration + }); + } + + slide.data('processed', ++processed); + slide.attr('data-slideshow-slide', type); + }); + + if (processed) { + + this.triggers = this.find('[data-uk-slideshow-item]'); + + // Set start slide + this.slides.attr('aria-hidden', 'true').removeClass('uk-active').eq(this.current).addClass('uk-active').attr('aria-hidden', 'false'); + this.triggers.filter('[data-uk-slideshow-item="'+this.current+'"]').addClass('uk-active'); + } + + if (resize && processed) { + this.resize(); + } + }, + + resize: function() { + + if (this.container.hasClass('uk-slideshow-fullscreen')) return; + + var height = this.options.height; + + if (this.options.height === 'auto') { + + height = 0; + + this.slides.css('height', '').each(function() { + height = Math.max(height, UI.$(this).height()); + }); + } + + this.container.css('height', height); + this.slides.css('height', height); + }, + + show: function(index, direction) { + + if (this.animating || this.current == index) return; + + this.animating = true; + + var $this = this, + current = this.slides.eq(this.current), + next = this.slides.eq(index), + dir = direction ? direction : this.current < index ? 1 : -1, + currentmedia = current.data('media'), + animation = Animations[this.options.animation] ? this.options.animation : 'fade', + nextmedia = next.data('media'), + finalize = function() { + + if (!$this.animating) return; + + if (currentmedia && currentmedia.is('video,iframe')) { + $this.pausemedia(currentmedia); + } + + if (nextmedia && nextmedia.is('video,iframe')) { + $this.playmedia(nextmedia); + } + + next.addClass('uk-active').attr('aria-hidden', 'false'); + current.removeClass('uk-active').attr('aria-hidden', 'true'); + + $this.animating = false; + $this.current = index; + + UI.Utils.checkDisplay(next, '[class*="uk-animation-"]:not(.uk-cover-background.uk-position-cover)'); + + $this.trigger('show.uk.slideshow', [next, current, $this]); + }; + + $this.applyKenBurns(next); + + // animation fallback + if (!UI.support.animation) { + animation = 'none'; + } + + current = UI.$(current); + next = UI.$(next); + + $this.trigger('beforeshow.uk.slideshow', [next, current, $this]); + + Animations[animation].apply(this, [current, next, dir]).then(finalize); + + $this.triggers.removeClass('uk-active'); + $this.triggers.filter('[data-uk-slideshow-item="'+index+'"]').addClass('uk-active'); + }, + + applyKenBurns: function(slide) { + + if (!this.hasKenBurns(slide)) { + return; + } + + var animations = this.options.kenburnsanimations, + index = this.kbindex || 0; + + + slide.data('cover').attr('class', 'uk-cover-background uk-position-cover').width(); + slide.data('cover').addClass(['uk-animation-scale', 'uk-animation-reverse', animations[index].trim()].join(' ')); + + this.kbindex = animations[index + 1] ? (index+1):0; + }, + + hasKenBurns: function(slide) { + return (this.options.kenburns && slide.data('cover')); + }, + + next: function() { + this.show(this.slides[this.current + 1] ? (this.current + 1) : 0, 1); + }, + + previous: function() { + this.show(this.slides[this.current - 1] ? (this.current - 1) : (this.slides.length - 1), -1); + }, + + start: function() { + + this.stop(); + + var $this = this; + + this.interval = setInterval(function() { + if (!$this.hovering) $this.next(); + }, this.options.autoplayInterval); + + }, + + stop: function() { + if (this.interval) clearInterval(this.interval); + }, + + playmedia: function(media) { + + if (!(media && media[0])) return; + + switch(media[0].nodeName) { + case 'VIDEO': + + if (!this.options.videomute) { + media[0].muted = false; + } + + media[0].play(); + break; + case 'IFRAME': + + if (!this.options.videomute) { + media[0].contentWindow.postMessage('{ "event": "command", "func": "unmute", "method":"setVolume", "value":1}', '*'); + } + + media[0].contentWindow.postMessage('{ "event": "command", "func": "playVideo", "method":"play"}', '*'); + break; + } + }, + + pausemedia: function(media) { + + switch(media[0].nodeName) { + case 'VIDEO': + media[0].pause(); + break; + case 'IFRAME': + media[0].contentWindow.postMessage('{ "event": "command", "func": "pauseVideo", "method":"pause"}', '*'); + break; + } + }, + + mutemedia: function(media) { + + switch(media[0].nodeName) { + case 'VIDEO': + media[0].muted = true; + break; + case 'IFRAME': + media[0].contentWindow.postMessage('{ "event": "command", "func": "mute", "method":"setVolume", "value":0}', '*'); + break; + } + } + }); + + Animations = { + + 'none': function() { + + var d = UI.$.Deferred(); + d.resolve(); + return d.promise(); + }, + + 'scroll': function(current, next, dir) { + + var d = UI.$.Deferred(); + + current.css('animation-duration', this.options.duration+'ms'); + next.css('animation-duration', this.options.duration+'ms'); + + next.css('opacity', 1).one(UI.support.animation.end, function() { + + current.css('opacity', 0).removeClass(dir == -1 ? 'uk-slideshow-scroll-backward-out' : 'uk-slideshow-scroll-forward-out'); + next.removeClass(dir == -1 ? 'uk-slideshow-scroll-backward-in' : 'uk-slideshow-scroll-forward-in'); + d.resolve(); + + }.bind(this)); + + current.addClass(dir == -1 ? 'uk-slideshow-scroll-backward-out' : 'uk-slideshow-scroll-forward-out'); + next.addClass(dir == -1 ? 'uk-slideshow-scroll-backward-in' : 'uk-slideshow-scroll-forward-in'); + next.width(); // force redraw + + return d.promise(); + }, + + 'swipe': function(current, next, dir) { + + var d = UI.$.Deferred(); + + current.css('animation-duration', this.options.duration+'ms'); + next.css('animation-duration', this.options.duration+'ms'); + + next.css('opacity', 1).one(UI.support.animation.end, function() { + + current.css('opacity', 0).removeClass(dir === -1 ? 'uk-slideshow-swipe-backward-out' : 'uk-slideshow-swipe-forward-out'); + next.removeClass(dir === -1 ? 'uk-slideshow-swipe-backward-in' : 'uk-slideshow-swipe-forward-in'); + d.resolve(); + + }.bind(this)); + + current.addClass(dir == -1 ? 'uk-slideshow-swipe-backward-out' : 'uk-slideshow-swipe-forward-out'); + next.addClass(dir == -1 ? 'uk-slideshow-swipe-backward-in' : 'uk-slideshow-swipe-forward-in'); + next.width(); // force redraw + + return d.promise(); + }, + + 'scale': function(current, next, dir) { + + var d = UI.$.Deferred(); + + current.css('animation-duration', this.options.duration+'ms'); + next.css('animation-duration', this.options.duration+'ms'); + + next.css('opacity', 1); + + current.one(UI.support.animation.end, function() { + + current.css('opacity', 0).removeClass('uk-slideshow-scale-out'); + d.resolve(); + + }.bind(this)); + + current.addClass('uk-slideshow-scale-out'); + current.width(); // force redraw + + return d.promise(); + }, + + 'fade': function(current, next, dir) { + + var d = UI.$.Deferred(); + + current.css('animation-duration', this.options.duration+'ms'); + next.css('animation-duration', this.options.duration+'ms'); + + next.css('opacity', 1); + + // for plain text content slides - looks smoother + if (!(next.data('cover') || next.data('placeholder'))) { + + next.css('opacity', 1).one(UI.support.animation.end, function() { + next.removeClass('uk-slideshow-fade-in'); + }).addClass('uk-slideshow-fade-in'); + } + + current.one(UI.support.animation.end, function() { + + current.css('opacity', 0).removeClass('uk-slideshow-fade-out'); + d.resolve(); + + }.bind(this)); + + current.addClass('uk-slideshow-fade-out'); + current.width(); // force redraw + + return d.promise(); + } + }; + + UI.slideshow.animations = Animations; + + // Listen for messages from the vimeo player + window.addEventListener('message', function onMessageReceived(e) { + + var data = e.data, iframe; + + if (typeof(data) == 'string') { + + try { + data = JSON.parse(data); + } catch(err) { + data = {}; + } + } + + if (e.origin && e.origin.indexOf('vimeo') > -1 && data.event == 'ready' && data.player_id) { + iframe = UI.$('[data-player-id="'+ data.player_id+'"]'); + + if (iframe.length) { + iframe.data('slideshow').mutemedia(iframe); + } + } + }, false); + +}); diff --git a/bower_components/uikit/js/components/slideshow.min.js b/bower_components/uikit/js/components/slideshow.min.js new file mode 100644 index 0000000..8fe8ced --- /dev/null +++ b/bower_components/uikit/js/components/slideshow.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(i){var t;window.UIkit2&&(t=i(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-slideshow",["uikit"],function(){return t||i(UIkit2)})}(function(i){"use strict";var t,s=0;i.component("slideshow",{defaults:{animation:"fade",duration:500,height:"auto",start:0,autoplay:!1,autoplayInterval:7e3,videoautoplay:!0,videomute:!0,slices:15,pauseOnHover:!0,kenburns:!1,kenburnsanimations:["uk-animation-middle-left","uk-animation-top-right","uk-animation-bottom-left","uk-animation-top-center","","uk-animation-bottom-right"]},current:!1,interval:null,hovering:!1,boot:function(){i.ready(function(t){i.$("[data-uk-slideshow]",t).each(function(){var t=i.$(this);t.data("slideshow")||i.slideshow(t,i.Utils.options(t.attr("data-uk-slideshow")))})})},init:function(){var t=this;this.container=this.element.hasClass("uk-slideshow")?this.element:i.$(this.find(".uk-slideshow:first")),this.current=this.options.start,this.animating=!1,this.fixFullscreen=navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&this.container.hasClass("uk-slideshow-fullscreen"),this.options.kenburns&&(this.kbanimduration=this.options.kenburns===!0?"15s":this.options.kenburns,String(this.kbanimduration).match(/(ms|s)$/)||(this.kbanimduration+="ms"),"string"==typeof this.options.kenburnsanimations&&(this.options.kenburnsanimations=this.options.kenburnsanimations.split(","))),this.update(),this.on("click.uk.slideshow","[data-uk-slideshow-item]",function(s){s.preventDefault();var e=i.$(this).attr("data-uk-slideshow-item");if(t.current!=e){switch(e){case"next":case"previous":t["next"==e?"next":"previous"]();break;default:t.show(parseInt(e,10))}t.stop()}}),i.$win.on("resize load",i.Utils.debounce(function(){t.resize(),t.fixFullscreen&&(t.container.css("height",window.innerHeight),t.slides.css("height",window.innerHeight))},100)),setTimeout(function(){t.resize()},80),this.options.autoplay&&this.start(),this.options.videoautoplay&&this.slides.eq(this.current).data("media")&&this.playmedia(this.slides.eq(this.current).data("media")),this.options.kenburns&&this.applyKenBurns(this.slides.eq(this.current)),this.container.on({mouseenter:function(){t.options.pauseOnHover&&(t.hovering=!0)},mouseleave:function(){t.hovering=!1}}),this.on("swipeRight swipeLeft",function(i){t["swipeLeft"==i.type?"next":"previous"]()}),this.on("display.uk.check",function(){t.element.is(":visible")&&(t.resize(),t.fixFullscreen&&(t.container.css("height",window.innerHeight),t.slides.css("height",window.innerHeight)))}),i.domObserve(this.element,function(){t.container.children(":not([data-slideshow-slide])").not(".uk-slideshow-ghost").length&&t.update(!0)})},update:function(t){var e,a=this,n=0;this.slides=this.container.children(),this.slidesCount=this.slides.length,this.slides.eq(this.current).length||(this.current=0),this.slides.each(function(t){var o=i.$(this);if(!o.data("processed")){var r=o.children("img,video,iframe").eq(0),d="html";if(o.data("media",r),o.data("sizer",r),r.length){var u;switch(d=r[0].nodeName.toLowerCase(),r[0].nodeName){case"IMG":var h=i.$('
          ').css({"background-image":"url("+r.attr("src")+")"});r.attr("width")&&r.attr("height")&&(u=i.$("").attr({width:r.attr("width"),height:r.attr("height")}),r.replaceWith(u),r=u,u=void 0),r.css({width:"100%",height:"auto",opacity:0}),o.prepend(h).data("cover",h);break;case"IFRAME":var c=r[0].src,l="sw-"+ ++s;r.attr("src","").on("load",function(){if((t!==a.current||t==a.current&&!a.options.videoautoplay)&&a.pausemedia(r),a.options.videomute){a.mutemedia(r);var i=setInterval(function(t){return function(){a.mutemedia(r),++t>=4&&clearInterval(i)}}(0),250)}}).data("slideshow",a).attr("data-player-id",l).attr("src",[c,c.indexOf("?")>-1?"&":"?","enablejsapi=1&api=1&player_id="+l].join("")).addClass("uk-position-absolute"),i.support.touch||r.css("pointer-events","none"),u=!0,i.cover&&(i.cover(r),r.attr("data-uk-cover","{}"));break;case"VIDEO":r.addClass("uk-cover-object uk-position-absolute"),u=!0,a.options.videomute&&a.mutemedia(r)}if(u){e=i.$("").attr({width:r[0].width,height:r[0].height});var p=i.$('').attr("src",e[0].toDataURL());o.prepend(p),o.data("sizer",p)}}else o.data("sizer",o);a.hasKenBurns(o)&&o.data("cover").css({"-webkit-animation-duration":a.kbanimduration,"animation-duration":a.kbanimduration}),o.data("processed",++n),o.attr("data-slideshow-slide",d)}}),n&&(this.triggers=this.find("[data-uk-slideshow-item]"),this.slides.attr("aria-hidden","true").removeClass("uk-active").eq(this.current).addClass("uk-active").attr("aria-hidden","false"),this.triggers.filter('[data-uk-slideshow-item="'+this.current+'"]').addClass("uk-active")),t&&n&&this.resize()},resize:function(){if(!this.container.hasClass("uk-slideshow-fullscreen")){var t=this.options.height;"auto"===this.options.height&&(t=0,this.slides.css("height","").each(function(){t=Math.max(t,i.$(this).height())})),this.container.css("height",t),this.slides.css("height",t)}},show:function(s,e){if(!this.animating&&this.current!=s){this.animating=!0;var a=this,n=this.slides.eq(this.current),o=this.slides.eq(s),r=e?e:this.current-1&&"ready"==e.event&&e.player_id&&(s=i.$('[data-player-id="'+e.player_id+'"]'),s.length&&s.data("slideshow").mutemedia(s))},!1)}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/sortable.js b/bower_components/uikit/js/components/sortable.js new file mode 100644 index 0000000..593a127 --- /dev/null +++ b/bower_components/uikit/js/components/sortable.js @@ -0,0 +1,700 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +/* + * Based on nativesortable - Copyright (c) Brian Grinstead - https://github.com/bgrins/nativesortable + */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-sortable', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + "use strict"; + + var supportsTouch = ('ontouchstart' in window || 'MSGesture' in window) || (window.DocumentTouch && document instanceof DocumentTouch), + draggingPlaceholder, currentlyDraggingElement, currentlyDraggingTarget, dragging, moving, clickedlink, delayIdle, touchedlists, moved, overElement, startEvent; + + var POINTER_DOWN = supportsTouch ? ('MSGesture' in window || window.PointerEvent ? 'pointerdown':'touchstart') : 'mousedown', + POINTER_MOVE = supportsTouch ? ('MSGesture' in window || window.PointerEvent ? 'pointermove':'touchmove') : 'mousemove', + POINTER_UP = supportsTouch ? ('MSGesture' in window || window.PointerEvent ? 'pointerup':'touchend') : 'mouseup'; + + + function closestSortable(ele) { + + ele = UI.$(ele); + + do { + if (ele.data('sortable')) { + return ele; + } + ele = UI.$(ele).parent(); + } while(ele.length); + + return ele; + } + + UI.component('sortable', { + + defaults: { + + animation : 150, + threshold : 10, + + childClass : 'uk-sortable-item', + placeholderClass : 'uk-sortable-placeholder', + overClass : 'uk-sortable-over', + draggingClass : 'uk-sortable-dragged', + dragMovingClass : 'uk-sortable-moving', + baseClass : 'uk-sortable', + noDragClass : 'uk-sortable-nodrag', + emptyClass : 'uk-sortable-empty', + dragCustomClass : '', + handleClass : false, + group : false, + + stop : function() {}, + start : function() {}, + change : function() {} + }, + + boot: function() { + + // auto init + UI.ready(function(context) { + + UI.$('[data-uk-sortable]', context).each(function(){ + + var ele = UI.$(this); + + if(!ele.data('sortable')) { + UI.sortable(ele, UI.Utils.options(ele.attr('data-uk-sortable'))); + } + }); + }); + + UI.$html.on(POINTER_MOVE, function(e) { + + if (delayIdle) { + + var src = e.originalEvent.targetTouches ? e.originalEvent.targetTouches[0] : e; + + if (Math.abs(src.pageX - delayIdle.pos.x) > delayIdle.threshold || Math.abs(src.pageY - delayIdle.pos.y) > delayIdle.threshold) { + delayIdle.apply(src); + } + } + + if (draggingPlaceholder) { + + if (!moving) { + moving = true; + draggingPlaceholder.show(); + + draggingPlaceholder.$current.addClass(draggingPlaceholder.$sortable.options.placeholderClass); + draggingPlaceholder.$sortable.element.children().addClass(draggingPlaceholder.$sortable.options.childClass); + + UI.$html.addClass(draggingPlaceholder.$sortable.options.dragMovingClass); + } + + var offset = draggingPlaceholder.data('mouse-offset'), + ev = e.originalEvent.touches && e.originalEvent.touches[0] || e.originalEvent, + left = parseInt(ev.pageX, 10) + offset.left, + top = parseInt(ev.pageY, 10) + offset.top; + + draggingPlaceholder.css({left: left, top: top }); + + // adjust document scrolling + + if (top + (draggingPlaceholder.height()/3) > document.body.offsetHeight) { + return; + } + + if (top < UI.$win.scrollTop()) { + UI.$win.scrollTop(UI.$win.scrollTop() - Math.ceil(draggingPlaceholder.height()/3)); + } else if ( (top + (draggingPlaceholder.height()/3)) > (window.innerHeight + UI.$win.scrollTop()) ) { + UI.$win.scrollTop(UI.$win.scrollTop() + Math.ceil(draggingPlaceholder.height()/3)); + } + } + }); + + UI.$html.on(POINTER_UP, function(e) { + + delayIdle = clickedlink = false; + + // dragging? + if (!currentlyDraggingElement || !draggingPlaceholder) { + // completely reset dragging attempt. will cause weird delay behavior elsewise + currentlyDraggingElement = draggingPlaceholder = null; + return; + } + + // inside or outside of sortable? + var sortable = closestSortable(currentlyDraggingElement), + component = draggingPlaceholder.$sortable, + ev = { type: e.type }; + + if (sortable[0]) { + component.dragDrop(ev, component.element); + } + component.dragEnd(ev, component.element); + }); + }, + + init: function() { + + var $this = this, + element = this.element[0]; + + touchedlists = []; + + this.checkEmptyList(); + + this.element.data('sortable-group', this.options.group ? this.options.group : UI.Utils.uid('sortable-group')); + + var handleDragStart = delegate(function(e) { + + if (e.data && e.data.sortable) { + return; + } + + var $target = UI.$(e.target), + $link = $target.is('a[href]') ? $target:$target.parents('a[href]'); + + if ($target.is(':input')) { + return; + } + + if ($this.options.handleClass) { + var handle = $target.hasClass($this.options.handleClass) ? $target : $target.closest('.'+$this.options.handleClass, $this.element); + if (!handle.length) return; + } + + e.preventDefault(); + + if ($link.length) { + + $link.one('click', function(e){ + e.preventDefault(); + }).one(POINTER_UP, function(){ + + if (!moved) { + $link.trigger('click'); + if (supportsTouch && $link.attr('href').trim()) { + location.href = $link.attr('href'); + } + } + }); + } + + e.data = e.data || {}; + + e.data.sortable = element; + + return $this.dragStart(e, this); + }); + + var handleDragEnter = delegate(UI.Utils.debounce(function(e) { + return $this.dragEnter(e, this); + }), 40); + + var handleDragLeave = delegate(function(e) { + + // Prevent dragenter on a child from allowing a dragleave on the container + var previousCounter = $this.dragenterData(this); + $this.dragenterData(this, previousCounter - 1); + + // This is a fix for child elements firing dragenter before the parent fires dragleave + if (!$this.dragenterData(this)) { + UI.$(this).removeClass($this.options.overClass); + $this.dragenterData(this, false); + } + }); + + var handleTouchMove = delegate(function(e) { + + if (!currentlyDraggingElement || + currentlyDraggingElement === this || + currentlyDraggingTarget === this) { + return true; + } + + $this.element.children().removeClass($this.options.overClass); + currentlyDraggingTarget = this; + + $this.moveElementNextTo(currentlyDraggingElement, this); + + return prevent(e); + }); + + // Bind/unbind standard mouse/touch events as a polyfill. + function addDragHandlers() { + + if (supportsTouch && startEvent.touches && startEvent.touches.length) { + element.addEventListener(POINTER_MOVE, handleTouchMove, false); + } else { + element.addEventListener('mouseover', handleDragEnter, false); + element.addEventListener('mouseout', handleDragLeave, false); + } + + // document.addEventListener("selectstart", prevent, false); + } + + function removeDragHandlers() { + if (supportsTouch && startEvent.touches && startEvent.touches.length) { + element.removeEventListener(POINTER_MOVE, handleTouchMove, false); + } else { + element.removeEventListener('mouseover', handleDragEnter, false); + element.removeEventListener('mouseout', handleDragLeave, false); + } + + // document.removeEventListener("selectstart", prevent, false); + } + + this.addDragHandlers = addDragHandlers; + this.removeDragHandlers = removeDragHandlers; + + function handleDragMove(e) { + + if (!currentlyDraggingElement) { + return; + } + + $this.dragMove(e, $this); + } + + function delegate(fn) { + + return function(e) { + + var touch, target, context; + + startEvent = e; + + if (e) { + touch = e.touches && e.touches[0] || e; + target = touch.target || e.target; + + // Fix event.target for a touch event + if (supportsTouch && document.elementFromPoint) { + + var _target = document.elementFromPoint(touch.pageX - document.body.scrollLeft, touch.pageY - document.body.scrollTop); + + if (_target) { + target = _target; + } + } + + overElement = UI.$(target); + } + + if (UI.$(target).hasClass('.'+$this.options.childClass)) { + fn.apply(target, [e]); + } else if (target !== element) { + + // If a child is initiating the event or ending it, then use the container as context for the callback. + context = moveUpToChildNode(element, target); + + if (context) { + fn.apply(context, [e]); + } + } + }; + } + + window.addEventListener(POINTER_MOVE, handleDragMove, false); + element.addEventListener(POINTER_DOWN, handleDragStart, false); + }, + + dragStart: function(e, elem) { + + moved = false; + moving = false; + dragging = false; + + var $this = this, + target = UI.$(e.target); + + if (!supportsTouch && e.button==2) { + return; + } + + if (target.is('.'+$this.options.noDragClass)) { + return; + } + + var noDragParent = target.closest('.'+$this.options.noDragClass); + + if (noDragParent.length && this.element.find(noDragParent[0]).length) { + return; + } + + // prevent dragging if taget is a form field + if (target.is(':input')) { + return; + } + + currentlyDraggingElement = elem; + + // init drag placeholder + if (draggingPlaceholder) { + draggingPlaceholder.remove(); + } + + var $current = UI.$(currentlyDraggingElement), offset = $current.offset(), ev = e.touches && e.touches[0] || e; + + delayIdle = { + + pos : { x:ev.pageX, y:ev.pageY }, + threshold : $this.options.handleClass ? 1 : $this.options.threshold, + apply : function(evt) { + + draggingPlaceholder = UI.$('
          ').css({ + display : 'none', + top : offset.top, + left : offset.left, + width : $current.width(), + height : $current.height(), + padding : $current.css('padding') + }).data({ + 'mouse-offset': { + left : offset.left - parseInt(ev.pageX, 10), + top : offset.top - parseInt(ev.pageY, 10) + }, + origin : $this.element, + index : $current.index() + }).append($current.html()).appendTo('body'); + + draggingPlaceholder.$current = $current; + draggingPlaceholder.$sortable = $this; + + $current.data({ + 'start-list': $current.parent(), + 'start-index': $current.index(), + 'sortable-group': $this.options.group + }); + + $this.addDragHandlers(); + + $this.options.start(this, currentlyDraggingElement); + $this.trigger('start.uk.sortable', [$this, currentlyDraggingElement, draggingPlaceholder]); + + moved = true; + delayIdle = false; + } + }; + }, + + dragMove: function(e, elem) { + + overElement = UI.$(document.elementFromPoint(e.pageX - (document.body.scrollLeft || document.scrollLeft || 0), e.pageY - (document.body.scrollTop || document.documentElement.scrollTop || 0))); + + var overRoot = overElement.closest('.'+this.options.baseClass), + groupOver = overRoot.data('sortable-group'), + $current = UI.$(currentlyDraggingElement), + currentRoot = $current.parent(), + groupCurrent = $current.data('sortable-group'), + overChild; + + if (overRoot[0] !== currentRoot[0] && groupCurrent !== undefined && groupOver === groupCurrent) { + + overRoot.data('sortable').addDragHandlers(); + + touchedlists.push(overRoot); + overRoot.children().addClass(this.options.childClass); + + // swap root + if (overRoot.children().length > 0) { + overChild = overElement.closest('.'+this.options.childClass); + + if (overChild.length) { + overChild.before($current); + } else { + overRoot.append($current); + } + + } else { // empty list + overElement.append($current); + } + + UI.$doc.trigger('mouseover'); + } + + this.checkEmptyList(); + this.checkEmptyList(currentRoot); + }, + + dragEnter: function(e, elem) { + + if (!currentlyDraggingElement || currentlyDraggingElement === elem) { + return true; + } + + var previousCounter = this.dragenterData(elem); + + this.dragenterData(elem, previousCounter + 1); + + // Prevent dragenter on a child from allowing a dragleave on the container + if (previousCounter === 0) { + + var currentlist = UI.$(elem).parent(), + startlist = UI.$(currentlyDraggingElement).data('start-list'); + + if (currentlist[0] !== startlist[0]) { + + var groupOver = currentlist.data('sortable-group'), + groupCurrent = UI.$(currentlyDraggingElement).data('sortable-group'); + + if ((groupOver || groupCurrent) && (groupOver != groupCurrent)) { + return false; + } + } + + UI.$(elem).addClass(this.options.overClass); + this.moveElementNextTo(currentlyDraggingElement, elem); + } + + return false; + }, + + dragEnd: function(e, elem) { + + var $this = this; + + // avoid triggering event twice + if (currentlyDraggingElement) { + // TODO: trigger on right element? + this.options.stop(elem); + this.trigger('stop.uk.sortable', [this]); + } + + currentlyDraggingElement = null; + currentlyDraggingTarget = null; + + touchedlists.push(this.element); + touchedlists.forEach(function(el, i) { + UI.$(el).children().each(function() { + if (this.nodeType === 1) { + UI.$(this).removeClass($this.options.overClass) + .removeClass($this.options.placeholderClass) + .removeClass($this.options.childClass); + $this.dragenterData(this, false); + } + }); + }); + + touchedlists = []; + + UI.$html.removeClass(this.options.dragMovingClass); + + this.removeDragHandlers(); + + if (draggingPlaceholder) { + draggingPlaceholder.remove(); + draggingPlaceholder = null; + } + }, + + dragDrop: function(e, elem) { + + if (e.type === 'drop') { + + if (e.stopPropagation) { + e.stopPropagation(); + } + + if (e.preventDefault) { + e.preventDefault(); + } + } + + this.triggerChangeEvents(); + }, + + triggerChangeEvents: function() { + + // trigger events once + if (!currentlyDraggingElement) return; + + var $current = UI.$(currentlyDraggingElement), + oldRoot = draggingPlaceholder.data('origin'), + newRoot = $current.closest('.'+this.options.baseClass), + triggers = [], + el = UI.$(currentlyDraggingElement); + + // events depending on move inside lists or across lists + if (oldRoot[0] === newRoot[0] && draggingPlaceholder.data('index') != $current.index() ) { + triggers.push({sortable: this, mode: 'moved'}); + } else if (oldRoot[0] != newRoot[0]) { + triggers.push({sortable: UI.$(newRoot).data('sortable'), mode: 'added'}, {sortable: UI.$(oldRoot).data('sortable'), mode: 'removed'}); + } + + triggers.forEach(function (trigger, i) { + if (trigger.sortable) { + trigger.sortable.element.trigger('change.uk.sortable', [trigger.sortable, el, trigger.mode]); + } + }); + }, + + dragenterData: function(element, val) { + + element = UI.$(element); + + if (arguments.length == 1) { + return parseInt(element.data('child-dragenter'), 10) || 0; + } else if (!val) { + element.removeData('child-dragenter'); + } else { + element.data('child-dragenter', Math.max(0, val)); + } + }, + + moveElementNextTo: function(element, elementToMoveNextTo) { + + dragging = true; + + var $this = this, + list = UI.$(element).parent().css('min-height', ''), + next = isBelow(element, elementToMoveNextTo) ? elementToMoveNextTo : elementToMoveNextTo.nextSibling, + children = list.children(), + count = children.length; + + if (!$this.options.animation) { + elementToMoveNextTo.parentNode.insertBefore(element, next); + UI.Utils.checkDisplay($this.element.parent()); + return; + } + + list.css('min-height', list.height()); + + children.stop().each(function(){ + var ele = UI.$(this), + offset = ele.position(); + + offset.width = ele.width(); + + ele.data('offset-before', offset); + }); + + elementToMoveNextTo.parentNode.insertBefore(element, next); + + UI.Utils.checkDisplay($this.element.parent()); + + children = list.children().each(function() { + var ele = UI.$(this); + ele.data('offset-after', ele.position()); + }).each(function() { + var ele = UI.$(this), + before = ele.data('offset-before'); + ele.css({position:'absolute', top:before.top, left:before.left, minWidth:before.width }); + }); + + children.each(function(){ + + var ele = UI.$(this), + before = ele.data('offset-before'), + offset = ele.data('offset-after'); + + ele.css('pointer-events', 'none').width(); + + setTimeout(function(){ + ele.animate({'top':offset.top, 'left':offset.left}, $this.options.animation, function() { + ele.css({position:'',top:'', left:'', minWidth: '', 'pointer-events':''}).removeClass($this.options.overClass).removeData('child-dragenter'); + count--; + if (!count) { + list.css('min-height', ''); + UI.Utils.checkDisplay($this.element.parent()); + } + }); + }, 0); + }); + }, + + serialize: function() { + + var data = [], item, attribute; + + this.element.children().each(function(j, child) { + item = {}; + for (var i = 0, attr, val; i < child.attributes.length; i++) { + attribute = child.attributes[i]; + if (attribute.name.indexOf('data-') === 0) { + attr = attribute.name.substr(5); + val = UI.Utils.str2json(attribute.value); + item[attr] = (val || attribute.value=='false' || attribute.value=='0') ? val:attribute.value; + } + } + data.push(item); + }); + + return data; + }, + + checkEmptyList: function(list) { + + list = list ? UI.$(list) : this.element; + + if (this.options.emptyClass) { + list[!list.children().length ? 'addClass':'removeClass'](this.options.emptyClass); + } + } + }); + + // helpers + + function isBelow(el1, el2) { + + var parent = el1.parentNode; + + if (el2.parentNode != parent) { + return false; + } + + var cur = el1.previousSibling; + + while (cur && cur.nodeType !== 9) { + if (cur === el2) { + return true; + } + cur = cur.previousSibling; + } + + return false; + } + + function moveUpToChildNode(parent, child) { + var cur = child; + if (cur == parent) { return null; } + + while (cur) { + if (cur.parentNode === parent) { + return cur; + } + + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur.nodeType === 11 ) { + break; + } + } + return null; + } + + function prevent(e) { + if (e.stopPropagation) { + e.stopPropagation(); + } + if (e.preventDefault) { + e.preventDefault(); + } + e.returnValue = false; + } + + return UI.sortable; +}); diff --git a/bower_components/uikit/js/components/sortable.min.js b/bower_components/uikit/js/components/sortable.min.js new file mode 100644 index 0000000..e083d2d --- /dev/null +++ b/bower_components/uikit/js/components/sortable.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var e;window.UIkit2&&(e=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-sortable",["uikit"],function(){return e||t(UIkit2)})}(function(t){"use strict";function e(e){e=t.$(e);do{if(e.data("sortable"))return e;e=t.$(e).parent()}while(e.length);return e}function o(t,e){var o=t.parentNode;if(e.parentNode!=o)return!1;for(var n=t.previousSibling;n&&9!==n.nodeType;){if(n===e)return!0;n=n.previousSibling}return!1}function n(t,e){var o=e;if(o==t)return null;for(;o;){if(o.parentNode===t)return o;if(o=o.parentNode,!o||!o.ownerDocument||11===o.nodeType)break}return null}function a(t){t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),t.returnValue=!1}var s,r,i,l,d,h,u,p,c,f,g,m="ontouchstart"in window||"MSGesture"in window||window.DocumentTouch&&document instanceof DocumentTouch,v=m?"MSGesture"in window||window.PointerEvent?"pointerdown":"touchstart":"mousedown",b=m?"MSGesture"in window||window.PointerEvent?"pointermove":"touchmove":"mousemove",C=m?"MSGesture"in window||window.PointerEvent?"pointerup":"touchend":"mouseup";return t.component("sortable",{defaults:{animation:150,threshold:10,childClass:"uk-sortable-item",placeholderClass:"uk-sortable-placeholder",overClass:"uk-sortable-over",draggingClass:"uk-sortable-dragged",dragMovingClass:"uk-sortable-moving",baseClass:"uk-sortable",noDragClass:"uk-sortable-nodrag",emptyClass:"uk-sortable-empty",dragCustomClass:"",handleClass:!1,group:!1,stop:function(){},start:function(){},change:function(){}},boot:function(){t.ready(function(e){t.$("[data-uk-sortable]",e).each(function(){var e=t.$(this);e.data("sortable")||t.sortable(e,t.Utils.options(e.attr("data-uk-sortable")))})}),t.$html.on(b,function(e){if(u){var o=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0]:e;(Math.abs(o.pageX-u.pos.x)>u.threshold||Math.abs(o.pageY-u.pos.y)>u.threshold)&&u.apply(o)}if(s){d||(d=!0,s.show(),s.$current.addClass(s.$sortable.options.placeholderClass),s.$sortable.element.children().addClass(s.$sortable.options.childClass),t.$html.addClass(s.$sortable.options.dragMovingClass));var n=s.data("mouse-offset"),a=e.originalEvent.touches&&e.originalEvent.touches[0]||e.originalEvent,r=parseInt(a.pageX,10)+n.left,i=parseInt(a.pageY,10)+n.top;if(s.css({left:r,top:i}),i+s.height()/3>document.body.offsetHeight)return;iwindow.innerHeight+t.$win.scrollTop()&&t.$win.scrollTop(t.$win.scrollTop()+Math.ceil(s.height()/3))}}),t.$html.on(C,function(t){if(u=h=!1,!r||!s)return r=s=null,void 0;var o=e(r),n=s.$sortable,a={type:t.type};o[0]&&n.dragDrop(a,n.element),n.dragEnd(a,n.element)})},init:function(){function e(){m&&g.touches&&g.touches.length?h.addEventListener(b,y,!1):(h.addEventListener("mouseover",$,!1),h.addEventListener("mouseout",w,!1))}function o(){m&&g.touches&&g.touches.length?h.removeEventListener(b,y,!1):(h.removeEventListener("mouseover",$,!1),h.removeEventListener("mouseout",w,!1))}function s(t){r&&d.dragMove(t,d)}function l(e){return function(o){var a,s,r;if(g=o,o){if(a=o.touches&&o.touches[0]||o,s=a.target||o.target,m&&document.elementFromPoint){var i=document.elementFromPoint(a.pageX-document.body.scrollLeft,a.pageY-document.body.scrollTop);i&&(s=i)}f=t.$(s)}t.$(s).hasClass("."+d.options.childClass)?e.apply(s,[o]):s!==h&&(r=n(h,s),r&&e.apply(r,[o]))}}var d=this,h=this.element[0];p=[],this.checkEmptyList(),this.element.data("sortable-group",this.options.group?this.options.group:t.Utils.uid("sortable-group"));var u=l(function(e){if(!e.data||!e.data.sortable){var o=t.$(e.target),n=o.is("a[href]")?o:o.parents("a[href]");if(!o.is(":input")){if(d.options.handleClass){var a=o.hasClass(d.options.handleClass)?o:o.closest("."+d.options.handleClass,d.element);if(!a.length)return}return e.preventDefault(),n.length&&n.one("click",function(t){t.preventDefault()}).one(C,function(){c||(n.trigger("click"),m&&n.attr("href").trim()&&(location.href=n.attr("href")))}),e.data=e.data||{},e.data.sortable=h,d.dragStart(e,this)}}}),$=l(t.Utils.debounce(function(t){return d.dragEnter(t,this)}),40),w=l(function(){var e=d.dragenterData(this);d.dragenterData(this,e-1),d.dragenterData(this)||(t.$(this).removeClass(d.options.overClass),d.dragenterData(this,!1))}),y=l(function(t){return r&&r!==this&&i!==this?(d.element.children().removeClass(d.options.overClass),i=this,d.moveElementNextTo(r,this),a(t)):!0});this.addDragHandlers=e,this.removeDragHandlers=o,window.addEventListener(b,s,!1),h.addEventListener(v,u,!1)},dragStart:function(e,o){c=!1,d=!1,l=!1;var n=this,a=t.$(e.target);if((m||2!=e.button)&&!a.is("."+n.options.noDragClass)){var i=a.closest("."+n.options.noDragClass);if(!(i.length&&this.element.find(i[0]).length||a.is(":input"))){r=o,s&&s.remove();var h=t.$(r),p=h.offset(),f=e.touches&&e.touches[0]||e;u={pos:{x:f.pageX,y:f.pageY},threshold:n.options.handleClass?1:n.options.threshold,apply:function(){s=t.$('
          ').css({display:"none",top:p.top,left:p.left,width:h.width(),height:h.height(),padding:h.css("padding")}).data({"mouse-offset":{left:p.left-parseInt(f.pageX,10),top:p.top-parseInt(f.pageY,10)},origin:n.element,index:h.index()}).append(h.html()).appendTo("body"),s.$current=h,s.$sortable=n,h.data({"start-list":h.parent(),"start-index":h.index(),"sortable-group":n.options.group}),n.addDragHandlers(),n.options.start(this,r),n.trigger("start.uk.sortable",[n,r,s]),c=!0,u=!1}}}}},dragMove:function(e){f=t.$(document.elementFromPoint(e.pageX-(document.body.scrollLeft||document.scrollLeft||0),e.pageY-(document.body.scrollTop||document.documentElement.scrollTop||0)));var o,n=f.closest("."+this.options.baseClass),a=n.data("sortable-group"),s=t.$(r),i=s.parent(),l=s.data("sortable-group");n[0]!==i[0]&&void 0!==l&&a===l&&(n.data("sortable").addDragHandlers(),p.push(n),n.children().addClass(this.options.childClass),n.children().length>0?(o=f.closest("."+this.options.childClass),o.length?o.before(s):n.append(s)):f.append(s),t.$doc.trigger("mouseover")),this.checkEmptyList(),this.checkEmptyList(i)},dragEnter:function(e,o){if(!r||r===o)return!0;var n=this.dragenterData(o);if(this.dragenterData(o,n+1),0===n){var a=t.$(o).parent(),s=t.$(r).data("start-list");if(a[0]!==s[0]){var i=a.data("sortable-group"),l=t.$(r).data("sortable-group");if((i||l)&&i!=l)return!1}t.$(o).addClass(this.options.overClass),this.moveElementNextTo(r,o)}return!1},dragEnd:function(e,o){var n=this;r&&(this.options.stop(o),this.trigger("stop.uk.sortable",[this])),r=null,i=null,p.push(this.element),p.forEach(function(e){t.$(e).children().each(function(){1===this.nodeType&&(t.$(this).removeClass(n.options.overClass).removeClass(n.options.placeholderClass).removeClass(n.options.childClass),n.dragenterData(this,!1))})}),p=[],t.$html.removeClass(this.options.dragMovingClass),this.removeDragHandlers(),s&&(s.remove(),s=null)},dragDrop:function(t){"drop"===t.type&&(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault()),this.triggerChangeEvents()},triggerChangeEvents:function(){if(r){var e=t.$(r),o=s.data("origin"),n=e.closest("."+this.options.baseClass),a=[],i=t.$(r);o[0]===n[0]&&s.data("index")!=e.index()?a.push({sortable:this,mode:"moved"}):o[0]!=n[0]&&a.push({sortable:t.$(n).data("sortable"),mode:"added"},{sortable:t.$(o).data("sortable"),mode:"removed"}),a.forEach(function(t){t.sortable&&t.sortable.element.trigger("change.uk.sortable",[t.sortable,i,t.mode])})}},dragenterData:function(e,o){return e=t.$(e),1==arguments.length?parseInt(e.data("child-dragenter"),10)||0:(o?e.data("child-dragenter",Math.max(0,o)):e.removeData("child-dragenter"),void 0)},moveElementNextTo:function(e,n){l=!0;var a=this,s=t.$(e).parent().css("min-height",""),r=o(e,n)?n:n.nextSibling,i=s.children(),d=i.length;return a.options.animation?(s.css("min-height",s.height()),i.stop().each(function(){var e=t.$(this),o=e.position();o.width=e.width(),e.data("offset-before",o)}),n.parentNode.insertBefore(e,r),t.Utils.checkDisplay(a.element.parent()),i=s.children().each(function(){var e=t.$(this);e.data("offset-after",e.position())}).each(function(){var e=t.$(this),o=e.data("offset-before");e.css({position:"absolute",top:o.top,left:o.left,minWidth:o.width})}),i.each(function(){var e=t.$(this),o=(e.data("offset-before"),e.data("offset-after"));e.css("pointer-events","none").width(),setTimeout(function(){e.animate({top:o.top,left:o.left},a.options.animation,function(){e.css({position:"",top:"",left:"",minWidth:"","pointer-events":""}).removeClass(a.options.overClass).removeData("child-dragenter"),d--,d||(s.css("min-height",""),t.Utils.checkDisplay(a.element.parent()))})},0)}),void 0):(n.parentNode.insertBefore(e,r),t.Utils.checkDisplay(a.element.parent()),void 0)},serialize:function(){var e,o,n=[];return this.element.children().each(function(a,s){e={};for(var r,i,l=0;l').parent(); + this.computeWrapper(); + this.wrapper.css({ + 'margin-top' : this.element.css('margin-top'), + 'margin-bottom' : this.element.css('margin-bottom'), + 'margin-left' : this.element.css('margin-left'), + 'margin-right' : this.element.css('margin-right') + }) + this.element.css('margin', 0); + + if (boundary) { + + if (boundary === true || boundary[0] === '!') { + + boundary = boundary === true ? this.wrapper.parent() : this.wrapper.closest(boundary.substr(1)); + boundtoparent = true; + + } else if (typeof boundary === "string") { + boundary = UI.$(boundary); + } + } + + this.sticky = { + self : this, + options : this.options, + element : this.element, + currentTop : null, + wrapper : this.wrapper, + init : false, + getWidthFrom : UI.$(this.options.getWidthFrom || this.wrapper), + boundary : boundary, + boundtoparent : boundtoparent, + top : 0, + calcTop : function() { + + var top = this.options.top; + + // dynamic top parameter + if (this.options.top && typeof(this.options.top) == 'string') { + + // e.g. 50vh + if (this.options.top.match(/^(-|)(\d+)vh$/)) { + top = window.innerHeight * parseInt(this.options.top, 10)/100; + // e.g. #elementId, or .class-1,class-2,.class-3 (first found is used) + } else { + + var topElement = UI.$(this.options.top).first(); + + if (topElement.length && topElement.is(':visible')) { + top = -1 * ((topElement.offset().top + topElement.outerHeight()) - this.wrapper.offset().top); + } + } + + } + + this.top = top; + }, + + reset: function(force) { + + this.calcTop(); + + var finalize = function() { + this.element.css({position:'', top:'', width:'', left:'', margin:'0'}); + this.element.removeClass([this.options.animation, 'uk-animation-reverse', this.options.clsactive].join(' ')); + this.element.addClass(this.options.clsinactive); + this.element.trigger('inactive.uk.sticky'); + + this.currentTop = null; + this.animate = false; + + }.bind(this); + + + if (!force && this.options.animation && UI.support.animation && !UI.Utils.isInView(this.wrapper)) { + + this.animate = true; + + this.element.removeClass(this.options.animation).one(UI.support.animation.end, function(){ + finalize(); + }).width(); // force redraw + + this.element.addClass(this.options.animation+' '+'uk-animation-reverse'); + } else { + finalize(); + } + }, + + check: function() { + + if (this.options.disabled) { + return false; + } + + if (this.options.media) { + + switch(typeof(this.options.media)) { + case 'number': + if (window.innerWidth < this.options.media) { + return false; + } + break; + case 'string': + if (window.matchMedia && !window.matchMedia(this.options.media).matches) { + return false; + } + break; + } + } + + var scrollTop = $win.scrollTop(), + documentHeight = $doc.height(), + dwh = documentHeight - window.innerHeight, + extra = (scrollTop > dwh) ? dwh - scrollTop : 0, + elementTop = this.wrapper.offset().top, + etse = elementTop - this.top - extra, + active = (scrollTop >= etse); + + if (active && this.options.showup) { + + // set inactiv if scrolling down + if (direction == 1) { + active = false; + } + + // set inactive when wrapper is still in view + if (direction == -1 && !this.element.hasClass(this.options.clsactive) && UI.Utils.isInView(this.wrapper)) { + active = false; + } + } + + return active; + } + }; + + this.sticky.calcTop(); + + sticked.push(this.sticky); + }, + + update: function() { + checkscrollposition(this.sticky); + }, + + enable: function() { + this.options.disabled = false; + this.update(); + }, + + disable: function(force) { + this.options.disabled = true; + this.sticky.reset(force); + }, + + computeWrapper: function() { + + this.wrapper.css({ + 'height' : ['absolute','fixed'].indexOf(this.element.css('position')) == -1 ? this.element.outerHeight() : '', + 'float' : this.element.css('float') != 'none' ? this.element.css('float') : '' + }); + + if (this.element.css('position') == 'fixed') { + this.element.css({ + width: this.sticky.getWidthFrom.length ? this.sticky.getWidthFrom.width() : this.element.width() + }); + } + } + }); + + function checkscrollposition(direction) { + + var stickies = arguments.length ? arguments : sticked; + + if (!stickies.length || $win.scrollTop() < 0) return; + + var scrollTop = $win.scrollTop(), + documentHeight = $doc.height(), + windowHeight = $win.height(), + dwh = documentHeight - windowHeight, + extra = (scrollTop > dwh) ? dwh - scrollTop : 0, + newTop, containerBottom, stickyHeight, sticky; + + for (var i = 0; i < stickies.length; i++) { + + sticky = stickies[i]; + + if (!sticky.element.is(':visible') || sticky.animate) { + continue; + } + + if (!sticky.check()) { + + if (sticky.currentTop !== null) { + sticky.reset(); + } + + } else { + + if (sticky.top < 0) { + newTop = 0; + } else { + stickyHeight = sticky.element.outerHeight(); + newTop = documentHeight - stickyHeight - sticky.top - sticky.options.bottom - scrollTop - extra; + newTop = newTop < 0 ? newTop + sticky.top : sticky.top; + } + + if (sticky.boundary && sticky.boundary.length) { + + var bTop = sticky.boundary.offset().top; + + if (sticky.boundtoparent) { + containerBottom = documentHeight - (bTop + sticky.boundary.outerHeight()) + parseInt(sticky.boundary.css('padding-bottom')); + } else { + containerBottom = documentHeight - bTop; + } + + newTop = (scrollTop + stickyHeight) > (documentHeight - containerBottom - (sticky.top < 0 ? 0 : sticky.top)) ? (documentHeight - containerBottom) - (scrollTop + stickyHeight) : newTop; + } + + + if (sticky.currentTop != newTop) { + + sticky.element.css({ + position : 'fixed', + top : newTop, + width : sticky.getWidthFrom.length ? sticky.getWidthFrom.width() : sticky.element.width() + }); + + if (!sticky.init) { + + sticky.element.addClass(sticky.options.clsinit); + + if (location.hash && scrollTop > 0 && sticky.options.target) { + + var $target = UI.$(location.hash); + + if ($target.length) { + + setTimeout((function($target, sticky){ + + return function() { + + sticky.element.width(); // force redraw + + var offset = $target.offset(), + maxoffset = offset.top + $target.outerHeight(), + stickyOffset = sticky.element.offset(), + stickyHeight = sticky.element.outerHeight(), + stickyMaxOffset = stickyOffset.top + stickyHeight; + + if (stickyOffset.top < maxoffset && offset.top < stickyMaxOffset) { + scrollTop = offset.top - stickyHeight - sticky.options.target; + window.scrollTo(0, scrollTop); + } + }; + + })($target, sticky), 0); + } + } + } + + sticky.element.addClass(sticky.options.clsactive).removeClass(sticky.options.clsinactive); + sticky.element.trigger('active.uk.sticky'); + sticky.element.css('margin', ''); + + if (sticky.options.animation && sticky.init && !UI.Utils.isInView(sticky.wrapper)) { + sticky.element.addClass(sticky.options.animation); + } + + sticky.currentTop = newTop; + } + } + + sticky.init = true; + } + } + + return UI.sticky; +}); diff --git a/bower_components/uikit/js/components/sticky.min.js b/bower_components/uikit/js/components/sticky.min.js new file mode 100644 index 0000000..7f1bf3b --- /dev/null +++ b/bower_components/uikit/js/components/sticky.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var i;window.UIkit2&&(i=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-sticky",["uikit"],function(){return i||t(UIkit2)})}(function(t){"use strict";function i(){var i=arguments.length?arguments:n;if(i.length&&!(e.scrollTop()<0))for(var o,a,r,h,p=e.scrollTop(),c=s.height(),l=e.height(),m=c-l,d=p>m?m-p:0,u=0;uo?o+h.top:h.top),h.boundary&&h.boundary.length){var f=h.boundary.offset().top;a=h.boundtoparent?c-(f+h.boundary.outerHeight())+parseInt(h.boundary.css("padding-bottom")):c-f,o=p+r>c-a-(h.top<0?0:h.top)?c-a-(p+r):o}if(h.currentTop!=o){if(h.element.css({position:"fixed",top:o,width:h.getWidthFrom.length?h.getWidthFrom.width():h.element.width()}),!h.init&&(h.element.addClass(h.options.clsinit),location.hash&&p>0&&h.options.target)){var g=t.$(location.hash);g.length&&setTimeout(function(t,i){return function(){i.element.width();var e=t.offset(),s=e.top+t.outerHeight(),n=i.element.offset(),o=i.element.outerHeight(),a=n.top+o;n.top').parent(),this.computeWrapper(),this.wrapper.css({"margin-top":this.element.css("margin-top"),"margin-bottom":this.element.css("margin-bottom"),"margin-left":this.element.css("margin-left"),"margin-right":this.element.css("margin-right")}),this.element.css("margin",0),a&&(a===!0||"!"===a[0]?(a=a===!0?this.wrapper.parent():this.wrapper.closest(a.substr(1)),i=!0):"string"==typeof a&&(a=t.$(a))),this.sticky={self:this,options:this.options,element:this.element,currentTop:null,wrapper:this.wrapper,init:!1,getWidthFrom:t.$(this.options.getWidthFrom||this.wrapper),boundary:a,boundtoparent:i,top:0,calcTop:function(){var i=this.options.top;if(this.options.top&&"string"==typeof this.options.top)if(this.options.top.match(/^(-|)(\d+)vh$/))i=window.innerHeight*parseInt(this.options.top,10)/100;else{var e=t.$(this.options.top).first();e.length&&e.is(":visible")&&(i=-1*(e.offset().top+e.outerHeight()-this.wrapper.offset().top))}this.top=i},reset:function(i){this.calcTop();var e=function(){this.element.css({position:"",top:"",width:"",left:"",margin:"0"}),this.element.removeClass([this.options.animation,"uk-animation-reverse",this.options.clsactive].join(" ")),this.element.addClass(this.options.clsinactive),this.element.trigger("inactive.uk.sticky"),this.currentTop=null,this.animate=!1}.bind(this);!i&&this.options.animation&&t.support.animation&&!t.Utils.isInView(this.wrapper)?(this.animate=!0,this.element.removeClass(this.options.animation).one(t.support.animation.end,function(){e()}).width(),this.element.addClass(this.options.animation+" uk-animation-reverse")):e()},check:function(){if(this.options.disabled)return!1;if(this.options.media)switch(typeof this.options.media){case"number":if(window.innerWidtha?a-i:0,h=this.wrapper.offset().top,p=h-this.top-r,c=i>=p;return c&&this.options.showup&&(1==o&&(c=!1),-1==o&&!this.element.hasClass(this.options.clsactive)&&t.Utils.isInView(this.wrapper)&&(c=!1)),c}},this.sticky.calcTop(),n.push(this.sticky)},update:function(){i(this.sticky)},enable:function(){this.options.disabled=!1,this.update()},disable:function(t){this.options.disabled=!0,this.sticky.reset(t)},computeWrapper:function(){this.wrapper.css({height:-1==["absolute","fixed"].indexOf(this.element.css("position"))?this.element.outerHeight():"","float":"none"!=this.element.css("float")?this.element.css("float"):""}),"fixed"==this.element.css("position")&&this.element.css({width:this.sticky.getWidthFrom.length?this.sticky.getWidthFrom.width():this.element.width()})}}),t.sticky}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/timepicker.js b/bower_components/uikit/js/components/timepicker.js new file mode 100644 index 0000000..3bf3c49 --- /dev/null +++ b/bower_components/uikit/js/components/timepicker.js @@ -0,0 +1,192 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-timepicker', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + "use strict"; + + + UI.component('timepicker', { + + defaults: { + format : '24h', + delay : 0, + start : 0, + end : 24 + }, + + boot: function() { + + // init code + UI.$html.on('focus.timepicker.uikit', '[data-uk-timepicker]', function(e) { + + var ele = UI.$(this); + + if (!ele.data('timepicker')) { + var obj = UI.timepicker(ele, UI.Utils.options(ele.attr('data-uk-timepicker'))); + + setTimeout(function(){ + obj.autocomplete.input.focus(); + }, 40); + } + }); + }, + + init: function() { + + var $this = this, times = getTimeRange(this.options.start, this.options.end), container; + + this.options.minLength = 0; + this.options.template = ''; + + this.options.source = function(release) { + release(times[$this.options.format] || times['12h']); + }; + + if (this.element.is('input')) { + this.element.wrap('
          '); + container = this.element.parent(); + } else { + container = this.element.addClass('uk-autocomplete'); + } + + this.autocomplete = UI.autocomplete(container, this.options); + this.autocomplete.dropdown.addClass('uk-dropdown-small uk-dropdown-scrollable'); + + this.autocomplete.on('show.uk.autocomplete', function() { + + var selected = $this.autocomplete.dropdown.find('[data-value="'+$this.autocomplete.input.val()+'"]'); + + setTimeout(function(){ + $this.autocomplete.pick(selected, true); + }, 10); + }); + + this.autocomplete.input.on('focus', function(){ + + $this.autocomplete.value = Math.random(); + $this.autocomplete.triggercomplete(); + + }).on('blur', UI.Utils.debounce(function() { + $this.checkTime(); + }, 100)); + + this.element.data("timepicker", this); + }, + + checkTime: function() { + + var arr, timeArray, meridian = 'AM', hour, minute, time = this.autocomplete.input.val(); + + if (this.options.format == '12h') { + arr = time.split(' '); + timeArray = arr[0].split(':'); + meridian = arr[1]; + } else { + timeArray = time.split(':'); + } + + hour = parseInt(timeArray[0], 10); + minute = parseInt(timeArray[1], 10); + + if (isNaN(hour)) hour = 0; + if (isNaN(minute)) minute = 0; + + if (this.options.format == '12h') { + if (hour > 12) { + hour = 12; + } else if (hour < 0) { + hour = 12; + } + + if (meridian === 'am' || meridian === 'a') { + meridian = 'AM'; + } else if (meridian === 'pm' || meridian === 'p') { + meridian = 'PM'; + } + + if (meridian !== 'AM' && meridian !== 'PM') { + meridian = 'AM'; + } + + } else { + + if (hour >= 24) { + hour = 23; + } else if (hour < 0) { + hour = 0; + } + } + + if (minute < 0) { + minute = 0; + } else if (minute >= 60) { + minute = 0; + } + + this.autocomplete.input.val(this.formatTime(hour, minute, meridian)).trigger('change'); + }, + + formatTime: function(hour, minute, meridian) { + hour = hour < 10 ? '0' + hour : hour; + minute = minute < 10 ? '0' + minute : minute; + return hour + ':' + minute + (this.options.format == '12h' ? ' ' + meridian : ''); + } + }); + + // helper + + function getTimeRange(start, end) { + + start = start || 0; + end = end || 24; + + var times = {'12h':[], '24h':[]}, i, h; + + for (i = start, h=''; i 0 && i<13 && i!==12) { + times['12h'].push({value: (h+':00 AM')}); + times['12h'].push({value: (h+':30 AM')}); + } + + if (i >= 12) { + + h = h-12; + if (h === 0) h = 12; + if (h < 10) h = '0'+String(h); + + times['12h'].push({value: (h+':00 PM')}); + times['12h'].push({value: (h+':30 PM')}); + } + } + + return times; + } + +}); diff --git a/bower_components/uikit/js/components/timepicker.min.js b/bower_components/uikit/js/components/timepicker.min.js new file mode 100644 index 0000000..cf8dee4 --- /dev/null +++ b/bower_components/uikit/js/components/timepicker.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var e;window.UIkit2&&(e=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-timepicker",["uikit"],function(){return e||t(UIkit2)})}(function(t){"use strict";function e(t,e){t=t||0,e=e||24;var i,o,a={"12h":[],"24h":[]};for(i=t,o="";e>i;i++)o=""+i,10>i&&(o="0"+o),a["24h"].push({value:o+":00"}),a["24h"].push({value:o+":30"}),0===i&&(o=12,a["12h"].push({value:o+":00 AM"}),a["12h"].push({value:o+":30 AM"})),i>0&&13>i&&12!==i&&(a["12h"].push({value:o+":00 AM"}),a["12h"].push({value:o+":30 AM"})),i>=12&&(o-=12,0===o&&(o=12),10>o&&(o="0"+String(o)),a["12h"].push({value:o+":00 PM"}),a["12h"].push({value:o+":30 PM"}));return a}t.component("timepicker",{defaults:{format:"24h",delay:0,start:0,end:24},boot:function(){t.$html.on("focus.timepicker.uikit","[data-uk-timepicker]",function(){var e=t.$(this);if(!e.data("timepicker")){var i=t.timepicker(e,t.Utils.options(e.attr("data-uk-timepicker")));setTimeout(function(){i.autocomplete.input.focus()},40)}})},init:function(){var i,o=this,a=e(this.options.start,this.options.end);this.options.minLength=0,this.options.template='',this.options.source=function(t){t(a[o.options.format]||a["12h"])},this.element.is("input")?(this.element.wrap('
          '),i=this.element.parent()):i=this.element.addClass("uk-autocomplete"),this.autocomplete=t.autocomplete(i,this.options),this.autocomplete.dropdown.addClass("uk-dropdown-small uk-dropdown-scrollable"),this.autocomplete.on("show.uk.autocomplete",function(){var t=o.autocomplete.dropdown.find('[data-value="'+o.autocomplete.input.val()+'"]');setTimeout(function(){o.autocomplete.pick(t,!0)},10)}),this.autocomplete.input.on("focus",function(){o.autocomplete.value=Math.random(),o.autocomplete.triggercomplete()}).on("blur",t.Utils.debounce(function(){o.checkTime()},100)),this.element.data("timepicker",this)},checkTime:function(){var t,e,i,o,a="AM",u=this.autocomplete.input.val();"12h"==this.options.format?(t=u.split(" "),e=t[0].split(":"),a=t[1]):e=u.split(":"),i=parseInt(e[0],10),o=parseInt(e[1],10),isNaN(i)&&(i=0),isNaN(o)&&(o=0),"12h"==this.options.format?(i>12?i=12:0>i&&(i=12),"am"===a||"a"===a?a="AM":("pm"===a||"p"===a)&&(a="PM"),"AM"!==a&&"PM"!==a&&(a="AM")):i>=24?i=23:0>i&&(i=0),0>o?o=0:o>=60&&(o=0),this.autocomplete.input.val(this.formatTime(i,o,a)).trigger("change")},formatTime:function(t,e,i){return t=10>t?"0"+t:t,e=10>e?"0"+e:e,t+":"+e+("12h"==this.options.format?" "+i:"")}})}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/tooltip.js b/bower_components/uikit/js/components/tooltip.js new file mode 100644 index 0000000..9f14957 --- /dev/null +++ b/bower_components/uikit/js/components/tooltip.js @@ -0,0 +1,235 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-tooltip', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + "use strict"; + + var $tooltip, // tooltip container + tooltipdelay, checkIdle; + + UI.component('tooltip', { + + defaults: { + offset: 5, + pos: 'top', + animation: false, + delay: 0, // in miliseconds + cls: '', + activeClass: 'uk-active', + src: function(ele) { + var title = ele.attr('title'); + + if (title !== undefined) { + ele.data('cached-title', title).removeAttr('title'); + } + + return ele.data("cached-title"); + } + }, + + tip: '', + + boot: function() { + + // init code + UI.$html.on('mouseenter.tooltip.uikit focus.tooltip.uikit', '[data-uk-tooltip]', function(e) { + var ele = UI.$(this); + + if (!ele.data('tooltip')) { + UI.tooltip(ele, UI.Utils.options(ele.attr('data-uk-tooltip'))); + ele.trigger('mouseenter'); + } + }); + }, + + init: function() { + + var $this = this; + + if (!$tooltip) { + $tooltip = UI.$('
          ').appendTo("body"); + } + + this.on({ + focus : function(e) { $this.show(); }, + blur : function(e) { $this.hide(); }, + mouseenter : function(e) { $this.show(); }, + mouseleave : function(e) { $this.hide(); } + }); + }, + + show: function() { + + this.tip = typeof(this.options.src) === 'function' ? this.options.src(this.element) : this.options.src; + + if (tooltipdelay) clearTimeout(tooltipdelay); + if (checkIdle) clearInterval(checkIdle); + + if (typeof(this.tip) === 'string' ? !this.tip.length:true) return; + + $tooltip.stop().css({top: -2000, visibility: 'hidden'}).removeClass(this.options.activeClass).show(); + $tooltip.html('
          ' + this.tip + '
          '); + + var $this = this, + pos = UI.$.extend({}, this.element.offset(), {width: this.element[0].offsetWidth, height: this.element[0].offsetHeight}), + width = $tooltip[0].offsetWidth, + height = $tooltip[0].offsetHeight, + offset = typeof(this.options.offset) === "function" ? this.options.offset.call(this.element) : this.options.offset, + position = typeof(this.options.pos) === "function" ? this.options.pos.call(this.element) : this.options.pos, + tmppos = position.split("-"), + tcss = { + display : 'none', + visibility : 'visible', + top : (pos.top + pos.height + height), + left : pos.left + }; + + + // prevent strange position + // when tooltip is in offcanvas etc. + if (UI.$html.css('position')=='fixed' || UI.$body.css('position')=='fixed'){ + var bodyoffset = UI.$('body').offset(), + htmloffset = UI.$('html').offset(), + docoffset = {top: (htmloffset.top + bodyoffset.top), left: (htmloffset.left + bodyoffset.left)}; + + pos.left -= docoffset.left; + pos.top -= docoffset.top; + } + + + if ((tmppos[0] == 'left' || tmppos[0] == 'right') && UI.langdirection == 'right') { + tmppos[0] = tmppos[0] == 'left' ? 'right' : 'left'; + } + + var variants = { + bottom : {top: pos.top + pos.height + offset, left: pos.left + pos.width / 2 - width / 2}, + top : {top: pos.top - height - offset, left: pos.left + pos.width / 2 - width / 2}, + left : {top: pos.top + pos.height / 2 - height / 2, left: pos.left - width - offset}, + right : {top: pos.top + pos.height / 2 - height / 2, left: pos.left + pos.width + offset} + }; + + UI.$.extend(tcss, variants[tmppos[0]]); + + if (tmppos.length == 2) tcss.left = (tmppos[1] == 'left') ? (pos.left) : ((pos.left + pos.width) - width); + + var boundary = this.checkBoundary(tcss.left, tcss.top, width, height); + + if(boundary) { + + switch(boundary) { + case 'x': + + if (tmppos.length == 2) { + position = tmppos[0]+"-"+(tcss.left < 0 ? 'left': 'right'); + } else { + position = tcss.left < 0 ? 'right': 'left'; + } + + break; + + case 'y': + if (tmppos.length == 2) { + position = (tcss.top < 0 ? 'bottom': 'top')+'-'+tmppos[1]; + } else { + position = (tcss.top < 0 ? 'bottom': 'top'); + } + + break; + + case 'xy': + if (tmppos.length == 2) { + position = (tcss.top < 0 ? 'bottom': 'top')+'-'+(tcss.left < 0 ? 'left': 'right'); + } else { + position = tcss.left < 0 ? 'right': 'left'; + } + + break; + + } + + tmppos = position.split('-'); + + UI.$.extend(tcss, variants[tmppos[0]]); + + if (tmppos.length == 2) tcss.left = (tmppos[1] == 'left') ? (pos.left) : ((pos.left + pos.width) - width); + } + + + tcss.left -= UI.$body.position().left; + + tooltipdelay = setTimeout(function(){ + + $tooltip.css(tcss).attr('class', ['uk-tooltip', 'uk-tooltip-'+position, $this.options.cls].join(' ')); + + if ($this.options.animation) { + $tooltip.css({opacity: 0, display: 'block'}).addClass($this.options.activeClass).animate({opacity: 1}, parseInt($this.options.animation, 10) || 400); + } else { + $tooltip.show().addClass($this.options.activeClass); + } + + tooltipdelay = false; + + // close tooltip if element was removed or hidden + checkIdle = setInterval(function(){ + if(!$this.element.is(':visible')) $this.hide(); + }, 150); + + }, parseInt(this.options.delay, 10) || 0); + }, + + hide: function() { + + if (this.element.is('input') && this.element[0]===document.activeElement) return; + + if (tooltipdelay) clearTimeout(tooltipdelay); + if (checkIdle) clearInterval(checkIdle); + + $tooltip.stop(); + + if (this.options.animation) { + + var $this = this; + + $tooltip.fadeOut(parseInt(this.options.animation, 10) || 400, function(){ + $tooltip.removeClass($this.options.activeClass) + }); + + } else { + $tooltip.hide().removeClass(this.options.activeClass); + } + }, + + content: function() { + return this.tip; + }, + + checkBoundary: function(left, top, width, height) { + + var axis = ""; + + if(left < 0 || ((left - UI.$win.scrollLeft())+width) > window.innerWidth) { + axis += "x"; + } + + if(top < 0 || ((top - UI.$win.scrollTop())+height) > window.innerHeight) { + axis += "y"; + } + + return axis; + } + }); + + return UI.tooltip; +}); diff --git a/bower_components/uikit/js/components/tooltip.min.js b/bower_components/uikit/js/components/tooltip.min.js new file mode 100644 index 0000000..a47d652 --- /dev/null +++ b/bower_components/uikit/js/components/tooltip.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var i;window.UIkit2&&(i=t(UIkit2)),"function"==typeof define&&define.amd&&define("uikit-tooltip",["uikit"],function(){return i||t(UIkit2)})}(function(t){"use strict";var i,o,e;return t.component("tooltip",{defaults:{offset:5,pos:"top",animation:!1,delay:0,cls:"",activeClass:"uk-active",src:function(t){var i=t.attr("title");return void 0!==i&&t.data("cached-title",i).removeAttr("title"),t.data("cached-title")}},tip:"",boot:function(){t.$html.on("mouseenter.tooltip.uikit focus.tooltip.uikit","[data-uk-tooltip]",function(){var i=t.$(this);i.data("tooltip")||(t.tooltip(i,t.Utils.options(i.attr("data-uk-tooltip"))),i.trigger("mouseenter"))})},init:function(){var o=this;i||(i=t.$('
          ').appendTo("body")),this.on({focus:function(){o.show()},blur:function(){o.hide()},mouseenter:function(){o.show()},mouseleave:function(){o.hide()}})},show:function(){if(this.tip="function"==typeof this.options.src?this.options.src(this.element):this.options.src,o&&clearTimeout(o),e&&clearInterval(e),"string"==typeof this.tip?this.tip.length:0){i.stop().css({top:-2e3,visibility:"hidden"}).removeClass(this.options.activeClass).show(),i.html('
          '+this.tip+"
          ");var s=this,n=t.$.extend({},this.element.offset(),{width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}),l=i[0].offsetWidth,f=i[0].offsetHeight,a="function"==typeof this.options.offset?this.options.offset.call(this.element):this.options.offset,p="function"==typeof this.options.pos?this.options.pos.call(this.element):this.options.pos,h=p.split("-"),c={display:"none",visibility:"visible",top:n.top+n.height+f,left:n.left};if("fixed"==t.$html.css("position")||"fixed"==t.$body.css("position")){var r=t.$("body").offset(),d=t.$("html").offset(),u={top:d.top+r.top,left:d.left+r.left};n.left-=u.left,n.top-=u.top}"left"!=h[0]&&"right"!=h[0]||"right"!=t.langdirection||(h[0]="left"==h[0]?"right":"left");var m={bottom:{top:n.top+n.height+a,left:n.left+n.width/2-l/2},top:{top:n.top-f-a,left:n.left+n.width/2-l/2},left:{top:n.top+n.height/2-f/2,left:n.left-l-a},right:{top:n.top+n.height/2-f/2,left:n.left+n.width+a}};t.$.extend(c,m[h[0]]),2==h.length&&(c.left="left"==h[1]?n.left:n.left+n.width-l);var v=this.checkBoundary(c.left,c.top,l,f);if(v){switch(v){case"x":p=2==h.length?h[0]+"-"+(c.left<0?"left":"right"):c.left<0?"right":"left";break;case"y":p=2==h.length?(c.top<0?"bottom":"top")+"-"+h[1]:c.top<0?"bottom":"top";break;case"xy":p=2==h.length?(c.top<0?"bottom":"top")+"-"+(c.left<0?"left":"right"):c.left<0?"right":"left"}h=p.split("-"),t.$.extend(c,m[h[0]]),2==h.length&&(c.left="left"==h[1]?n.left:n.left+n.width-l)}c.left-=t.$body.position().left,o=setTimeout(function(){i.css(c).attr("class",["uk-tooltip","uk-tooltip-"+p,s.options.cls].join(" ")),s.options.animation?i.css({opacity:0,display:"block"}).addClass(s.options.activeClass).animate({opacity:1},parseInt(s.options.animation,10)||400):i.show().addClass(s.options.activeClass),o=!1,e=setInterval(function(){s.element.is(":visible")||s.hide()},150)},parseInt(this.options.delay,10)||0)}},hide:function(){if(!this.element.is("input")||this.element[0]!==document.activeElement)if(o&&clearTimeout(o),e&&clearInterval(e),i.stop(),this.options.animation){var t=this;i.fadeOut(parseInt(this.options.animation,10)||400,function(){i.removeClass(t.options.activeClass)})}else i.hide().removeClass(this.options.activeClass)},content:function(){return this.tip},checkBoundary:function(i,o,e,s){var n="";return(0>i||i-t.$win.scrollLeft()+e>window.innerWidth)&&(n+="x"),(0>o||o-t.$win.scrollTop()+s>window.innerHeight)&&(n+="y"),n}}),t.tooltip}); \ No newline at end of file diff --git a/bower_components/uikit/js/components/upload.js b/bower_components/uikit/js/components/upload.js new file mode 100644 index 0000000..a6ceb2a --- /dev/null +++ b/bower_components/uikit/js/components/upload.js @@ -0,0 +1,262 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(addon) { + + var component; + + if (window.UIkit2) { + component = addon(UIkit2); + } + + if (typeof define == 'function' && define.amd) { + define('uikit-upload', ['uikit'], function(){ + return component || addon(UIkit2); + }); + } + +})(function(UI){ + + "use strict"; + + UI.component('uploadSelect', { + + init: function() { + + var $this = this; + + this.on('change', function() { + xhrupload($this.element[0].files, $this.options); + var twin = $this.element.clone(true).data('uploadSelect', $this); + $this.element.replaceWith(twin); + $this.element = twin; + }); + } + }); + + UI.component('uploadDrop', { + + defaults: { + 'dragoverClass': 'uk-dragover' + }, + + init: function() { + + var $this = this, hasdragCls = false; + + this.on('drop', function(e){ + + if (e.originalEvent.dataTransfer && e.originalEvent.dataTransfer.files) { + + e.stopPropagation(); + e.preventDefault(); + + $this.element.removeClass($this.options.dragoverClass); + $this.element.trigger('dropped.uk.upload', [e.originalEvent.dataTransfer.files]); + + xhrupload(e.originalEvent.dataTransfer.files, $this.options); + } + + }).on('dragenter', function(e){ + e.stopPropagation(); + e.preventDefault(); + }).on('dragover', function(e){ + e.stopPropagation(); + e.preventDefault(); + + if (!hasdragCls) { + $this.element.addClass($this.options.dragoverClass); + hasdragCls = true; + } + }).on('dragleave', function(e){ + e.stopPropagation(); + e.preventDefault(); + $this.element.removeClass($this.options.dragoverClass); + hasdragCls = false; + }); + } + }); + + + UI.support.ajaxupload = (function() { + + function supportFileAPI() { + var fi = document.createElement('INPUT'); fi.type = 'file'; return 'files' in fi; + } + + function supportAjaxUploadProgressEvents() { + var xhr = new XMLHttpRequest(); return !! (xhr && ('upload' in xhr) && ('onprogress' in xhr.upload)); + } + + function supportFormData() { + return !! window.FormData; + } + + return supportFileAPI() && supportAjaxUploadProgressEvents() && supportFormData(); + })(); + + + function xhrupload(files, settings) { + + if (!UI.support.ajaxupload){ + return this; + } + + settings = UI.$.extend({}, xhrupload.defaults, settings); + + if (!files.length){ + return; + } + + if (settings.allow !== '*.*') { + + for(var i=0,file;file=files[i];i++) { + + if(!matchName(settings.allow, file.name)) { + + if(typeof(settings.notallowed) == 'string') { + alert(settings.notallowed); + } else { + settings.notallowed(file, settings); + } + return; + } + } + } + + var complete = settings.complete; + + if (settings.single){ + + var count = files.length, + uploaded = 0, + allow = true; + + settings.beforeAll(files); + + settings.complete = function(response, xhr){ + + uploaded = uploaded + 1; + + complete(response, xhr); + + if (settings.filelimit && uploaded >= settings.filelimit){ + allow = false; + } + + if (allow && uploaded=a.filelimit&&(p=!1),p&&d>f?r([o[f]],a):a.allcomplete(e,t)},r([o[0]],a)}else a.complete=function(e,t){s(e,t),a.allcomplete(e,t)},r(o,a)}}function n(e,t){var n="^"+e.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")+"$";return n="^"+n+"$",null!==t.match(new RegExp(n,"i"))}return e.component("uploadSelect",{init:function(){var e=this;this.on("change",function(){t(e.element[0].files,e.options);var n=e.element.clone(!0).data("uploadSelect",e);e.element.replaceWith(n),e.element=n})}}),e.component("uploadDrop",{defaults:{dragoverClass:"uk-dragover"},init:function(){var e=this,n=!1;this.on("drop",function(n){n.originalEvent.dataTransfer&&n.originalEvent.dataTransfer.files&&(n.stopPropagation(),n.preventDefault(),e.element.removeClass(e.options.dragoverClass),e.element.trigger("dropped.uk.upload",[n.originalEvent.dataTransfer.files]),t(n.originalEvent.dataTransfer.files,e.options))}).on("dragenter",function(e){e.stopPropagation(),e.preventDefault()}).on("dragover",function(t){t.stopPropagation(),t.preventDefault(),n||(e.element.addClass(e.options.dragoverClass),n=!0)}).on("dragleave",function(t){t.stopPropagation(),t.preventDefault(),e.element.removeClass(e.options.dragoverClass),n=!1})}}),e.support.ajaxupload=function(){function e(){var e=document.createElement("INPUT");return e.type="file","files"in e}function t(){var e=new XMLHttpRequest;return!!(e&&"upload"in e&&"onprogress"in e.upload)}function n(){return!!window.FormData}return e()&&t()&&n()}(),t.defaults={action:"",single:!0,method:"POST",param:"files[]",params:{},allow:"*.*",type:"text",filelimit:!1,headers:{},before:function(){},beforeSend:function(){},beforeAll:function(){},loadstart:function(){},load:function(){},loadend:function(){},error:function(){},abort:function(){},progress:function(){},complete:function(){},allcomplete:function(){},readystatechange:function(){},notallowed:function(e,t){alert("Only the following file types are allowed: "+t.allow)}},e.Utils.xhrupload=t,t}); \ No newline at end of file diff --git a/bower_components/uikit/js/core/alert.js b/bower_components/uikit/js/core/alert.js new file mode 100644 index 0000000..16325fb --- /dev/null +++ b/bower_components/uikit/js/core/alert.js @@ -0,0 +1,66 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(UI) { + + "use strict"; + + UI.component('alert', { + + defaults: { + fade: true, + duration: 200, + trigger: '.uk-alert-close' + }, + + boot: function() { + + // init code + UI.$html.on('click.alert.uikit', '[data-uk-alert]', function(e) { + + var ele = UI.$(this); + + if (!ele.data('alert')) { + + var alert = UI.alert(ele, UI.Utils.options(ele.attr('data-uk-alert'))); + + if (UI.$(e.target).is(alert.options.trigger)) { + e.preventDefault(); + alert.close(); + } + } + }); + }, + + init: function() { + + var $this = this; + + this.on('click', this.options.trigger, function(e) { + e.preventDefault(); + $this.close(); + }); + }, + + close: function() { + + var element = this.trigger('close.uk.alert'), + removeElement = function () { + this.trigger('closed.uk.alert').remove(); + }.bind(this); + + if (this.options.fade) { + element.css('overflow', 'hidden').css("max-height", element.height()).animate({ + height : 0, + opacity : 0, + paddingTop : 0, + paddingBottom : 0, + marginTop : 0, + marginBottom : 0 + }, this.options.duration, removeElement); + } else { + removeElement(); + } + } + + }); + +})(UIkit2); diff --git a/bower_components/uikit/js/core/alert.min.js b/bower_components/uikit/js/core/alert.min.js new file mode 100644 index 0000000..165c3d8 --- /dev/null +++ b/bower_components/uikit/js/core/alert.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){"use strict";t.component("alert",{defaults:{fade:!0,duration:200,trigger:".uk-alert-close"},boot:function(){t.$html.on("click.alert.uikit","[data-uk-alert]",function(i){var o=t.$(this);if(!o.data("alert")){var e=t.alert(o,t.Utils.options(o.attr("data-uk-alert")));t.$(i.target).is(e.options.trigger)&&(i.preventDefault(),e.close())}})},init:function(){var t=this;this.on("click",this.options.trigger,function(i){i.preventDefault(),t.close()})},close:function(){var t=this.trigger("close.uk.alert"),i=function(){this.trigger("closed.uk.alert").remove()}.bind(this);this.options.fade?t.css("overflow","hidden").css("max-height",t.height()).animate({height:0,opacity:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0},this.options.duration,i):i()}})}(UIkit2); \ No newline at end of file diff --git a/bower_components/uikit/js/core/button.js b/bower_components/uikit/js/core/button.js new file mode 100644 index 0000000..05205c6 --- /dev/null +++ b/bower_components/uikit/js/core/button.js @@ -0,0 +1,156 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(UI) { + + "use strict"; + + UI.component('buttonRadio', { + + defaults: { + activeClass: 'uk-active', + target: '.uk-button' + }, + + boot: function() { + + // init code + UI.$html.on('click.buttonradio.uikit', '[data-uk-button-radio]', function(e) { + + var ele = UI.$(this); + + if (!ele.data('buttonRadio')) { + + var obj = UI.buttonRadio(ele, UI.Utils.options(ele.attr('data-uk-button-radio'))), + target = UI.$(e.target); + + if (target.is(obj.options.target)) { + target.trigger('click'); + } + } + }); + }, + + init: function() { + + var $this = this; + + // Init ARIA + this.find($this.options.target).attr('aria-checked', 'false').filter('.' + $this.options.activeClass).attr('aria-checked', 'true'); + + this.on('click', this.options.target, function(e) { + + var ele = UI.$(this); + + if (ele.is('a[href="#"]')) e.preventDefault(); + + $this.find($this.options.target).not(ele).removeClass($this.options.activeClass).blur(); + ele.addClass($this.options.activeClass); + + // Update ARIA + $this.find($this.options.target).not(ele).attr('aria-checked', 'false'); + ele.attr('aria-checked', 'true'); + + $this.trigger('change.uk.button', [ele]); + }); + + }, + + getSelected: function() { + return this.find('.' + this.options.activeClass); + } + }); + + UI.component('buttonCheckbox', { + + defaults: { + activeClass: 'uk-active', + target: '.uk-button' + }, + + boot: function() { + + UI.$html.on('click.buttoncheckbox.uikit', '[data-uk-button-checkbox]', function(e) { + var ele = UI.$(this); + + if (!ele.data('buttonCheckbox')) { + + var obj = UI.buttonCheckbox(ele, UI.Utils.options(ele.attr('data-uk-button-checkbox'))), + target = UI.$(e.target); + + if (target.is(obj.options.target)) { + target.trigger('click'); + } + } + }); + }, + + init: function() { + + var $this = this; + + // Init ARIA + this.find($this.options.target).attr('aria-checked', 'false').filter('.' + $this.options.activeClass).attr('aria-checked', 'true'); + + this.on('click', this.options.target, function(e) { + var ele = UI.$(this); + + if (ele.is('a[href="#"]')) e.preventDefault(); + + ele.toggleClass($this.options.activeClass).blur(); + + // Update ARIA + ele.attr('aria-checked', ele.hasClass($this.options.activeClass)); + + $this.trigger('change.uk.button', [ele]); + }); + + }, + + getSelected: function() { + return this.find('.' + this.options.activeClass); + } + }); + + + UI.component('button', { + + defaults: {}, + + boot: function() { + + UI.$html.on('click.button.uikit', '[data-uk-button]', function(e) { + var ele = UI.$(this); + + if (!ele.data('button')) { + + var obj = UI.button(ele, UI.Utils.options(ele.attr('data-uk-button'))); + ele.trigger('click'); + } + }); + }, + + init: function() { + + var $this = this; + + // Init ARIA + this.element.attr('aria-pressed', this.element.hasClass("uk-active")); + + this.on('click', function(e) { + + if ($this.element.is('a[href="#"]')) e.preventDefault(); + + $this.toggle(); + $this.trigger('change.uk.button', [$this.element.blur().hasClass('uk-active')]); + }); + + }, + + toggle: function() { + this.element.toggleClass('uk-active'); + + // Update ARIA + this.element.attr('aria-pressed', this.element.hasClass('uk-active')); + } + }); + +})(UIkit2); diff --git a/bower_components/uikit/js/core/button.min.js b/bower_components/uikit/js/core/button.min.js new file mode 100644 index 0000000..28e6b51 --- /dev/null +++ b/bower_components/uikit/js/core/button.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){"use strict";t.component("buttonRadio",{defaults:{activeClass:"uk-active",target:".uk-button"},boot:function(){t.$html.on("click.buttonradio.uikit","[data-uk-button-radio]",function(i){var a=t.$(this);if(!a.data("buttonRadio")){var e=t.buttonRadio(a,t.Utils.options(a.attr("data-uk-button-radio"))),o=t.$(i.target);o.is(e.options.target)&&o.trigger("click")}})},init:function(){var i=this;this.find(i.options.target).attr("aria-checked","false").filter("."+i.options.activeClass).attr("aria-checked","true"),this.on("click",this.options.target,function(a){var e=t.$(this);e.is('a[href="#"]')&&a.preventDefault(),i.find(i.options.target).not(e).removeClass(i.options.activeClass).blur(),e.addClass(i.options.activeClass),i.find(i.options.target).not(e).attr("aria-checked","false"),e.attr("aria-checked","true"),i.trigger("change.uk.button",[e])})},getSelected:function(){return this.find("."+this.options.activeClass)}}),t.component("buttonCheckbox",{defaults:{activeClass:"uk-active",target:".uk-button"},boot:function(){t.$html.on("click.buttoncheckbox.uikit","[data-uk-button-checkbox]",function(i){var a=t.$(this);if(!a.data("buttonCheckbox")){var e=t.buttonCheckbox(a,t.Utils.options(a.attr("data-uk-button-checkbox"))),o=t.$(i.target);o.is(e.options.target)&&o.trigger("click")}})},init:function(){var i=this;this.find(i.options.target).attr("aria-checked","false").filter("."+i.options.activeClass).attr("aria-checked","true"),this.on("click",this.options.target,function(a){var e=t.$(this);e.is('a[href="#"]')&&a.preventDefault(),e.toggleClass(i.options.activeClass).blur(),e.attr("aria-checked",e.hasClass(i.options.activeClass)),i.trigger("change.uk.button",[e])})},getSelected:function(){return this.find("."+this.options.activeClass)}}),t.component("button",{defaults:{},boot:function(){t.$html.on("click.button.uikit","[data-uk-button]",function(){var i=t.$(this);if(!i.data("button")){{t.button(i,t.Utils.options(i.attr("data-uk-button")))}i.trigger("click")}})},init:function(){var t=this;this.element.attr("aria-pressed",this.element.hasClass("uk-active")),this.on("click",function(i){t.element.is('a[href="#"]')&&i.preventDefault(),t.toggle(),t.trigger("change.uk.button",[t.element.blur().hasClass("uk-active")])})},toggle:function(){this.element.toggleClass("uk-active"),this.element.attr("aria-pressed",this.element.hasClass("uk-active"))}})}(UIkit2); \ No newline at end of file diff --git a/bower_components/uikit/js/core/core.js b/bower_components/uikit/js/core/core.js new file mode 100644 index 0000000..a9836e3 --- /dev/null +++ b/bower_components/uikit/js/core/core.js @@ -0,0 +1,825 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(core) { + + var uikit; + + if (!window.jQuery) { + throw new Error('UIkit 2.x requires jQuery'); + } else { + uikit = core(window.jQuery); + } + + if (typeof define == 'function' && define.amd) { // AMD + + define('uikit', function(){ + + uikit.load = function(res, req, onload, config) { + + var resources = res.split(','), load = [], i, base = (config.config && config.config.uikit && config.config.uikit.base ? config.config.uikit.base : '').replace(/\/+$/g, ''); + + if (!base) { + throw new Error('Please define base path to UIkit in the requirejs config.'); + } + + for (i = 0; i < resources.length; i += 1) { + var resource = resources[i].replace(/\./g, '/'); + load.push(base+'/components/'+resource); + } + + req(load, function() { + onload(uikit); + }); + }; + + return uikit; + }); + } + +})(function($) { + + "use strict"; + + if (window.UIkit2) { + return window.UIkit2; + } + + var UI = {}, _UI = window.UIkit || undefined; + + UI.version = '2.27.5'; + + UI.noConflict = function() { + // restore UIkit version + if (_UI) { + window.UIkit = _UI; + $.UIkit = _UI; + $.fn.uk = _UI.fn; + } + + return UI; + }; + + window.UIkit2 = UI; + + if (!_UI) { + window.UIkit = UI; + } + + // cache jQuery + UI.$ = $; + + UI.$doc = UI.$(document); + UI.$win = UI.$(window); + UI.$html = UI.$('html'); + + UI.support = {}; + UI.support.transition = (function() { + + var transitionEnd = (function() { + + var element = document.body || document.documentElement, + transEndEventNames = { + WebkitTransition : 'webkitTransitionEnd', + MozTransition : 'transitionend', + OTransition : 'oTransitionEnd otransitionend', + transition : 'transitionend' + }, name; + + for (name in transEndEventNames) { + if (element.style[name] !== undefined) return transEndEventNames[name]; + } + }()); + + return transitionEnd && { end: transitionEnd }; + })(); + + UI.support.animation = (function() { + + var animationEnd = (function() { + + var element = document.body || document.documentElement, + animEndEventNames = { + WebkitAnimation : 'webkitAnimationEnd', + MozAnimation : 'animationend', + OAnimation : 'oAnimationEnd oanimationend', + animation : 'animationend' + }, name; + + for (name in animEndEventNames) { + if (element.style[name] !== undefined) return animEndEventNames[name]; + } + }()); + + return animationEnd && { end: animationEnd }; + })(); + + // requestAnimationFrame polyfill + //https://github.com/darius/requestAnimationFrame + (function() { + + Date.now = Date.now || function() { return new Date().getTime(); }; + + var vendors = ['webkit', 'moz']; + for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) { + var vp = vendors[i]; + window.requestAnimationFrame = window[vp+'RequestAnimationFrame']; + window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame'] + || window[vp+'CancelRequestAnimationFrame']); + } + if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) // iOS6 is buggy + || !window.requestAnimationFrame || !window.cancelAnimationFrame) { + var lastTime = 0; + window.requestAnimationFrame = function(callback) { + var now = Date.now(); + var nextTime = Math.max(lastTime + 16, now); + return setTimeout(function() { callback(lastTime = nextTime); }, + nextTime - now); + }; + window.cancelAnimationFrame = clearTimeout; + } + }()); + + UI.support.touch = ( + ('ontouchstart' in document) || + (window.DocumentTouch && document instanceof window.DocumentTouch) || + (window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 0) || //IE 10 + (window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 0) || //IE >=11 + false + ); + + UI.support.mutationobserver = (window.MutationObserver || window.WebKitMutationObserver || null); + + UI.Utils = {}; + + UI.Utils.isFullscreen = function() { + return document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement || document.fullscreenElement || false; + }; + + UI.Utils.str2json = function(str, notevil) { + try { + if (notevil) { + return JSON.parse(str + // wrap keys without quote with valid double quote + .replace(/([\$\w]+)\s*:/g, function(_, $1){return '"'+$1+'":';}) + // replacing single quote wrapped ones to double quote + .replace(/'([^']+)'/g, function(_, $1){return '"'+$1+'"';}) + ); + } else { + return (new Function('', 'var json = ' + str + '; return JSON.parse(JSON.stringify(json));'))(); + } + } catch(e) { return false; } + }; + + UI.Utils.debounce = function(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; + }; + + UI.Utils.throttle = function (func, limit) { + var wait = false; + return function () { + if (!wait) { + func.call(); + wait = true; + setTimeout(function () { + wait = false; + }, limit); + } + } + }; + + UI.Utils.removeCssRules = function(selectorRegEx) { + var idx, idxs, stylesheet, _i, _j, _k, _len, _len1, _len2, _ref; + + if(!selectorRegEx) return; + + setTimeout(function(){ + try { + _ref = document.styleSheets; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + stylesheet = _ref[_i]; + idxs = []; + stylesheet.cssRules = stylesheet.cssRules; + for (idx = _j = 0, _len1 = stylesheet.cssRules.length; _j < _len1; idx = ++_j) { + if (stylesheet.cssRules[idx].type === CSSRule.STYLE_RULE && selectorRegEx.test(stylesheet.cssRules[idx].selectorText)) { + idxs.unshift(idx); + } + } + for (_k = 0, _len2 = idxs.length; _k < _len2; _k++) { + stylesheet.deleteRule(idxs[_k]); + } + } + } catch (_error) {} + }, 0); + }; + + UI.Utils.isInView = function(element, options) { + + var $element = $(element); + + if (!$element.is(':visible')) { + return false; + } + + var window_left = UI.$win.scrollLeft(), window_top = UI.$win.scrollTop(), offset = $element.offset(), left = offset.left, top = offset.top; + + options = $.extend({topoffset:0, leftoffset:0}, options); + + if (top + $element.height() >= window_top && top - options.topoffset <= window_top + UI.$win.height() && + left + $element.width() >= window_left && left - options.leftoffset <= window_left + UI.$win.width()) { + return true; + } else { + return false; + } + }; + + UI.Utils.checkDisplay = function(context, initanimation) { + + var elements = UI.$('[data-uk-margin], [data-uk-grid-match], [data-uk-grid-margin], [data-uk-check-display]', context || document), animated; + + if (context && !elements.length) { + elements = $(context); + } + + elements.trigger('display.uk.check'); + + // fix firefox / IE animations + if (initanimation) { + + if (typeof(initanimation)!='string') { + initanimation = '[class*="uk-animation-"]'; + } + + elements.find(initanimation).each(function(){ + + var ele = UI.$(this), + cls = ele.attr('class'), + anim = cls.match(/uk-animation-(.+)/); + + ele.removeClass(anim[0]).width(); + + ele.addClass(anim[0]); + }); + } + + return elements; + }; + + UI.Utils.options = function(string) { + + if ($.type(string)!='string') return string; + + if (string.indexOf(':') != -1 && string.trim().substr(-1) != '}') { + string = '{'+string+'}'; + } + + var start = (string ? string.indexOf("{") : -1), options = {}; + + if (start != -1) { + try { + options = UI.Utils.str2json(string.substr(start)); + } catch (e) {} + } + + return options; + }; + + UI.Utils.animate = function(element, cls) { + + var d = $.Deferred(); + + element = UI.$(element); + + element.css('display', 'none').addClass(cls).one(UI.support.animation.end, function() { + element.removeClass(cls); + d.resolve(); + }); + + element.css('display', ''); + + return d.promise(); + }; + + UI.Utils.uid = function(prefix) { + return (prefix || 'id') + (new Date().getTime())+"RAND"+(Math.ceil(Math.random() * 100000)); + }; + + UI.Utils.template = function(str, data) { + + var tokens = str.replace(/\n/g, '\\n').replace(/\{\{\{\s*(.+?)\s*\}\}\}/g, "{{!$1}}").split(/(\{\{\s*(.+?)\s*\}\})/g), + i=0, toc, cmd, prop, val, fn, output = [], openblocks = 0; + + while(i < tokens.length) { + + toc = tokens[i]; + + if(toc.match(/\{\{\s*(.+?)\s*\}\}/)) { + i = i + 1; + toc = tokens[i]; + cmd = toc[0]; + prop = toc.substring(toc.match(/^(\^|\#|\!|\~|\:)/) ? 1:0); + + switch(cmd) { + case '~': + output.push('for(var $i=0;$i<'+prop+'.length;$i++) { var $item = '+prop+'[$i];'); + openblocks++; + break; + case ':': + output.push('for(var $key in '+prop+') { var $val = '+prop+'[$key];'); + openblocks++; + break; + case '#': + output.push('if('+prop+') {'); + openblocks++; + break; + case '^': + output.push('if(!'+prop+') {'); + openblocks++; + break; + case '/': + output.push('}'); + openblocks--; + break; + case '!': + output.push('__ret.push('+prop+');'); + break; + default: + output.push('__ret.push(escape('+prop+'));'); + break; + } + } else { + output.push("__ret.push('"+toc.replace(/\'/g, "\\'")+"');"); + } + i = i + 1; + } + + fn = new Function('$data', [ + 'var __ret = [];', + 'try {', + 'with($data){', (!openblocks ? output.join('') : '__ret = ["Not all blocks are closed correctly."]'), '};', + '}catch(e){__ret = [e.message];}', + 'return __ret.join("").replace(/\\n\\n/g, "\\n");', + "function escape(html) { return String(html).replace(/&/g, '&').replace(/\"/g, '"').replace(//g, '>');}" + ].join("\n")); + + return data ? fn(data) : fn; + }; + + UI.Utils.focus = function(element, extra) { + + element = $(element); + + if (!element.length) { + return element; + } + + var autofocus = element.find('[autofocus]:first'), tabidx; + + if (autofocus.length) { + return autofocus.focus(); + } + + autofocus = element.find(':input'+(extra && (','+extra) || '')).first(); + + if (autofocus.length) { + return autofocus.focus(); + } + + if (!element.attr('tabindex')) { + tabidx = 1000; + element.attr('tabindex', tabidx); + } + + element[0].focus(); + + if (tabidx) { + element.attr('tabindex', ''); + } + + return element; + } + + UI.Utils.events = {}; + UI.Utils.events.click = UI.support.touch ? 'tap' : 'click'; + + // deprecated + + UI.fn = function(command, options) { + + var args = arguments, cmd = command.match(/^([a-z\-]+)(?:\.([a-z]+))?/i), component = cmd[1], method = cmd[2]; + + if (!UI[component]) { + $.error('UIkit component [' + component + '] does not exist.'); + return this; + } + + return this.each(function() { + var $this = $(this), data = $this.data(component); + if (!data) $this.data(component, (data = UI[component](this, method ? undefined : options))); + if (method) data[method].apply(data, Array.prototype.slice.call(args, 1)); + }); + }; + + $.UIkit = UI; + $.fn.uk = UI.fn; + + UI.langdirection = UI.$html.attr("dir") == "rtl" ? "right" : "left"; + + UI.components = {}; + + UI.component = function(name, def, override) { + + if (UI.components[name] && !override) { + return UI.components[name]; + } + + var fn = function(element, options) { + + var $this = this; + + this.UIkit = UI; + this.element = element ? UI.$(element) : null; + this.options = $.extend(true, {}, this.defaults, options); + this.plugins = {}; + + if (this.element) { + this.element.data(name, this); + } + + this.init(); + + (this.options.plugins.length ? this.options.plugins : Object.keys(fn.plugins)).forEach(function(plugin) { + + if (fn.plugins[plugin].init) { + fn.plugins[plugin].init($this); + $this.plugins[plugin] = true; + } + + }); + + this.trigger('init.uk.component', [name, this]); + + return this; + }; + + fn.plugins = {}; + + $.extend(true, fn.prototype, { + + defaults : {plugins: []}, + + boot: function(){}, + init: function(){}, + + on: function(a1,a2,a3){ + return UI.$(this.element || this).on(a1,a2,a3); + }, + + one: function(a1,a2,a3){ + return UI.$(this.element || this).one(a1,a2,a3); + }, + + off: function(evt){ + return UI.$(this.element || this).off(evt); + }, + + trigger: function(evt, params) { + return UI.$(this.element || this).trigger(evt, params); + }, + + find: function(selector) { + return UI.$(this.element ? this.element: []).find(selector); + }, + + proxy: function(obj, methods) { + + var $this = this; + + methods.split(' ').forEach(function(method) { + if (!$this[method]) $this[method] = function() { return obj[method].apply(obj, arguments); }; + }); + }, + + mixin: function(obj, methods) { + + var $this = this; + + methods.split(' ').forEach(function(method) { + if (!$this[method]) $this[method] = obj[method].bind($this); + }); + }, + + option: function() { + + if (arguments.length == 1) { + return this.options[arguments[0]] || undefined; + } else if (arguments.length == 2) { + this.options[arguments[0]] = arguments[1]; + } + } + + }, def); + + this.components[name] = fn; + + this[name] = function() { + + var element, options; + + if (arguments.length) { + + switch(arguments.length) { + case 1: + + if (typeof arguments[0] === 'string' || arguments[0].nodeType || arguments[0] instanceof jQuery) { + element = $(arguments[0]); + } else { + options = arguments[0]; + } + + break; + case 2: + + element = $(arguments[0]); + options = arguments[1]; + break; + } + } + + if (element && element.data(name)) { + return element.data(name); + } + + return (new UI.components[name](element, options)); + }; + + if (UI.domready) { + UI.component.boot(name); + } + + return fn; + }; + + UI.plugin = function(component, name, def) { + this.components[component].plugins[name] = def; + }; + + UI.component.boot = function(name) { + + if (UI.components[name].prototype && UI.components[name].prototype.boot && !UI.components[name].booted) { + UI.components[name].prototype.boot.apply(UI, []); + UI.components[name].booted = true; + } + }; + + UI.component.bootComponents = function() { + + for (var component in UI.components) { + UI.component.boot(component); + } + }; + + + // DOM mutation save ready helper function + + UI.domObservers = []; + UI.domready = false; + + UI.ready = function(fn) { + + UI.domObservers.push(fn); + + if (UI.domready) { + fn(document); + } + }; + + UI.on = function(a1,a2,a3){ + + if (a1 && a1.indexOf('ready.uk.dom') > -1 && UI.domready) { + a2.apply(UI.$doc); + } + + return UI.$doc.on(a1,a2,a3); + }; + + UI.one = function(a1,a2,a3){ + + if (a1 && a1.indexOf('ready.uk.dom') > -1 && UI.domready) { + a2.apply(UI.$doc); + return UI.$doc; + } + + return UI.$doc.one(a1,a2,a3); + }; + + UI.trigger = function(evt, params) { + return UI.$doc.trigger(evt, params); + }; + + UI.domObserve = function(selector, fn) { + + if(!UI.support.mutationobserver) return; + + fn = fn || function() {}; + + UI.$(selector).each(function() { + + var element = this, + $element = UI.$(element); + + if ($element.data('observer')) { + return; + } + + try { + + var observer = new UI.support.mutationobserver(UI.Utils.debounce(function(mutations) { + fn.apply(element, [$element]); + $element.trigger('changed.uk.dom'); + }, 50), {childList: true, subtree: true}); + + // pass in the target node, as well as the observer options + observer.observe(element, { childList: true, subtree: true }); + + $element.data('observer', observer); + + } catch(e) {} + }); + }; + + UI.init = function(root) { + + root = root || document; + + UI.domObservers.forEach(function(fn){ + fn(root); + }); + }; + + UI.on('domready.uk.dom', function(){ + + UI.init(); + + if (UI.domready) UI.Utils.checkDisplay(); + }); + + document.addEventListener('DOMContentLoaded', function(){ + + var domReady = function() { + + UI.$body = UI.$('body'); + + UI.trigger('beforeready.uk.dom'); + + UI.component.bootComponents(); + + // custom scroll observer + var rafToken = requestAnimationFrame((function(){ + + var memory = {dir: {x:0, y:0}, x: window.pageXOffset, y:window.pageYOffset}; + + var fn = function(){ + // reading this (window.page[X|Y]Offset) causes a full page recalc of the layout in Chrome, + // so we only want to do this once + var wpxo = window.pageXOffset; + var wpyo = window.pageYOffset; + + // Did the scroll position change since the last time we were here? + if (memory.x != wpxo || memory.y != wpyo) { + + // Set the direction of the scroll and store the new position + if (wpxo != memory.x) {memory.dir.x = wpxo > memory.x ? 1:-1; } else { memory.dir.x = 0; } + if (wpyo != memory.y) {memory.dir.y = wpyo > memory.y ? 1:-1; } else { memory.dir.y = 0; } + + memory.x = wpxo; + memory.y = wpyo; + + // Trigger the scroll event, this could probably be sent using memory.clone() but this is + // more explicit and easier to see exactly what is being sent in the event. + UI.$doc.trigger('scrolling.uk.document', [{ + dir: {x: memory.dir.x, y: memory.dir.y}, x: wpxo, y: wpyo + }]); + } + + cancelAnimationFrame(rafToken); + rafToken = requestAnimationFrame(fn); + }; + + if (UI.support.touch) { + UI.$html.on('touchmove touchend MSPointerMove MSPointerUp pointermove pointerup', fn); + } + + if (memory.x || memory.y) fn(); + + return fn; + + })()); + + // run component init functions on dom + UI.trigger('domready.uk.dom'); + + if (UI.support.touch) { + + // remove css hover rules for touch devices + // UI.Utils.removeCssRules(/\.uk-(?!navbar).*:hover/); + + // viewport unit fix for uk-height-viewport - should be fixed in iOS 8 + if (navigator.userAgent.match(/(iPad|iPhone|iPod)/g)) { + + UI.$win.on('load orientationchange resize', UI.Utils.debounce((function(){ + + var fn = function() { + $('.uk-height-viewport').css('height', window.innerHeight); + return fn; + }; + + return fn(); + + })(), 100)); + } + } + + UI.trigger('afterready.uk.dom'); + + // mark that domready is left behind + UI.domready = true; + + // auto init js components + if (UI.support.mutationobserver) { + + var initFn = UI.Utils.debounce(function(){ + requestAnimationFrame(function(){ UI.init(document.body);}); + }, 10); + + (new UI.support.mutationobserver(function(mutations) { + + var init = false; + + mutations.every(function(mutation){ + + if (mutation.type != 'childList') return true; + + for (var i = 0, node; i < mutation.addedNodes.length; ++i) { + + node = mutation.addedNodes[i]; + + if (node.outerHTML && node.outerHTML.indexOf('data-uk-') !== -1) { + return (init = true) && false; + } + } + return true; + }); + + if (init) initFn(); + + })).observe(document.body, {childList: true, subtree: true}); + } + }; + + if (document.readyState == 'complete' || document.readyState == 'interactive') { + setTimeout(domReady); + } + + return domReady; + + }()); + + // add touch identifier class + UI.$html.addClass(UI.support.touch ? 'uk-touch' : 'uk-notouch'); + + // add uk-hover class on tap to support overlays on touch devices + if (UI.support.touch) { + + var hoverset = false, + exclude, + hovercls = 'uk-hover', + selector = '.uk-overlay, .uk-overlay-hover, .uk-overlay-toggle, .uk-animation-hover, .uk-has-hover'; + + UI.$html.on('mouseenter touchstart MSPointerDown pointerdown', selector, function() { + + if (hoverset) $('.'+hovercls).removeClass(hovercls); + + hoverset = $(this).addClass(hovercls); + + }).on('mouseleave touchend MSPointerUp pointerup', function(e) { + + exclude = $(e.target).parents(selector); + + if (hoverset) { + hoverset.not(exclude).removeClass(hovercls); + } + }); + } + + return UI; +}); diff --git a/bower_components/uikit/js/core/core.min.js b/bower_components/uikit/js/core/core.min.js new file mode 100644 index 0000000..0419371 --- /dev/null +++ b/bower_components/uikit/js/core/core.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var n;if(!window.jQuery)throw new Error("UIkit 2.x requires jQuery");n=t(window.jQuery),"function"==typeof define&&define.amd&&define("uikit",function(){return n.load=function(t,e,o,i){var r,a=t.split(","),s=[],u=(i.config&&i.config.uikit&&i.config.uikit.base?i.config.uikit.base:"").replace(/\/+$/g,"");if(!u)throw new Error("Please define base path to UIkit in the requirejs config.");for(r=0;r0||window.navigator.pointerEnabled&&window.navigator.maxTouchPoints>0||!1,n.support.mutationobserver=window.MutationObserver||window.WebKitMutationObserver||null,n.Utils={},n.Utils.isFullscreen=function(){return document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.fullscreenElement||!1},n.Utils.str2json=function(t,n){try{return n?JSON.parse(t.replace(/([\$\w]+)\s*:/g,function(t,n){return'"'+n+'":'}).replace(/'([^']+)'/g,function(t,n){return'"'+n+'"'})):new Function("","var json = "+t+"; return JSON.parse(JSON.stringify(json));")()}catch(e){return!1}},n.Utils.debounce=function(t,n,e){var o;return function(){var i=this,r=arguments,a=function(){o=null,e||t.apply(i,r)},s=e&&!o;clearTimeout(o),o=setTimeout(a,n),s&&t.apply(i,r)}},n.Utils.throttle=function(t,n){var e=!1;return function(){e||(t.call(),e=!0,setTimeout(function(){e=!1},n))}},n.Utils.removeCssRules=function(t){var n,e,o,i,r,a,s,u,c,d;t&&setTimeout(function(){try{for(d=document.styleSheets,i=0,s=d.length;s>i;i++){for(o=d[i],e=[],o.cssRules=o.cssRules,n=r=0,u=o.cssRules.length;u>r;n=++r)o.cssRules[n].type===CSSRule.STYLE_RULE&&t.test(o.cssRules[n].selectorText)&&e.unshift(n);for(a=0,c=e.length;c>a;a++)o.deleteRule(e[a])}}catch(l){}},0)},n.Utils.isInView=function(e,o){var i=t(e);if(!i.is(":visible"))return!1;var r=n.$win.scrollLeft(),a=n.$win.scrollTop(),s=i.offset(),u=s.left,c=s.top;return o=t.extend({topoffset:0,leftoffset:0},o),c+i.height()>=a&&c-o.topoffset<=a+n.$win.height()&&u+i.width()>=r&&u-o.leftoffset<=r+n.$win.width()?!0:!1},n.Utils.checkDisplay=function(e,o){var i=n.$("[data-uk-margin], [data-uk-grid-match], [data-uk-grid-margin], [data-uk-check-display]",e||document);return e&&!i.length&&(i=t(e)),i.trigger("display.uk.check"),o&&("string"!=typeof o&&(o='[class*="uk-animation-"]'),i.find(o).each(function(){var t=n.$(this),e=t.attr("class"),o=e.match(/uk-animation-(.+)/);t.removeClass(o[0]).width(),t.addClass(o[0])})),i},n.Utils.options=function(e){if("string"!=t.type(e))return e;-1!=e.indexOf(":")&&"}"!=e.trim().substr(-1)&&(e="{"+e+"}");var o=e?e.indexOf("{"):-1,i={};if(-1!=o)try{i=n.Utils.str2json(e.substr(o))}catch(r){}return i},n.Utils.animate=function(e,o){var i=t.Deferred();return e=n.$(e),e.css("display","none").addClass(o).one(n.support.animation.end,function(){e.removeClass(o),i.resolve()}),e.css("display",""),i.promise()},n.Utils.uid=function(t){return(t||"id")+(new Date).getTime()+"RAND"+Math.ceil(1e5*Math.random())},n.Utils.template=function(t,n){for(var e,o,i,r,a=t.replace(/\n/g,"\\n").replace(/\{\{\{\s*(.+?)\s*\}\}\}/g,"{{!$1}}").split(/(\{\{\s*(.+?)\s*\}\})/g),s=0,u=[],c=0;s/g, '>');}"].join("\n")),n?r(n):r},n.Utils.focus=function(n,e){if(n=t(n),!n.length)return n;var o,i=n.find("[autofocus]:first");return i.length?i.focus():(i=n.find(":input"+(e&&","+e||"")).first(),i.length?i.focus():(n.attr("tabindex")||(o=1e3,n.attr("tabindex",o)),n[0].focus(),o&&n.attr("tabindex",""),n))},n.Utils.events={},n.Utils.events.click=n.support.touch?"tap":"click",n.fn=function(e,o){var i=arguments,r=e.match(/^([a-z\-]+)(?:\.([a-z]+))?/i),a=r[1],s=r[2];return n[a]?this.each(function(){var e=t(this),r=e.data(a);r||e.data(a,r=n[a](this,s?void 0:o)),s&&r[s].apply(r,Array.prototype.slice.call(i,1))}):(t.error("UIkit component ["+a+"] does not exist."),this)},t.UIkit=n,t.fn.uk=n.fn,n.langdirection="rtl"==n.$html.attr("dir")?"right":"left",n.components={},n.component=function(e,o,i){if(n.components[e]&&!i)return n.components[e];var r=function(o,i){var a=this;return this.UIkit=n,this.element=o?n.$(o):null,this.options=t.extend(!0,{},this.defaults,i),this.plugins={},this.element&&this.element.data(e,this),this.init(),(this.options.plugins.length?this.options.plugins:Object.keys(r.plugins)).forEach(function(t){r.plugins[t].init&&(r.plugins[t].init(a),a.plugins[t]=!0)}),this.trigger("init.uk.component",[e,this]),this};return r.plugins={},t.extend(!0,r.prototype,{defaults:{plugins:[]},boot:function(){},init:function(){},on:function(t,e,o){return n.$(this.element||this).on(t,e,o)},one:function(t,e,o){return n.$(this.element||this).one(t,e,o)},off:function(t){return n.$(this.element||this).off(t)},trigger:function(t,e){return n.$(this.element||this).trigger(t,e)},find:function(t){return n.$(this.element?this.element:[]).find(t)},proxy:function(t,n){var e=this;n.split(" ").forEach(function(n){e[n]||(e[n]=function(){return t[n].apply(t,arguments)})})},mixin:function(t,n){var e=this;n.split(" ").forEach(function(n){e[n]||(e[n]=t[n].bind(e))})},option:function(){return 1==arguments.length?this.options[arguments[0]]||void 0:(2==arguments.length&&(this.options[arguments[0]]=arguments[1]),void 0)}},o),this.components[e]=r,this[e]=function(){var o,i;if(arguments.length)switch(arguments.length){case 1:"string"==typeof arguments[0]||arguments[0].nodeType||arguments[0]instanceof jQuery?o=t(arguments[0]):i=arguments[0];break;case 2:o=t(arguments[0]),i=arguments[1]}return o&&o.data(e)?o.data(e):new n.components[e](o,i)},n.domready&&n.component.boot(e),r},n.plugin=function(t,n,e){this.components[t].plugins[n]=e},n.component.boot=function(t){n.components[t].prototype&&n.components[t].prototype.boot&&!n.components[t].booted&&(n.components[t].prototype.boot.apply(n,[]),n.components[t].booted=!0)},n.component.bootComponents=function(){for(var t in n.components)n.component.boot(t)},n.domObservers=[],n.domready=!1,n.ready=function(t){n.domObservers.push(t),n.domready&&t(document)},n.on=function(t,e,o){return t&&t.indexOf("ready.uk.dom")>-1&&n.domready&&e.apply(n.$doc),n.$doc.on(t,e,o)},n.one=function(t,e,o){return t&&t.indexOf("ready.uk.dom")>-1&&n.domready?(e.apply(n.$doc),n.$doc):n.$doc.one(t,e,o)},n.trigger=function(t,e){return n.$doc.trigger(t,e)},n.domObserve=function(t,e){n.support.mutationobserver&&(e=e||function(){},n.$(t).each(function(){var t=this,o=n.$(t);if(!o.data("observer"))try{var i=new n.support.mutationobserver(n.Utils.debounce(function(){e.apply(t,[o]),o.trigger("changed.uk.dom")},50),{childList:!0,subtree:!0});i.observe(t,{childList:!0,subtree:!0}),o.data("observer",i)}catch(r){}}))},n.init=function(t){t=t||document,n.domObservers.forEach(function(n){n(t)})},n.on("domready.uk.dom",function(){n.init(),n.domready&&n.Utils.checkDisplay()}),document.addEventListener("DOMContentLoaded",function(){var e=function(){n.$body=n.$("body"),n.trigger("beforeready.uk.dom"),n.component.bootComponents();var e=requestAnimationFrame(function(){var t={dir:{x:0,y:0},x:window.pageXOffset,y:window.pageYOffset},o=function(){var i=window.pageXOffset,r=window.pageYOffset;(t.x!=i||t.y!=r)&&(t.dir.x=i!=t.x?i>t.x?1:-1:0,t.dir.y=r!=t.y?r>t.y?1:-1:0,t.x=i,t.y=r,n.$doc.trigger("scrolling.uk.document",[{dir:{x:t.dir.x,y:t.dir.y},x:i,y:r}])),cancelAnimationFrame(e),e=requestAnimationFrame(o)};return n.support.touch&&n.$html.on("touchmove touchend MSPointerMove MSPointerUp pointermove pointerup",o),(t.x||t.y)&&o(),o}());if(n.trigger("domready.uk.dom"),n.support.touch&&navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&n.$win.on("load orientationchange resize",n.Utils.debounce(function(){var n=function(){return t(".uk-height-viewport").css("height",window.innerHeight),n};return n()}(),100)),n.trigger("afterready.uk.dom"),n.domready=!0,n.support.mutationobserver){var o=n.Utils.debounce(function(){requestAnimationFrame(function(){n.init(document.body)})},10);new n.support.mutationobserver(function(t){var n=!1;t.every(function(t){if("childList"!=t.type)return!0;for(var e,o=0;o -1 ? '&':'?'), 'enablejsapi=1&api=1'].join('')); + } + }, + + check: function() { + + this.element.css({ width : '', height : '' }); + + this.dimension = {w: this.element.width(), h: this.element.height()}; + + if (this.element.attr('width') && !isNaN(this.element.attr('width'))) { + this.dimension.w = this.element.attr('width'); + } + + if (this.element.attr('height') && !isNaN(this.element.attr('height'))) { + this.dimension.h = this.element.attr('height'); + } + + this.ratio = this.dimension.w / this.dimension.h; + + var w = this.parent.width(), h = this.parent.height(), width, height; + + // if element height < parent height (gap underneath) + if ((w / this.ratio) < h) { + + width = Math.ceil(h * this.ratio); + height = h; + + // element width < parent width (gap to right) + } else { + + width = w; + height = Math.ceil(w / this.ratio); + } + + this.element.css({ width : width, height : height }); + } + }); + +})(UIkit2); diff --git a/bower_components/uikit/js/core/cover.min.js b/bower_components/uikit/js/core/cover.min.js new file mode 100644 index 0000000..759a08c --- /dev/null +++ b/bower_components/uikit/js/core/cover.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){"use strict";t.component("cover",{defaults:{automute:!0},boot:function(){t.ready(function(i){t.$("[data-uk-cover]",i).each(function(){var i=t.$(this);if(!i.data("cover")){t.cover(i,t.Utils.options(i.attr("data-uk-cover")))}})})},init:function(){if(this.parent=this.element.parent(),t.$win.on("load resize orientationchange",t.Utils.debounce(function(){this.check()}.bind(this),100)),this.on("display.uk.check",function(){this.element.is(":visible")&&this.check()}.bind(this)),this.check(),this.element.is("iframe")&&this.options.automute){var i=this.element.attr("src");this.element.attr("src","").on("load",function(){this.contentWindow.postMessage('{ "event": "command", "func": "mute", "method":"setVolume", "value":0}',"*")}).attr("src",[i,i.indexOf("?")>-1?"&":"?","enablejsapi=1&api=1"].join(""))}},check:function(){this.element.css({width:"",height:""}),this.dimension={w:this.element.width(),h:this.element.height()},this.element.attr("width")&&!isNaN(this.element.attr("width"))&&(this.dimension.w=this.element.attr("width")),this.element.attr("height")&&!isNaN(this.element.attr("height"))&&(this.dimension.h=this.element.attr("height")),this.ratio=this.dimension.w/this.dimension.h;var t,i,e=this.parent.width(),n=this.parent.height();e/this.ratio boundarywidth) { + dropdown.addClass('uk-dropdown-stack'); + this.trigger('stack.uk.dropdown', [this]); + } + + dropdown.css(css).css('display', '').addClass('uk-dropdown-'+pp[0]); + }, + + checkBoundary: function(left, top, width, height, boundarywidth) { + + var axis = ""; + + if (left < 0 || ((left - UI.$win.scrollLeft())+width) > boundarywidth) { + axis += "x"; + } + + if ((top - UI.$win.scrollTop()) < 0 || ((top - UI.$win.scrollTop())+height) > window.innerHeight) { + axis += "y"; + } + + return axis; + } + }); + + + UI.component('dropdownOverlay', { + + defaults: { + justify : false, + cls : '', + duration: 200 + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-dropdown-overlay]', context).each(function() { + var ele = UI.$(this); + + if (!ele.data('dropdownOverlay')) { + UI.dropdownOverlay(ele, UI.Utils.options(ele.attr('data-uk-dropdown-overlay'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.justified = this.options.justify ? UI.$(this.options.justify) : false; + this.overlay = this.element.find('uk-dropdown-overlay'); + + if (!this.overlay.length) { + this.overlay = UI.$('
          ').appendTo(this.element); + } + + this.overlay.addClass(this.options.cls); + + this.on({ + + 'beforeshow.uk.dropdown': function(e, dropdown) { + $this.dropdown = dropdown; + + if ($this.justified && $this.justified.length) { + justify($this.overlay.css({display:'block', marginLeft:'', marginRight:''}), $this.justified, $this.justified.outerWidth()); + } + }, + + 'show.uk.dropdown': function(e, dropdown) { + + var h = $this.dropdown.dropdown.outerHeight(true); + + $this.dropdown.element.removeClass('uk-open'); + + $this.overlay.stop().css('display', 'block').animate({height: h}, $this.options.duration, function() { + + $this.dropdown.dropdown.css('visibility', ''); + $this.dropdown.element.addClass('uk-open'); + + UI.Utils.checkDisplay($this.dropdown.dropdown, true); + }); + + $this.pointerleave = false; + }, + + 'hide.uk.dropdown': function() { + $this.overlay.stop().animate({height: 0}, $this.options.duration); + }, + + 'pointerenter.uk.dropdown': function(e, dropdown) { + clearTimeout($this.remainIdle); + }, + + 'pointerleave.uk.dropdown': function(e, dropdown) { + $this.pointerleave = true; + } + }); + + + this.overlay.on({ + + 'mouseenter': function() { + if ($this.remainIdle) { + clearTimeout($this.dropdown.remainIdle); + clearTimeout($this.remainIdle); + } + }, + + 'mouseleave': function(){ + + if ($this.pointerleave && active) { + + $this.remainIdle = setTimeout(function() { + if(active) active.hide(); + }, active.options.remaintime); + } + } + }) + } + + }); + + + function justify(ele, justifyTo, boundarywidth, offset) { + + ele = UI.$(ele); + justifyTo = UI.$(justifyTo); + boundarywidth = boundarywidth || window.innerWidth; + offset = offset || ele.offset(); + + if (justifyTo.length) { + + var jwidth = justifyTo.outerWidth(); + + ele.css('min-width', jwidth); + + if (UI.langdirection == 'right') { + + var right1 = boundarywidth - (justifyTo.offset().left + jwidth), + right2 = boundarywidth - (ele.offset().left + ele.outerWidth()); + + ele.css('margin-right', right1 - right2); + + } else { + ele.css('margin-left', justifyTo.offset().left - offset.left); + } + } + } + +})(UIkit2); diff --git a/bower_components/uikit/js/core/dropdown.min.js b/bower_components/uikit/js/core/dropdown.min.js new file mode 100644 index 0000000..a233a5e --- /dev/null +++ b/bower_components/uikit/js/core/dropdown.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){"use strict";function o(o,e,i,n){if(o=t.$(o),e=t.$(e),i=i||window.innerWidth,n=n||o.offset(),e.length){var r=e.outerWidth();if(o.css("min-width",r),"right"==t.langdirection){var s=i-(e.offset().left+r),d=i-(o.offset().left+o.outerWidth());o.css("margin-right",s-d)}else o.css("margin-left",e.offset().left-n.left)}}var e,i=!1,n={x:{"bottom-left":"bottom-right","bottom-right":"bottom-left","bottom-center":"bottom-center","top-left":"top-right","top-right":"top-left","top-center":"top-center","left-top":"right-top","left-bottom":"right-bottom","left-center":"right-center","right-top":"left-top","right-bottom":"left-bottom","right-center":"left-center"},y:{"bottom-left":"top-left","bottom-right":"top-right","bottom-center":"top-center","top-left":"bottom-left","top-right":"bottom-right","top-center":"bottom-center","left-top":"left-bottom","left-bottom":"left-top","left-center":"left-center","right-top":"right-bottom","right-bottom":"right-top","right-center":"right-center"},xy:{"bottom-left":"top-right","bottom-right":"top-left","bottom-center":"top-center","top-left":"bottom-right","top-right":"bottom-left","top-center":"bottom-center","left-top":"right-bottom","left-bottom":"right-top","left-center":"right-center","right-top":"left-bottom","right-bottom":"left-top","right-center":"left-center"}};t.component("dropdown",{defaults:{mode:"hover",pos:"bottom-left",offset:0,remaintime:800,justify:!1,boundary:t.$win,delay:0,dropdownSelector:".uk-dropdown,.uk-dropdown-blank",hoverDelayIdle:250,preventflip:!1},remainIdle:!1,boot:function(){var o=t.support.touch?"click":"mouseenter";t.$html.on(o+".dropdown.uikit focus pointerdown","[data-uk-dropdown]",function(e){var i=t.$(this);if(!i.data("dropdown")){var n=t.dropdown(i,t.Utils.options(i.attr("data-uk-dropdown")));("click"==e.type||"mouseenter"==e.type&&"hover"==n.options.mode)&&n.element.trigger(o),n.dropdown.length&&e.preventDefault()}})},init:function(){var o=this;this.dropdown=this.find(this.options.dropdownSelector),this.offsetParent=this.dropdown.parents().filter(function(){return-1!==t.$.inArray(t.$(this).css("position"),["relative","fixed","absolute"])}).slice(0,1),this.offsetParent.length||(this.offsetParent=this.element),this.centered=this.dropdown.hasClass("uk-dropdown-center"),this.justified=this.options.justify?t.$(this.options.justify):!1,this.boundary=t.$(this.options.boundary),this.boundary.length||(this.boundary=t.$win),this.dropdown.hasClass("uk-dropdown-up")&&(this.options.pos="top-left"),this.dropdown.hasClass("uk-dropdown-flip")&&(this.options.pos=this.options.pos.replace("left","right")),this.dropdown.hasClass("uk-dropdown-center")&&(this.options.pos=this.options.pos.replace(/(left|right)/,"center")),this.element.attr("aria-haspopup","true"),this.element.attr("aria-expanded",this.element.hasClass("uk-open")),this.dropdown.attr("aria-hidden","true"),"click"==this.options.mode||t.support.touch?this.on("click.uk.dropdown",function(e){var i=t.$(e.target);i.parents(o.options.dropdownSelector).length||((i.is("a[href='#']")||i.parent().is("a[href='#']")||o.dropdown.length&&!o.dropdown.is(":visible"))&&e.preventDefault(),i.blur()),o.element.hasClass("uk-open")?(!o.dropdown.find(e.target).length||i.is(".uk-dropdown-close")||i.parents(".uk-dropdown-close").length)&&o.hide():o.show()}):this.on("mouseenter",function(){o.trigger("pointerenter.uk.dropdown",[o]),o.remainIdle&&clearTimeout(o.remainIdle),e&&clearTimeout(e),i&&i==o||(e=i&&i!=o?setTimeout(function(){e=setTimeout(o.show.bind(o),o.options.delay)},o.options.hoverDelayIdle):setTimeout(o.show.bind(o),o.options.delay))}).on("mouseleave",function(){e&&clearTimeout(e),o.remainIdle=setTimeout(function(){i&&i==o&&o.hide()},o.options.remaintime),o.trigger("pointerleave.uk.dropdown",[o])}).on("click",function(e){var n=t.$(e.target);return o.remainIdle&&clearTimeout(o.remainIdle),i&&i==o?((!o.dropdown.find(e.target).length||n.is(".uk-dropdown-close")||n.parents(".uk-dropdown-close").length)&&o.hide(),void 0):((n.is("a[href='#']")||n.parent().is("a[href='#']"))&&e.preventDefault(),o.show(),void 0)})},show:function(){t.$html.off("click.outer.dropdown"),i&&i!=this&&i.hide(!0),e&&clearTimeout(e),this.trigger("beforeshow.uk.dropdown",[this]),this.checkDimensions(),this.element.addClass("uk-open"),this.element.attr("aria-expanded","true"),this.dropdown.attr("aria-hidden","false"),this.trigger("show.uk.dropdown",[this]),t.Utils.checkDisplay(this.dropdown,!0),t.Utils.focus(this.dropdown),i=this,this.registerOuterClick()},hide:function(t){this.trigger("beforehide.uk.dropdown",[this,t]),this.element.removeClass("uk-open"),this.remainIdle&&clearTimeout(this.remainIdle),this.remainIdle=!1,this.element.attr("aria-expanded","false"),this.dropdown.attr("aria-hidden","true"),this.trigger("hide.uk.dropdown",[this,t]),i==this&&(i=!1)},registerOuterClick:function(){var o=this;t.$html.off("click.outer.dropdown"),setTimeout(function(){t.$html.on("click.outer.dropdown",function(n){e&&clearTimeout(e);t.$(n.target);i!=o||o.element.find(n.target).length||(o.hide(!0),t.$html.off("click.outer.dropdown"))})},10)},checkDimensions:function(){if(this.dropdown.length){this.dropdown.removeClass("uk-dropdown-top uk-dropdown-bottom uk-dropdown-left uk-dropdown-right uk-dropdown-stack uk-dropdown-autoflip").css({topLeft:"",left:"",marginLeft:"",marginRight:""}),this.justified&&this.justified.length&&this.dropdown.css("min-width","");var e,i=t.$.extend({},this.offsetParent.offset(),{width:this.offsetParent[0].offsetWidth,height:this.offsetParent[0].offsetHeight}),r=this.options.offset,s=this.dropdown,d=(s.show().offset()||{left:0,top:0},s.outerWidth()),h=s.outerHeight(),p=this.boundary.width(),l=(this.boundary[0]!==window&&this.boundary.offset()?this.boundary.offset():{top:0,left:0},this.options.pos),a={"bottom-left":{top:0+i.height+r,left:0},"bottom-right":{top:0+i.height+r,left:0+i.width-d},"bottom-center":{top:0+i.height+r,left:0+i.width/2-d/2},"top-left":{top:0-h-r,left:0},"top-right":{top:0-h-r,left:0+i.width-d},"top-center":{top:0-h-r,left:0+i.width/2-d/2},"left-top":{top:0,left:0-d-r},"left-bottom":{top:0+i.height-h,left:0-d-r},"left-center":{top:0+i.height/2-h/2,left:0-d-r},"right-top":{top:0,left:0+i.width+r},"right-bottom":{top:0+i.height-h,left:0+i.width+r},"right-center":{top:0+i.height/2-h/2,left:0+i.width+r}},f={};if(e=l.split("-"),f=a[l]?a[l]:a["bottom-left"],this.justified&&this.justified.length)o(s.css({left:0}),this.justified,p);else if(this.options.preventflip!==!0){var u;switch(this.checkBoundary(i.left+f.left,i.top+f.top,d,h,p)){case"x":"x"!==this.options.preventflip&&(u=n.x[l]||"right-top");break;case"y":"y"!==this.options.preventflip&&(u=n.y[l]||"top-left");break;case"xy":this.options.preventflip||(u=n.xy[l]||"right-bottom")}u&&(e=u.split("-"),f=a[u]?a[u]:a["bottom-left"],s.addClass("uk-dropdown-autoflip"),this.checkBoundary(i.left+f.left,i.top+f.top,d,h,p)&&(e=l.split("-"),f=a[l]?a[l]:a["bottom-left"]))}d>p&&(s.addClass("uk-dropdown-stack"),this.trigger("stack.uk.dropdown",[this])),s.css(f).css("display","").addClass("uk-dropdown-"+e[0])}},checkBoundary:function(o,e,i,n,r){var s="";return(0>o||o-t.$win.scrollLeft()+i>r)&&(s+="x"),(e-t.$win.scrollTop()<0||e-t.$win.scrollTop()+n>window.innerHeight)&&(s+="y"),s}}),t.component("dropdownOverlay",{defaults:{justify:!1,cls:"",duration:200},boot:function(){t.ready(function(o){t.$("[data-uk-dropdown-overlay]",o).each(function(){var o=t.$(this);o.data("dropdownOverlay")||t.dropdownOverlay(o,t.Utils.options(o.attr("data-uk-dropdown-overlay")))})})},init:function(){var e=this;this.justified=this.options.justify?t.$(this.options.justify):!1,this.overlay=this.element.find("uk-dropdown-overlay"),this.overlay.length||(this.overlay=t.$('
          ').appendTo(this.element)),this.overlay.addClass(this.options.cls),this.on({"beforeshow.uk.dropdown":function(t,i){e.dropdown=i,e.justified&&e.justified.length&&o(e.overlay.css({display:"block",marginLeft:"",marginRight:""}),e.justified,e.justified.outerWidth())},"show.uk.dropdown":function(){var o=e.dropdown.dropdown.outerHeight(!0);e.dropdown.element.removeClass("uk-open"),e.overlay.stop().css("display","block").animate({height:o},e.options.duration,function(){e.dropdown.dropdown.css("visibility",""),e.dropdown.element.addClass("uk-open"),t.Utils.checkDisplay(e.dropdown.dropdown,!0)}),e.pointerleave=!1},"hide.uk.dropdown":function(){e.overlay.stop().animate({height:0},e.options.duration)},"pointerenter.uk.dropdown":function(){clearTimeout(e.remainIdle)},"pointerleave.uk.dropdown":function(){e.pointerleave=!0}}),this.overlay.on({mouseenter:function(){e.remainIdle&&(clearTimeout(e.dropdown.remainIdle),clearTimeout(e.remainIdle))},mouseleave:function(){e.pointerleave&&i&&(e.remainIdle=setTimeout(function(){i&&i.hide()},i.options.remaintime))}})}})}(UIkit2); \ No newline at end of file diff --git a/bower_components/uikit/js/core/grid.js b/bower_components/uikit/js/core/grid.js new file mode 100644 index 0000000..c6b55db --- /dev/null +++ b/bower_components/uikit/js/core/grid.js @@ -0,0 +1,117 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(UI) { + + "use strict"; + + var grids = []; + + UI.component('gridMatchHeight', { + + defaults: { + target : false, + row : true, + ignorestacked : false, + observe : false + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-grid-match]', context).each(function() { + var grid = UI.$(this), obj; + + if (!grid.data('gridMatchHeight')) { + obj = UI.gridMatchHeight(grid, UI.Utils.options(grid.attr('data-uk-grid-match'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.columns = this.element.children(); + this.elements = this.options.target ? this.find(this.options.target) : this.columns; + + if (!this.columns.length) return; + + UI.$win.on('load resize orientationchange', (function() { + + var fn = function() { + if ($this.element.is(':visible')) $this.match(); + }; + + UI.$(function() { fn(); }); + + return UI.Utils.debounce(fn, 50); + })()); + + if (this.options.observe) { + + UI.domObserve(this.element, function(e) { + if ($this.element.is(':visible')) $this.match(); + }); + } + + this.on('display.uk.check', function(e) { + if(this.element.is(':visible')) this.match(); + }.bind(this)); + + grids.push(this); + }, + + match: function() { + + var firstvisible = this.columns.filter(':visible:first'); + + if (!firstvisible.length) return; + + var stacked = Math.ceil(100 * parseFloat(firstvisible.css('width')) / parseFloat(firstvisible.parent().css('width'))) >= 100; + + if (stacked && !this.options.ignorestacked) { + this.revert(); + } else { + UI.Utils.matchHeights(this.elements, this.options); + } + + return this; + }, + + revert: function() { + this.elements.css('min-height', ''); + return this; + } + }); + + UI.component('gridMargin', { + + defaults: { + cls : 'uk-grid-margin', + rowfirst : 'uk-row-first' + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-grid-margin]', context).each(function() { + var grid = UI.$(this), obj; + + if (!grid.data('gridMargin')) { + obj = UI.gridMargin(grid, UI.Utils.options(grid.attr('data-uk-grid-margin'))); + } + }); + }); + }, + + init: function() { + + var stackMargin = UI.stackMargin(this.element, this.options); + } + }); + +})(UIkit2); diff --git a/bower_components/uikit/js/core/grid.min.js b/bower_components/uikit/js/core/grid.min.js new file mode 100644 index 0000000..dde7115 --- /dev/null +++ b/bower_components/uikit/js/core/grid.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){"use strict";var i=[];t.component("gridMatchHeight",{defaults:{target:!1,row:!0,ignorestacked:!1,observe:!1},boot:function(){t.ready(function(i){t.$("[data-uk-grid-match]",i).each(function(){var i,n=t.$(this);n.data("gridMatchHeight")||(i=t.gridMatchHeight(n,t.Utils.options(n.attr("data-uk-grid-match"))))})})},init:function(){var n=this;this.columns=this.element.children(),this.elements=this.options.target?this.find(this.options.target):this.columns,this.columns.length&&(t.$win.on("load resize orientationchange",function(){var i=function(){n.element.is(":visible")&&n.match()};return t.$(function(){i()}),t.Utils.debounce(i,50)}()),this.options.observe&&t.domObserve(this.element,function(){n.element.is(":visible")&&n.match()}),this.on("display.uk.check",function(){this.element.is(":visible")&&this.match()}.bind(this)),i.push(this))},match:function(){var i=this.columns.filter(":visible:first");if(i.length){var n=Math.ceil(100*parseFloat(i.css("width"))/parseFloat(i.parent().css("width")))>=100;return n&&!this.options.ignorestacked?this.revert():t.Utils.matchHeights(this.elements,this.options),this}},revert:function(){return this.elements.css("min-height",""),this}}),t.component("gridMargin",{defaults:{cls:"uk-grid-margin",rowfirst:"uk-row-first"},boot:function(){t.ready(function(i){t.$("[data-uk-grid-margin]",i).each(function(){var i,n=t.$(this);n.data("gridMargin")||(i=t.gridMargin(n,t.Utils.options(n.attr("data-uk-grid-margin"))))})})},init:function(){t.stackMargin(this.element,this.options)}})}(UIkit2); \ No newline at end of file diff --git a/bower_components/uikit/js/core/modal.js b/bower_components/uikit/js/core/modal.js new file mode 100644 index 0000000..bc48532 --- /dev/null +++ b/bower_components/uikit/js/core/modal.js @@ -0,0 +1,391 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(UI) { + + "use strict"; + + var active = false, activeCount = 0, $html = UI.$html, body; + + UI.$win.on('resize orientationchange', UI.Utils.debounce(function(){ + UI.$('.uk-modal.uk-open').each(function(){ + return UI.$(this).data('modal') && UI.$(this).data('modal').resize(); + }); + }, 150)); + + UI.component('modal', { + + defaults: { + keyboard: true, + bgclose: true, + minScrollHeight: 150, + center: false, + modal: true + }, + + scrollable: false, + transition: false, + hasTransitioned: true, + + init: function() { + + if (!body) body = UI.$('body'); + + if (!this.element.length) return; + + var $this = this; + + this.paddingdir = 'padding-' + (UI.langdirection == 'left' ? 'right':'left'); + this.dialog = this.find('.uk-modal-dialog'); + + this.active = false; + + // Update ARIA + this.element.attr('aria-hidden', this.element.hasClass('uk-open')); + + this.on('click', '.uk-modal-close', function(e) { + + e.preventDefault(); + + var modal = UI.$(e.target).closest('.uk-modal'); + if (modal[0] === $this.element[0]) $this.hide(); + + }).on('click', function(e) { + + var target = UI.$(e.target); + + if (target[0] == $this.element[0] && $this.options.bgclose) { + $this.hide(); + } + }); + + UI.domObserve(this.element, function(e) { $this.resize(); }); + }, + + toggle: function() { + return this[this.isActive() ? 'hide' : 'show'](); + }, + + show: function() { + + if (!this.element.length) return; + + var $this = this; + + if (this.isActive()) return; + + if (this.options.modal && active) { + active.hide(true); + } + + this.element.removeClass('uk-open').show(); + this.resize(true); + + if (this.options.modal) { + active = this; + } + + this.active = true; + + activeCount++; + + if (UI.support.transition) { + this.hasTransitioned = false; + this.element.one(UI.support.transition.end, function(){ + $this.hasTransitioned = true; + UI.Utils.focus($this.dialog, 'a[href]'); + }).addClass('uk-open'); + } else { + this.element.addClass('uk-open'); + UI.Utils.focus(this.dialog, 'a[href]'); + } + + $html.addClass('uk-modal-page').height(); // force browser engine redraw + + // Update ARIA + this.element.attr('aria-hidden', 'false'); + + this.element.trigger('show.uk.modal'); + + UI.Utils.checkDisplay(this.dialog, true); + + return this; + }, + + hide: function(force) { + + if (!force && UI.support.transition && this.hasTransitioned) { + + var $this = this; + + this.one(UI.support.transition.end, function() { + $this._hide(); + }).removeClass('uk-open'); + + } else { + + this._hide(); + } + + return this; + }, + + resize: function(force) { + + if (!this.isActive() && !force) return; + + var bodywidth = body.width(); + + this.scrollbarwidth = window.innerWidth - bodywidth; + + body.css(this.paddingdir, this.scrollbarwidth); + + this.element.css('overflow-y', this.scrollbarwidth ? 'scroll' : 'auto'); + + if (!this.updateScrollable() && this.options.center) { + + var dh = this.dialog.outerHeight(), + pad = parseInt(this.dialog.css('margin-top'), 10) + parseInt(this.dialog.css('margin-bottom'), 10); + + if ((dh + pad) < window.innerHeight) { + this.dialog.css({top: (window.innerHeight/2 - dh/2) - pad }); + } else { + this.dialog.css({top: ''}); + } + } + }, + + updateScrollable: function() { + + // has scrollable? + var scrollable = this.dialog.find('.uk-overflow-container:visible:first'); + + if (scrollable.length) { + + scrollable.css('height', 0); + + var offset = Math.abs(parseInt(this.dialog.css('margin-top'), 10)), + dh = this.dialog.outerHeight(), + wh = window.innerHeight, + h = wh - 2*(offset < 20 ? 20:offset) - dh; + + scrollable.css({ + maxHeight: (h < this.options.minScrollHeight ? '':h), + height:'' + }); + + return true; + } + + return false; + }, + + _hide: function() { + + this.active = false; + if (activeCount > 0) activeCount--; + else activeCount = 0; + + this.element.hide().removeClass('uk-open'); + + // Update ARIA + this.element.attr('aria-hidden', 'true'); + + if (!activeCount) { + $html.removeClass('uk-modal-page'); + body.css(this.paddingdir, ""); + } + + if (active===this) active = false; + + this.trigger('hide.uk.modal'); + }, + + isActive: function() { + return this.element.hasClass('uk-open'); + } + + }); + + UI.component('modalTrigger', { + + boot: function() { + + // init code + UI.$html.on('click.modal.uikit', '[data-uk-modal]', function(e) { + + var ele = UI.$(this); + + if (ele.is('a')) { + e.preventDefault(); + } + + if (!ele.data('modalTrigger')) { + var modal = UI.modalTrigger(ele, UI.Utils.options(ele.attr('data-uk-modal'))); + modal.show(); + } + + }); + + // close modal on esc button + UI.$html.on('keydown.modal.uikit', function (e) { + + if (active && e.keyCode === 27 && active.options.keyboard) { // ESC + e.preventDefault(); + active.hide(); + } + }); + }, + + init: function() { + + var $this = this; + + this.options = UI.$.extend({ + target: $this.element.is('a') ? $this.element.attr('href') : false + }, this.options); + + this.modal = UI.modal(this.options.target, this.options); + + this.on("click", function(e) { + e.preventDefault(); + $this.show(); + }); + + //methods + this.proxy(this.modal, 'show hide isActive'); + } + }); + + UI.modal.dialog = function(content, options) { + + var modal = UI.modal(UI.$(UI.modal.dialog.template).appendTo('body'), options); + + modal.on('hide.uk.modal', function(){ + if (modal.persist) { + modal.persist.appendTo(modal.persist.data('modalPersistParent')); + modal.persist = false; + } + modal.element.remove(); + }); + + setContent(content, modal); + + return modal; + }; + + UI.modal.dialog.template = '
          '; + + UI.modal.alert = function(content, options) { + + options = UI.$.extend(true, {bgclose:false, keyboard:false, modal:false, labels:UI.modal.labels}, options); + + var modal = UI.modal.dialog(([ + '
          '+String(content)+'
          ', + '' + ]).join(""), options); + + modal.on('show.uk.modal', function(){ + setTimeout(function(){ + modal.element.find('button:first').focus(); + }, 50); + }); + + return modal.show(); + }; + + UI.modal.confirm = function(content, onconfirm, oncancel) { + + var options = arguments.length > 1 && arguments[arguments.length-1] ? arguments[arguments.length-1] : {}; + + onconfirm = UI.$.isFunction(onconfirm) ? onconfirm : function(){}; + oncancel = UI.$.isFunction(oncancel) ? oncancel : function(){}; + options = UI.$.extend(true, {bgclose:false, keyboard:false, modal:false, labels:UI.modal.labels}, UI.$.isFunction(options) ? {}:options); + + var modal = UI.modal.dialog(([ + '
          '+String(content)+'
          ', + '' + ]).join(""), options); + + modal.element.find(".js-modal-confirm, .js-modal-confirm-cancel").on("click", function(){ + UI.$(this).is('.js-modal-confirm') ? onconfirm() : oncancel(); + modal.hide(); + }); + + modal.on('show.uk.modal', function(){ + setTimeout(function(){ + modal.element.find('.js-modal-confirm').focus(); + }, 50); + }); + + return modal.show(); + }; + + UI.modal.prompt = function(text, value, onsubmit, options) { + + onsubmit = UI.$.isFunction(onsubmit) ? onsubmit : function(value){}; + options = UI.$.extend(true, {bgclose:false, keyboard:false, modal:false, labels:UI.modal.labels}, options); + + var modal = UI.modal.dialog(([ + text ? '
          '+String(text)+'
          ':'', + '

          ', + '' + ]).join(""), options), + + input = modal.element.find("input[type='text']").val(value || '').on('keyup', function(e){ + if (e.keyCode == 13) { + modal.element.find('.js-modal-ok').trigger('click'); + } + }); + + modal.element.find('.js-modal-ok').on('click', function(){ + if (onsubmit(input.val())!==false){ + modal.hide(); + } + }); + + return modal.show(); + }; + + UI.modal.blockUI = function(content, options) { + + var modal = UI.modal.dialog(([ + '
          '+String(content || '
          ...
          ')+'
          ' + ]).join(""), UI.$.extend({bgclose:false, keyboard:false, modal:false}, options)); + + modal.content = modal.element.find('.uk-modal-content:first'); + + return modal.show(); + }; + + UI.modal.labels = { + Ok: 'Ok', + Cancel: 'Cancel' + }; + + // helper functions + function setContent(content, modal){ + + if(!modal) return; + + if (typeof content === 'object') { + + // convert DOM object to a jQuery object + content = content instanceof jQuery ? content : UI.$(content); + + if(content.parent().length) { + modal.persist = content; + modal.persist.data('modalPersistParent', content.parent()); + } + }else if (typeof content === 'string' || typeof content === 'number') { + // just insert the data as innerHTML + content = UI.$('
          ').html(content); + }else { + // unsupported data type! + content = UI.$('
          ').html('UIkit2.modal Error: Unsupported data type: ' + typeof content); + } + + content.appendTo(modal.element.find('.uk-modal-dialog')); + + return modal; + } + +})(UIkit2); diff --git a/bower_components/uikit/js/core/modal.min.js b/bower_components/uikit/js/core/modal.min.js new file mode 100644 index 0000000..ce9e973 --- /dev/null +++ b/bower_components/uikit/js/core/modal.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){"use strict";function i(i,e){return e?("object"==typeof i?(i=i instanceof jQuery?i:t.$(i),i.parent().length&&(e.persist=i,e.persist.data("modalPersistParent",i.parent()))):i="string"==typeof i||"number"==typeof i?t.$("
          ").html(i):t.$("
          ").html("UIkit2.modal Error: Unsupported data type: "+typeof i),i.appendTo(e.element.find(".uk-modal-dialog")),e):void 0}var e,o=!1,n=0,s=t.$html;t.$win.on("resize orientationchange",t.Utils.debounce(function(){t.$(".uk-modal.uk-open").each(function(){return t.$(this).data("modal")&&t.$(this).data("modal").resize()})},150)),t.component("modal",{defaults:{keyboard:!0,bgclose:!0,minScrollHeight:150,center:!1,modal:!0},scrollable:!1,transition:!1,hasTransitioned:!0,init:function(){if(e||(e=t.$("body")),this.element.length){var i=this;this.paddingdir="padding-"+("left"==t.langdirection?"right":"left"),this.dialog=this.find(".uk-modal-dialog"),this.active=!1,this.element.attr("aria-hidden",this.element.hasClass("uk-open")),this.on("click",".uk-modal-close",function(e){e.preventDefault();var o=t.$(e.target).closest(".uk-modal");o[0]===i.element[0]&&i.hide()}).on("click",function(e){var o=t.$(e.target);o[0]==i.element[0]&&i.options.bgclose&&i.hide()}),t.domObserve(this.element,function(){i.resize()})}},toggle:function(){return this[this.isActive()?"hide":"show"]()},show:function(){if(this.element.length){var i=this;if(!this.isActive())return this.options.modal&&o&&o.hide(!0),this.element.removeClass("uk-open").show(),this.resize(!0),this.options.modal&&(o=this),this.active=!0,n++,t.support.transition?(this.hasTransitioned=!1,this.element.one(t.support.transition.end,function(){i.hasTransitioned=!0,t.Utils.focus(i.dialog,"a[href]")}).addClass("uk-open")):(this.element.addClass("uk-open"),t.Utils.focus(this.dialog,"a[href]")),s.addClass("uk-modal-page").height(),this.element.attr("aria-hidden","false"),this.element.trigger("show.uk.modal"),t.Utils.checkDisplay(this.dialog,!0),this}},hide:function(i){if(!i&&t.support.transition&&this.hasTransitioned){var e=this;this.one(t.support.transition.end,function(){e._hide()}).removeClass("uk-open")}else this._hide();return this},resize:function(t){if(this.isActive()||t){var i=e.width();if(this.scrollbarwidth=window.innerWidth-i,e.css(this.paddingdir,this.scrollbarwidth),this.element.css("overflow-y",this.scrollbarwidth?"scroll":"auto"),!this.updateScrollable()&&this.options.center){var o=this.dialog.outerHeight(),n=parseInt(this.dialog.css("margin-top"),10)+parseInt(this.dialog.css("margin-bottom"),10);o+ni?20:i)-e;return t.css({maxHeight:n0?n--:n=0,this.element.hide().removeClass("uk-open"),this.element.attr("aria-hidden","true"),n||(s.removeClass("uk-modal-page"),e.css(this.paddingdir,"")),o===this&&(o=!1),this.trigger("hide.uk.modal")},isActive:function(){return this.element.hasClass("uk-open")}}),t.component("modalTrigger",{boot:function(){t.$html.on("click.modal.uikit","[data-uk-modal]",function(i){var e=t.$(this);if(e.is("a")&&i.preventDefault(),!e.data("modalTrigger")){var o=t.modalTrigger(e,t.Utils.options(e.attr("data-uk-modal")));o.show()}}),t.$html.on("keydown.modal.uikit",function(t){o&&27===t.keyCode&&o.options.keyboard&&(t.preventDefault(),o.hide())})},init:function(){var i=this;this.options=t.$.extend({target:i.element.is("a")?i.element.attr("href"):!1},this.options),this.modal=t.modal(this.options.target,this.options),this.on("click",function(t){t.preventDefault(),i.show()}),this.proxy(this.modal,"show hide isActive")}}),t.modal.dialog=function(e,o){var n=t.modal(t.$(t.modal.dialog.template).appendTo("body"),o);return n.on("hide.uk.modal",function(){n.persist&&(n.persist.appendTo(n.persist.data("modalPersistParent")),n.persist=!1),n.element.remove()}),i(e,n),n},t.modal.dialog.template='
          ',t.modal.alert=function(i,e){e=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},e);var o=t.modal.dialog(['
          '+String(i)+"
          ",'"].join(""),e);return o.on("show.uk.modal",function(){setTimeout(function(){o.element.find("button:first").focus()},50)}),o.show()},t.modal.confirm=function(i,e,o){var n=arguments.length>1&&arguments[arguments.length-1]?arguments[arguments.length-1]:{};e=t.$.isFunction(e)?e:function(){},o=t.$.isFunction(o)?o:function(){},n=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},t.$.isFunction(n)?{}:n);var s=t.modal.dialog(['
          '+String(i)+"
          ",'"].join(""),n);return s.element.find(".js-modal-confirm, .js-modal-confirm-cancel").on("click",function(){t.$(this).is(".js-modal-confirm")?e():o(),s.hide()}),s.on("show.uk.modal",function(){setTimeout(function(){s.element.find(".js-modal-confirm").focus()},50)}),s.show()},t.modal.prompt=function(i,e,o,n){o=t.$.isFunction(o)?o:function(){},n=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},n);var s=t.modal.dialog([i?'
          '+String(i)+"
          ":"",'

          ','"].join(""),n),a=s.element.find("input[type='text']").val(e||"").on("keyup",function(t){13==t.keyCode&&s.element.find(".js-modal-ok").trigger("click")});return s.element.find(".js-modal-ok").on("click",function(){o(a.val())!==!1&&s.hide()}),s.show()},t.modal.blockUI=function(i,e){var o=t.modal.dialog(['
          '+String(i||'
          ...
          ')+"
          "].join(""),t.$.extend({bgclose:!1,keyboard:!1,modal:!1},e));return o.content=o.element.find(".uk-modal-content:first"),o.show()},t.modal.labels={Ok:"Ok",Cancel:"Cancel"}}(UIkit2); \ No newline at end of file diff --git a/bower_components/uikit/js/core/nav.js b/bower_components/uikit/js/core/nav.js new file mode 100644 index 0000000..423e601 --- /dev/null +++ b/bower_components/uikit/js/core/nav.js @@ -0,0 +1,153 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(UI) { + + "use strict"; + + UI.component('nav', { + + defaults: { + toggle: '>li.uk-parent > a[href="#"]', + lists: '>li.uk-parent > ul', + multiple: false + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-nav]', context).each(function() { + var nav = UI.$(this); + + if (!nav.data('nav')) { + var obj = UI.nav(nav, UI.Utils.options(nav.attr('data-uk-nav'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.on('click.uk.nav', this.options.toggle, function(e) { + e.preventDefault(); + var ele = UI.$(this); + $this.open(ele.parent()[0] == $this.element[0] ? ele : ele.parent("li")); + }); + + this.update(); + + UI.domObserve(this.element, function(e) { + if ($this.element.find($this.options.lists).not('[role]').length) { + $this.update(); + } + }); + }, + + update: function() { + + var $this = this; + + this.find(this.options.lists).each(function() { + + var $ele = UI.$(this).attr('role', 'menu'), + parent = $ele.closest('li'), + active = parent.hasClass("uk-active"); + + if (!parent.data('list-container')) { + $ele.wrap('
          '); + parent.data('list-container', $ele.parent()[active ? 'removeClass':'addClass']('uk-hidden')); + } + + // Init ARIA + parent.attr('aria-expanded', parent.hasClass("uk-open")); + + if (active) $this.open(parent, true); + }); + }, + + open: function(li, noanimation) { + + var $this = this, element = this.element, $li = UI.$(li), $container = $li.data('list-container'); + + if (!this.options.multiple) { + + element.children('.uk-open').not(li).each(function() { + + var ele = UI.$(this); + + if (ele.data('list-container')) { + ele.data('list-container').stop().animate({height: 0}, function() { + UI.$(this).parent().removeClass('uk-open').end().addClass('uk-hidden'); + }); + } + }); + } + + $li.toggleClass('uk-open'); + + // Update ARIA + $li.attr('aria-expanded', $li.hasClass('uk-open')); + + if ($container) { + + if ($li.hasClass('uk-open')) { + $container.removeClass('uk-hidden'); + } + + if (noanimation) { + + $container.stop().height($li.hasClass('uk-open') ? 'auto' : 0); + + if (!$li.hasClass('uk-open')) { + $container.addClass('uk-hidden'); + } + + this.trigger('display.uk.check'); + + } else { + + $container.stop().animate({ + height: ($li.hasClass('uk-open') ? getHeight($container.find('ul:first')) : 0) + }, function() { + + if (!$li.hasClass('uk-open')) { + $container.addClass('uk-hidden'); + } else { + $container.css('height', ''); + } + + $this.trigger('display.uk.check'); + }); + } + } + } + }); + + + // helper + + function getHeight(ele) { + + var $ele = UI.$(ele), height = 'auto'; + + if ($ele.is(':visible')) { + height = $ele.outerHeight(); + } else { + + var tmp = { + position: $ele.css('position'), + visibility: $ele.css('visibility'), + display: $ele.css('display') + }; + + height = $ele.css({position: 'absolute', visibility: 'hidden', display: 'block'}).outerHeight(); + + $ele.css(tmp); // reset element + } + + return height; + } + +})(UIkit2); diff --git a/bower_components/uikit/js/core/nav.min.js b/bower_components/uikit/js/core/nav.min.js new file mode 100644 index 0000000..88e6fec --- /dev/null +++ b/bower_components/uikit/js/core/nav.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){"use strict";function i(i){var s=t.$(i),e="auto";if(s.is(":visible"))e=s.outerHeight();else{var a={position:s.css("position"),visibility:s.css("visibility"),display:s.css("display")};e=s.css({position:"absolute",visibility:"hidden",display:"block"}).outerHeight(),s.css(a)}return e}t.component("nav",{defaults:{toggle:'>li.uk-parent > a[href="#"]',lists:">li.uk-parent > ul",multiple:!1},boot:function(){t.ready(function(i){t.$("[data-uk-nav]",i).each(function(){var i=t.$(this);if(!i.data("nav")){t.nav(i,t.Utils.options(i.attr("data-uk-nav")))}})})},init:function(){var i=this;this.on("click.uk.nav",this.options.toggle,function(s){s.preventDefault();var e=t.$(this);i.open(e.parent()[0]==i.element[0]?e:e.parent("li"))}),this.update(),t.domObserve(this.element,function(){i.element.find(i.options.lists).not("[role]").length&&i.update()})},update:function(){var i=this;this.find(this.options.lists).each(function(){var s=t.$(this).attr("role","menu"),e=s.closest("li"),a=e.hasClass("uk-active");e.data("list-container")||(s.wrap('
          '),e.data("list-container",s.parent()[a?"removeClass":"addClass"]("uk-hidden"))),e.attr("aria-expanded",e.hasClass("uk-open")),a&&i.open(e,!0)})},open:function(s,e){var a=this,n=this.element,o=t.$(s),l=o.data("list-container");this.options.multiple||n.children(".uk-open").not(s).each(function(){var i=t.$(this);i.data("list-container")&&i.data("list-container").stop().animate({height:0},function(){t.$(this).parent().removeClass("uk-open").end().addClass("uk-hidden")})}),o.toggleClass("uk-open"),o.attr("aria-expanded",o.hasClass("uk-open")),l&&(o.hasClass("uk-open")&&l.removeClass("uk-hidden"),e?(l.stop().height(o.hasClass("uk-open")?"auto":0),o.hasClass("uk-open")||l.addClass("uk-hidden"),this.trigger("display.uk.check")):l.stop().animate({height:o.hasClass("uk-open")?i(l.find("ul:first")):0},function(){o.hasClass("uk-open")?l.css("height",""):l.addClass("uk-hidden"),a.trigger("display.uk.check")}))}})}(UIkit2); \ No newline at end of file diff --git a/bower_components/uikit/js/core/offcanvas.js b/bower_components/uikit/js/core/offcanvas.js new file mode 100644 index 0000000..924d032 --- /dev/null +++ b/bower_components/uikit/js/core/offcanvas.js @@ -0,0 +1,199 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(UI) { + + "use strict"; + + var scrollpos = {x: window.scrollX, y: window.scrollY}, + $win = UI.$win, + $doc = UI.$doc, + $html = UI.$html, + Offcanvas = { + + show: function(element, options) { + + element = UI.$(element); + + if (!element.length) return; + + options = UI.$.extend({mode: 'push'}, options); + + var $body = UI.$('body'), + bar = element.find('.uk-offcanvas-bar:first'), + rtl = (UI.langdirection == 'right'), + flip = bar.hasClass('uk-offcanvas-bar-flip') ? -1:1, + dir = flip * (rtl ? -1 : 1), + + scrollbarwidth = window.innerWidth - $body.width(); + + scrollpos = {x: window.pageXOffset, y: window.pageYOffset}; + + bar.attr('mode', options.mode); + element.addClass('uk-active'); + + $body.css({width: window.innerWidth - scrollbarwidth, height: window.innerHeight}).addClass('uk-offcanvas-page'); + + if (options.mode == 'push' || options.mode == 'reveal') { + $body.css((rtl ? 'margin-right' : 'margin-left'), (rtl ? -1 : 1) * (bar.outerWidth() * dir)); + } + + if (options.mode == 'reveal') { + bar.css('clip', 'rect(0, '+bar.outerWidth()+'px, 100vh, 0)'); + } + + $html.css('margin-top', scrollpos.y * -1).width(); // .width() - force redraw + + + bar.addClass('uk-offcanvas-bar-show'); + + this._initElement(element); + + bar.trigger('show.uk.offcanvas', [element, bar]); + + // Update ARIA + element.attr('aria-hidden', 'false'); + }, + + hide: function(force) { + + var $body = UI.$('body'), + panel = UI.$('.uk-offcanvas.uk-active'), + rtl = (UI.langdirection == 'right'), + bar = panel.find('.uk-offcanvas-bar:first'), + finalize = function() { + $body.removeClass('uk-offcanvas-page').css({width: '', height: '', marginLeft: '', marginRight: ''}); + panel.removeClass('uk-active'); + + bar.removeClass('uk-offcanvas-bar-show'); + $html.css('margin-top', ''); + window.scrollTo(scrollpos.x, scrollpos.y); + bar.trigger('hide.uk.offcanvas', [panel, bar]); + + // Update ARIA + panel.attr('aria-hidden', 'true'); + }; + + if (!panel.length) return; + if (bar.attr('mode') == 'none') force = true; + + if (UI.support.transition && !force) { + + $body.one(UI.support.transition.end, function() { + finalize(); + }).css((rtl ? 'margin-right' : 'margin-left'), ''); + + if (bar.attr('mode') == 'reveal') { + bar.css('clip', ''); + } + + setTimeout(function(){ + bar.removeClass('uk-offcanvas-bar-show'); + }, 0); + + } else { + finalize(); + } + }, + + _initElement: function(element) { + + if (element.data('OffcanvasInit')) return; + + element.on('click.uk.offcanvas swipeRight.uk.offcanvas swipeLeft.uk.offcanvas', function(e) { + + var target = UI.$(e.target); + + if (e.type.match(/swipe/)) { + if (target.parents('.uk-offcanvas-bar:first').length) return; + } else { + + if (!target.hasClass('uk-offcanvas-close')) { + if (target.hasClass('uk-offcanvas-bar')) return; + if (target.parents('.uk-offcanvas-bar:first').length) return; + } + } + + e.stopImmediatePropagation(); + Offcanvas.hide(); + }); + + element.on('click', 'a[href*="#"]', function(e){ + + var link = UI.$(this), + href = link.attr('href'); + + if (href == '#') { + return; + } + + UI.$doc.one('hide.uk.offcanvas', function() { + + var target; + + try { + target = UI.$(link[0].hash); + } catch (e){ + target = ''; + } + + if (!target.length) { + target = UI.$('[name="'+link[0].hash.replace('#','')+'"]'); + } + + if (target.length && UI.Utils.scrollToElement) { + UI.Utils.scrollToElement(target, UI.Utils.options(link.attr('data-uk-smooth-scroll') || '{}')); + } else { + window.location.href = href; + } + }); + + Offcanvas.hide(); + }); + + element.data('OffcanvasInit', true); + } + }; + + UI.component('offcanvasTrigger', { + + boot: function() { + + // init code + $html.on('click.offcanvas.uikit', '[data-uk-offcanvas]', function(e) { + + e.preventDefault(); + + var ele = UI.$(this); + + if (!ele.data('offcanvasTrigger')) { + var obj = UI.offcanvasTrigger(ele, UI.Utils.options(ele.attr('data-uk-offcanvas'))); + ele.trigger("click"); + } + }); + + $html.on('keydown.uk.offcanvas', function(e) { + + if (e.keyCode === 27) { // ESC + Offcanvas.hide(); + } + }); + }, + + init: function() { + + var $this = this; + + this.options = UI.$.extend({ + target: $this.element.is('a') ? $this.element.attr('href') : false, + mode: 'push' + }, this.options); + + this.on('click', function(e) { + e.preventDefault(); + Offcanvas.show($this.options.target, $this.options); + }); + } + }); + + UI.offcanvas = Offcanvas; + +})(UIkit2); diff --git a/bower_components/uikit/js/core/offcanvas.min.js b/bower_components/uikit/js/core/offcanvas.min.js new file mode 100644 index 0000000..7ee78a0 --- /dev/null +++ b/bower_components/uikit/js/core/offcanvas.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(a){"use strict";var t={x:window.scrollX,y:window.scrollY},n=(a.$win,a.$doc,a.$html),i={show:function(i,e){if(i=a.$(i),i.length){e=a.$.extend({mode:"push"},e);var o=a.$("body"),s=i.find(".uk-offcanvas-bar:first"),r="right"==a.langdirection,f=s.hasClass("uk-offcanvas-bar-flip")?-1:1,c=f*(r?-1:1),h=window.innerWidth-o.width();t={x:window.pageXOffset,y:window.pageYOffset},s.attr("mode",e.mode),i.addClass("uk-active"),o.css({width:window.innerWidth-h,height:window.innerHeight}).addClass("uk-offcanvas-page"),("push"==e.mode||"reveal"==e.mode)&&o.css(r?"margin-right":"margin-left",(r?-1:1)*s.outerWidth()*c),"reveal"==e.mode&&s.css("clip","rect(0, "+s.outerWidth()+"px, 100vh, 0)"),n.css("margin-top",-1*t.y).width(),s.addClass("uk-offcanvas-bar-show"),this._initElement(i),s.trigger("show.uk.offcanvas",[i,s]),i.attr("aria-hidden","false")}},hide:function(i){var e=a.$("body"),o=a.$(".uk-offcanvas.uk-active"),s="right"==a.langdirection,r=o.find(".uk-offcanvas-bar:first"),f=function(){e.removeClass("uk-offcanvas-page").css({width:"",height:"",marginLeft:"",marginRight:""}),o.removeClass("uk-active"),r.removeClass("uk-offcanvas-bar-show"),n.css("margin-top",""),window.scrollTo(t.x,t.y),r.trigger("hide.uk.offcanvas",[o,r]),o.attr("aria-hidden","true")};o.length&&("none"==r.attr("mode")&&(i=!0),a.support.transition&&!i?(e.one(a.support.transition.end,function(){f()}).css(s?"margin-right":"margin-left",""),"reveal"==r.attr("mode")&&r.css("clip",""),setTimeout(function(){r.removeClass("uk-offcanvas-bar-show")},0)):f())},_initElement:function(t){t.data("OffcanvasInit")||(t.on("click.uk.offcanvas swipeRight.uk.offcanvas swipeLeft.uk.offcanvas",function(t){var n=a.$(t.target);if(t.type.match(/swipe/)){if(n.parents(".uk-offcanvas-bar:first").length)return}else if(!n.hasClass("uk-offcanvas-close")){if(n.hasClass("uk-offcanvas-bar"))return;if(n.parents(".uk-offcanvas-bar:first").length)return}t.stopImmediatePropagation(),i.hide()}),t.on("click",'a[href*="#"]',function(){var t=a.$(this),n=t.attr("href");"#"!=n&&(a.$doc.one("hide.uk.offcanvas",function(){var i;try{i=a.$(t[0].hash)}catch(e){i=""}i.length||(i=a.$('[name="'+t[0].hash.replace("#","")+'"]')),i.length&&a.Utils.scrollToElement?a.Utils.scrollToElement(i,a.Utils.options(t.attr("data-uk-smooth-scroll")||"{}")):window.location.href=n}),i.hide())}),t.data("OffcanvasInit",!0))}};a.component("offcanvasTrigger",{boot:function(){n.on("click.offcanvas.uikit","[data-uk-offcanvas]",function(t){t.preventDefault();var n=a.$(this);if(!n.data("offcanvasTrigger")){{a.offcanvasTrigger(n,a.Utils.options(n.attr("data-uk-offcanvas")))}n.trigger("click")}}),n.on("keydown.uk.offcanvas",function(a){27===a.keyCode&&i.hide()})},init:function(){var t=this;this.options=a.$.extend({target:t.element.is("a")?t.element.attr("href"):!1,mode:"push"},this.options),this.on("click",function(a){a.preventDefault(),i.show(t.options.target,t.options)})}}),a.offcanvas=i}(UIkit2); \ No newline at end of file diff --git a/bower_components/uikit/js/core/scrollspy.js b/bower_components/uikit/js/core/scrollspy.js new file mode 100644 index 0000000..8708145 --- /dev/null +++ b/bower_components/uikit/js/core/scrollspy.js @@ -0,0 +1,209 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(UI) { + + "use strict"; + + var $win = UI.$win, + $doc = UI.$doc, + scrollspies = [], + checkScrollSpy = function() { + for(var i=0; i < scrollspies.length; i++) { + window.requestAnimationFrame.apply(window, [scrollspies[i].check]); + } + }; + + UI.component('scrollspy', { + + defaults: { + target : false, + cls : 'uk-scrollspy-inview', + initcls : 'uk-scrollspy-init-inview', + topoffset : 0, + leftoffset : 0, + repeat : false, + delay : 0 + }, + + boot: function() { + + // listen to scroll and resize + $doc.on('scrolling.uk.document', checkScrollSpy); + $win.on('load resize orientationchange', UI.Utils.debounce(checkScrollSpy, 50)); + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-scrollspy]', context).each(function() { + + var element = UI.$(this); + + if (!element.data('scrollspy')) { + var obj = UI.scrollspy(element, UI.Utils.options(element.attr('data-uk-scrollspy'))); + } + }); + }); + }, + + init: function() { + + var $this = this, inviewstate, initinview, togglecls = this.options.cls.split(/,/), fn = function(){ + + var elements = $this.options.target ? $this.element.find($this.options.target) : $this.element, + delayIdx = elements.length === 1 ? 1 : 0, + toggleclsIdx = 0; + + elements.each(function(idx){ + + var element = UI.$(this), + inviewstate = element.data('inviewstate'), + inview = UI.Utils.isInView(element, $this.options), + toggle = element.attr('data-uk-scrollspy-cls') || togglecls[toggleclsIdx].trim(); + + if (inview && !inviewstate && !element.data('scrollspy-idle')) { + + if (!initinview) { + element.addClass($this.options.initcls); + $this.offset = element.offset(); + initinview = true; + + element.trigger('init.uk.scrollspy'); + } + + element.data('scrollspy-idle', setTimeout(function(){ + + element.addClass('uk-scrollspy-inview').toggleClass(toggle).width(); + element.trigger('inview.uk.scrollspy'); + + element.data('scrollspy-idle', false); + element.data('inviewstate', true); + + }, $this.options.delay * delayIdx)); + + delayIdx++; + } + + if (!inview && inviewstate && $this.options.repeat) { + + if (element.data('scrollspy-idle')) { + clearTimeout(element.data('scrollspy-idle')); + element.data('scrollspy-idle', false); + } + + element.removeClass('uk-scrollspy-inview').toggleClass(toggle); + element.data('inviewstate', false); + + element.trigger('outview.uk.scrollspy'); + } + + toggleclsIdx = togglecls[toggleclsIdx + 1] ? (toggleclsIdx + 1) : 0; + + }); + }; + + fn(); + + this.check = fn; + + scrollspies.push(this); + } + }); + + + var scrollspynavs = [], + checkScrollSpyNavs = function() { + for(var i=0; i < scrollspynavs.length; i++) { + window.requestAnimationFrame.apply(window, [scrollspynavs[i].check]); + } + }; + + UI.component('scrollspynav', { + + defaults: { + cls : 'uk-active', + closest : false, + topoffset : 0, + leftoffset : 0, + smoothscroll : false + }, + + boot: function() { + + // listen to scroll and resize + $doc.on('scrolling.uk.document', checkScrollSpyNavs); + $win.on('resize orientationchange', UI.Utils.debounce(checkScrollSpyNavs, 50)); + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-scrollspy-nav]', context).each(function() { + + var element = UI.$(this); + + if (!element.data('scrollspynav')) { + var obj = UI.scrollspynav(element, UI.Utils.options(element.attr('data-uk-scrollspy-nav'))); + } + }); + }); + }, + + init: function() { + + var ids = [], + links = this.find("a[href^='#']").each(function(){ if(this.getAttribute('href').trim()!=='#') ids.push(this.getAttribute('href')); }), + targets = UI.$(ids.join(",")), + + clsActive = this.options.cls, + clsClosest = this.options.closest || this.options.closest; + + var $this = this, inviews, fn = function(){ + + inviews = []; + + for (var i=0 ; i < targets.length ; i++) { + if (UI.Utils.isInView(targets.eq(i), $this.options)) { + inviews.push(targets.eq(i)); + } + } + + if (inviews.length) { + + var navitems, + scrollTop = $win.scrollTop(), + target = (function(){ + for(var i=0; i< inviews.length;i++){ + if (inviews[i].offset().top - $this.options.topoffset >= scrollTop){ + return inviews[i]; + } + } + })(); + + if (!target) return; + + if ($this.options.closest) { + links.blur().closest(clsClosest).removeClass(clsActive); + navitems = links.filter("a[href='#"+target.attr('id')+"']").closest(clsClosest).addClass(clsActive); + } else { + navitems = links.removeClass(clsActive).filter("a[href='#"+target.attr("id")+"']").addClass(clsActive); + } + + $this.element.trigger('inview.uk.scrollspynav', [target, navitems]); + } + }; + + if (this.options.smoothscroll && UI.smoothScroll) { + links.each(function(){ + UI.smoothScroll(this, $this.options.smoothscroll); + }); + } + + fn(); + + this.element.data('scrollspynav', this); + + this.check = fn; + scrollspynavs.push(this); + + } + }); + +})(UIkit2); diff --git a/bower_components/uikit/js/core/scrollspy.min.js b/bower_components/uikit/js/core/scrollspy.min.js new file mode 100644 index 0000000..74c7d80 --- /dev/null +++ b/bower_components/uikit/js/core/scrollspy.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){"use strict";var s=t.$win,o=t.$doc,i=[],e=function(){for(var t=0;t=p)return o[t]}();if(!f)return;c.options.closest?(e.blur().closest(r).removeClass(a),l=e.filter("a[href='#"+f.attr("id")+"']").closest(r).addClass(a)):l=e.removeClass(a).filter("a[href='#"+f.attr("id")+"']").addClass(a),c.element.trigger("inview.uk.scrollspynav",[f,l])}};this.options.smoothscroll&&t.smoothScroll&&e.each(function(){t.smoothScroll(this,c.options.smoothscroll)}),p(),this.element.data("scrollspynav",this),this.check=p,l.push(this)}})}(UIkit2); \ No newline at end of file diff --git a/bower_components/uikit/js/core/smooth-scroll.js b/bower_components/uikit/js/core/smooth-scroll.js new file mode 100644 index 0000000..9de3ee3 --- /dev/null +++ b/bower_components/uikit/js/core/smooth-scroll.js @@ -0,0 +1,62 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(UI) { + + "use strict"; + + UI.component('smoothScroll', { + + boot: function() { + + // init code + UI.$html.on('click.smooth-scroll.uikit', '[data-uk-smooth-scroll]', function(e) { + var ele = UI.$(this); + + if (!ele.data('smoothScroll')) { + var obj = UI.smoothScroll(ele, UI.Utils.options(ele.attr('data-uk-smooth-scroll'))); + ele.trigger('click'); + } + + return false; + }); + }, + + init: function() { + + var $this = this; + + this.on('click', function(e) { + e.preventDefault(); + scrollToElement(UI.$(this.hash).length ? UI.$(this.hash) : UI.$('body'), $this.options); + }); + } + }); + + function scrollToElement(ele, options) { + + options = UI.$.extend({ + duration: 1000, + transition: 'easeOutExpo', + offset: 0, + complete: function(){} + }, options); + + // get / set parameters + var target = ele.offset().top - options.offset, + docheight = UI.$doc.height(), + winheight = window.innerHeight; + + if ((target + winheight) > docheight) { + target = docheight - winheight; + } + + // animate to target, fire callback when done + UI.$('html,body').stop().animate({scrollTop: target}, options.duration, options.transition).promise().done(options.complete); + } + + UI.Utils.scrollToElement = scrollToElement; + + if (!UI.$.easing.easeOutExpo) { + UI.$.easing.easeOutExpo = function(x, t, b, c, d) { return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b; }; + } + +})(UIkit2); diff --git a/bower_components/uikit/js/core/smooth-scroll.min.js b/bower_components/uikit/js/core/smooth-scroll.min.js new file mode 100644 index 0000000..9a35bec --- /dev/null +++ b/bower_components/uikit/js/core/smooth-scroll.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){"use strict";function o(o,i){i=t.$.extend({duration:1e3,transition:"easeOutExpo",offset:0,complete:function(){}},i);var n=o.offset().top-i.offset,s=t.$doc.height(),e=window.innerHeight;n+e>s&&(n=s-e),t.$("html,body").stop().animate({scrollTop:n},i.duration,i.transition).promise().done(i.complete)}t.component("smoothScroll",{boot:function(){t.$html.on("click.smooth-scroll.uikit","[data-uk-smooth-scroll]",function(){var o=t.$(this);if(!o.data("smoothScroll")){{t.smoothScroll(o,t.Utils.options(o.attr("data-uk-smooth-scroll")))}o.trigger("click")}return!1})},init:function(){var i=this;this.on("click",function(n){n.preventDefault(),o(t.$(this.hash).length?t.$(this.hash):t.$("body"),i.options)})}}),t.Utils.scrollToElement=o,t.$.easing.easeOutExpo||(t.$.easing.easeOutExpo=function(t,o,i,n,s){return o==s?i+n:n*(-Math.pow(2,-10*o/s)+1)+i})}(UIkit2); \ No newline at end of file diff --git a/bower_components/uikit/js/core/switcher.js b/bower_components/uikit/js/core/switcher.js new file mode 100644 index 0000000..0b83db0 --- /dev/null +++ b/bower_components/uikit/js/core/switcher.js @@ -0,0 +1,307 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(UI) { + + "use strict"; + + var Animations; + + UI.component('switcher', { + + defaults: { + connect : false, + toggle : '>*', + active : 0, + animation : false, + duration : 200, + swiping : true + }, + + animating: false, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-switcher]', context).each(function() { + var switcher = UI.$(this); + + if (!switcher.data('switcher')) { + var obj = UI.switcher(switcher, UI.Utils.options(switcher.attr('data-uk-switcher'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.on('click.uk.switcher', this.options.toggle, function(e) { + e.preventDefault(); + $this.show(this); + }); + + if (!this.options.connect) { + return; + } + + this.connect = UI.$(this.options.connect); + + if (!this.connect.length) { + return; + } + + this.connect.on('click.uk.switcher', '[data-uk-switcher-item]', function(e) { + + e.preventDefault(); + + var item = UI.$(this).attr('data-uk-switcher-item'); + + if ($this.index == item) return; + + switch(item) { + case 'next': + case 'previous': + $this.show($this.index + (item=='next' ? 1:-1)); + break; + default: + $this.show(parseInt(item, 10)); + } + }); + + if (this.options.swiping) { + + this.connect.on('swipeRight swipeLeft', function(e) { + e.preventDefault(); + if (!window.getSelection().toString()) { + $this.show($this.index + (e.type == 'swipeLeft' ? 1 : -1)); + } + }); + } + + this.update(); + }, + + update: function() { + + this.connect.children().removeClass('uk-active').attr('aria-hidden', 'true'); + + var toggles = this.find(this.options.toggle), + active = toggles.filter('.uk-active'); + + if (active.length) { + this.show(active, false); + } else { + + if (this.options.active===false) return; + + active = toggles.eq(this.options.active); + this.show(active.length ? active : toggles.eq(0), false); + } + + // Init ARIA for toggles + toggles.not(active).attr('aria-expanded', 'false'); + active.attr('aria-expanded', 'true'); + }, + + show: function(tab, animate) { + + if (this.animating) { + return; + } + + var toggles = this.find(this.options.toggle); + + if (isNaN(tab)) { + tab = UI.$(tab); + } else { + tab = tab < 0 ? toggles.length-1 : tab; + tab = toggles.eq(toggles[tab] ? tab : 0); + } + + var $this = this, + active = UI.$(tab), + animation = Animations[this.options.animation] || function(current, next) { + + if (!$this.options.animation) { + return Animations.none.apply($this); + } + + var anim = $this.options.animation.split(','); + + if (anim.length == 1) { + anim[1] = anim[0]; + } + + anim[0] = anim[0].trim(); + anim[1] = anim[1].trim(); + + return coreAnimation.apply($this, [anim, current, next]); + }; + + if (animate===false || !UI.support.animation) { + animation = Animations.none; + } + + if (active.hasClass("uk-disabled")) return; + + // Update ARIA for Toggles + toggles.attr('aria-expanded', 'false'); + active.attr('aria-expanded', 'true'); + + toggles.filter(".uk-active").removeClass("uk-active"); + active.addClass("uk-active"); + + if (this.options.connect && this.connect.length) { + + this.index = this.find(this.options.toggle).index(active); + + if (this.index == -1 ) { + this.index = 0; + } + + this.connect.each(function() { + + var container = UI.$(this), + children = UI.$(container.children()), + current = UI.$(children.filter('.uk-active')), + next = UI.$(children.eq($this.index)); + + $this.animating = true; + + animation.apply($this, [current, next]).then(function(){ + + current.removeClass("uk-active"); + next.addClass("uk-active"); + + // Update ARIA for connect + current.attr('aria-hidden', 'true'); + next.attr('aria-hidden', 'false'); + + UI.Utils.checkDisplay(next, true); + + $this.animating = false; + + }); + }); + } + + this.trigger("show.uk.switcher", [active]); + } + }); + + Animations = { + + 'none': function() { + var d = UI.$.Deferred(); + d.resolve(); + return d.promise(); + }, + + 'fade': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-fade', current, next]); + }, + + 'slide-bottom': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-slide-bottom', current, next]); + }, + + 'slide-top': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-slide-top', current, next]); + }, + + 'slide-vertical': function(current, next, dir) { + + var anim = ['uk-animation-slide-top', 'uk-animation-slide-bottom']; + + if (current && current.index() > next.index()) { + anim.reverse(); + } + + return coreAnimation.apply(this, [anim, current, next]); + }, + + 'slide-left': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-slide-left', current, next]); + }, + + 'slide-right': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-slide-right', current, next]); + }, + + 'slide-horizontal': function(current, next, dir) { + + var anim = ['uk-animation-slide-right', 'uk-animation-slide-left']; + + if (current && current.index() > next.index()) { + anim.reverse(); + } + + return coreAnimation.apply(this, [anim, current, next]); + }, + + 'scale': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-scale-up', current, next]); + } + }; + + UI.switcher.animations = Animations; + + + // helpers + + function coreAnimation(cls, current, next) { + + var d = UI.$.Deferred(), clsIn = cls, clsOut = cls, release; + + if (next[0]===current[0]) { + d.resolve(); + return d.promise(); + } + + if (typeof(cls) == 'object') { + clsIn = cls[0]; + clsOut = cls[1] || cls[0]; + } + + UI.$body.css('overflow-x', 'hidden'); // fix scroll jumping in iOS + + release = function() { + + if (current) current.hide().removeClass('uk-active '+clsOut+' uk-animation-reverse'); + + next.addClass(clsIn).one(UI.support.animation.end, function() { + + setTimeout(function () { + next.removeClass(''+clsIn+'').css({opacity:'', display:''}); + }, 0); + + d.resolve(); + + UI.$body.css('overflow-x', ''); + + if (current) current.css({opacity:'', display:''}); + + }.bind(this)).show(); + }; + + next.css('animation-duration', this.options.duration+'ms'); + + if (current && current.length) { + + current.css('animation-duration', this.options.duration+'ms'); + + current.css('display', 'none').addClass(clsOut+' uk-animation-reverse').one(UI.support.animation.end, function() { + release(); + }.bind(this)).css('display', ''); + + } else { + next.addClass('uk-active'); + release(); + } + + return d.promise(); + } + +})(UIkit2); diff --git a/bower_components/uikit/js/core/switcher.min.js b/bower_components/uikit/js/core/switcher.min.js new file mode 100644 index 0000000..f7149bb --- /dev/null +++ b/bower_components/uikit/js/core/switcher.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){"use strict";function i(i,n,e){var s,a=t.$.Deferred(),o=i,r=i;return e[0]===n[0]?(a.resolve(),a.promise()):("object"==typeof i&&(o=i[0],r=i[1]||i[0]),t.$body.css("overflow-x","hidden"),s=function(){n&&n.hide().removeClass("uk-active "+r+" uk-animation-reverse"),e.addClass(o).one(t.support.animation.end,function(){setTimeout(function(){e.removeClass(""+o).css({opacity:"",display:""})},0),a.resolve(),t.$body.css("overflow-x",""),n&&n.css({opacity:"",display:""})}.bind(this)).show()},e.css("animation-duration",this.options.duration+"ms"),n&&n.length?(n.css("animation-duration",this.options.duration+"ms"),n.css("display","none").addClass(r+" uk-animation-reverse").one(t.support.animation.end,function(){s()}.bind(this)).css("display","")):(e.addClass("uk-active"),s()),a.promise())}var n;t.component("switcher",{defaults:{connect:!1,toggle:">*",active:0,animation:!1,duration:200,swiping:!0},animating:!1,boot:function(){t.ready(function(i){t.$("[data-uk-switcher]",i).each(function(){var i=t.$(this);if(!i.data("switcher")){t.switcher(i,t.Utils.options(i.attr("data-uk-switcher")))}})})},init:function(){var i=this;this.on("click.uk.switcher",this.options.toggle,function(t){t.preventDefault(),i.show(this)}),this.options.connect&&(this.connect=t.$(this.options.connect),this.connect.length&&(this.connect.on("click.uk.switcher","[data-uk-switcher-item]",function(n){n.preventDefault();var e=t.$(this).attr("data-uk-switcher-item");if(i.index!=e)switch(e){case"next":case"previous":i.show(i.index+("next"==e?1:-1));break;default:i.show(parseInt(e,10))}}),this.options.swiping&&this.connect.on("swipeRight swipeLeft",function(t){t.preventDefault(),window.getSelection().toString()||i.show(i.index+("swipeLeft"==t.type?1:-1))}),this.update()))},update:function(){this.connect.children().removeClass("uk-active").attr("aria-hidden","true");var t=this.find(this.options.toggle),i=t.filter(".uk-active");if(i.length)this.show(i,!1);else{if(this.options.active===!1)return;i=t.eq(this.options.active),this.show(i.length?i:t.eq(0),!1)}t.not(i).attr("aria-expanded","false"),i.attr("aria-expanded","true")},show:function(e,s){if(!this.animating){var a=this.find(this.options.toggle);isNaN(e)?e=t.$(e):(e=0>e?a.length-1:e,e=a.eq(a[e]?e:0));var o=this,r=t.$(e),c=n[this.options.animation]||function(t,e){if(!o.options.animation)return n.none.apply(o);var s=o.options.animation.split(",");return 1==s.length&&(s[1]=s[0]),s[0]=s[0].trim(),s[1]=s[1].trim(),i.apply(o,[s,t,e])};s!==!1&&t.support.animation||(c=n.none),r.hasClass("uk-disabled")||(a.attr("aria-expanded","false"),r.attr("aria-expanded","true"),a.filter(".uk-active").removeClass("uk-active"),r.addClass("uk-active"),this.options.connect&&this.connect.length&&(this.index=this.find(this.options.toggle).index(r),-1==this.index&&(this.index=0),this.connect.each(function(){var i=t.$(this),n=t.$(i.children()),e=t.$(n.filter(".uk-active")),s=t.$(n.eq(o.index));o.animating=!0,c.apply(o,[e,s]).then(function(){e.removeClass("uk-active"),s.addClass("uk-active"),e.attr("aria-hidden","true"),s.attr("aria-hidden","false"),t.Utils.checkDisplay(s,!0),o.animating=!1})})),this.trigger("show.uk.switcher",[r]))}}}),n={none:function(){var i=t.$.Deferred();return i.resolve(),i.promise()},fade:function(t,n){return i.apply(this,["uk-animation-fade",t,n])},"slide-bottom":function(t,n){return i.apply(this,["uk-animation-slide-bottom",t,n])},"slide-top":function(t,n){return i.apply(this,["uk-animation-slide-top",t,n])},"slide-vertical":function(t,n){var e=["uk-animation-slide-top","uk-animation-slide-bottom"];return t&&t.index()>n.index()&&e.reverse(),i.apply(this,[e,t,n])},"slide-left":function(t,n){return i.apply(this,["uk-animation-slide-left",t,n])},"slide-right":function(t,n){return i.apply(this,["uk-animation-slide-right",t,n])},"slide-horizontal":function(t,n){var e=["uk-animation-slide-right","uk-animation-slide-left"];return t&&t.index()>n.index()&&e.reverse(),i.apply(this,[e,t,n])},scale:function(t,n){return i.apply(this,["uk-animation-scale-up",t,n])}},t.switcher.animations=n}(UIkit2); \ No newline at end of file diff --git a/bower_components/uikit/js/core/tab.js b/bower_components/uikit/js/core/tab.js new file mode 100644 index 0000000..05bf46e --- /dev/null +++ b/bower_components/uikit/js/core/tab.js @@ -0,0 +1,169 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(UI) { + + "use strict"; + + UI.component('tab', { + + defaults: { + target : '>li:not(.uk-tab-responsive, .uk-disabled)', + connect : false, + active : 0, + animation : false, + duration : 200, + swiping : true + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-tab]', context).each(function() { + + var tab = UI.$(this); + + if (!tab.data('tab')) { + var obj = UI.tab(tab, UI.Utils.options(tab.attr('data-uk-tab'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.current = false; + + this.on('click.uk.tab', this.options.target, function(e) { + + e.preventDefault(); + + if ($this.switcher && $this.switcher.animating) { + return; + } + + var current = $this.find($this.options.target).not(this); + + current.removeClass('uk-active').blur(); + + $this.trigger('change.uk.tab', [UI.$(this).addClass('uk-active'), $this.current]); + + $this.current = UI.$(this); + + // Update ARIA + if (!$this.options.connect) { + current.attr('aria-expanded', 'false'); + UI.$(this).attr('aria-expanded', 'true'); + } + }); + + if (this.options.connect) { + this.connect = UI.$(this.options.connect); + } + + // init responsive tab + this.responsivetab = UI.$('
        • ').append('
            '); + + this.responsivetab.dropdown = this.responsivetab.find('.uk-dropdown'); + this.responsivetab.lst = this.responsivetab.dropdown.find('ul'); + this.responsivetab.caption = this.responsivetab.find('a:first'); + + if (this.element.hasClass('uk-tab-bottom')) this.responsivetab.dropdown.addClass('uk-dropdown-up'); + + // handle click + this.responsivetab.lst.on('click.uk.tab', 'a', function(e) { + + e.preventDefault(); + e.stopPropagation(); + + var link = UI.$(this); + + $this.element.children('li:not(.uk-tab-responsive)').eq(link.data('index')).trigger('click'); + }); + + this.on('show.uk.switcher change.uk.tab', function(e, tab) { + $this.responsivetab.caption.html(tab.text()); + }); + + this.element.append(this.responsivetab); + + // init UIkit components + if (this.options.connect) { + + this.switcher = UI.switcher(this.element, { + toggle : '>li:not(.uk-tab-responsive)', + connect : this.options.connect, + active : this.options.active, + animation : this.options.animation, + duration : this.options.duration, + swiping : this.options.swiping + }); + } + + UI.dropdown(this.responsivetab, {mode: 'click', preventflip: 'y'}); + + // init + $this.trigger('change.uk.tab', [this.element.find(this.options.target).not('.uk-tab-responsive').filter('.uk-active')]); + + this.check(); + + UI.$win.on('resize orientationchange', UI.Utils.debounce(function(){ + if ($this.element.is(':visible')) $this.check(); + }, 100)); + + this.on('display.uk.check', function(){ + if ($this.element.is(':visible')) $this.check(); + }); + }, + + check: function() { + + var children = this.element.children('li:not(.uk-tab-responsive)').removeClass('uk-hidden'); + + if (!children.length) { + this.responsivetab.addClass('uk-hidden'); + return; + } + + var top = (children.eq(0).offset().top + Math.ceil(children.eq(0).height()/2)), + doresponsive = false, + item, link, clone; + + this.responsivetab.lst.empty(); + + children.each(function(){ + + if (UI.$(this).offset().top > top) { + doresponsive = true; + } + }); + + if (doresponsive) { + + for (var i = 0; i < children.length; i++) { + + item = UI.$(children.eq(i)); + link = item.find('a'); + + if (item.css('float') != 'none' && !item.attr('uk-dropdown')) { + + if (!item.hasClass('uk-disabled')) { + + clone = UI.$(item[0].outerHTML); + clone.find('a').data('index', i); + + this.responsivetab.lst.append(clone); + } + + item.addClass('uk-hidden'); + } + } + } + + this.responsivetab[this.responsivetab.lst.children('li').length ? 'removeClass':'addClass']('uk-hidden'); + } + }); + +})(UIkit2); diff --git a/bower_components/uikit/js/core/tab.min.js b/bower_components/uikit/js/core/tab.min.js new file mode 100644 index 0000000..7650c1b --- /dev/null +++ b/bower_components/uikit/js/core/tab.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){"use strict";t.component("tab",{defaults:{target:">li:not(.uk-tab-responsive, .uk-disabled)",connect:!1,active:0,animation:!1,duration:200,swiping:!0},boot:function(){t.ready(function(i){t.$("[data-uk-tab]",i).each(function(){var i=t.$(this);if(!i.data("tab")){t.tab(i,t.Utils.options(i.attr("data-uk-tab")))}})})},init:function(){var i=this;this.current=!1,this.on("click.uk.tab",this.options.target,function(e){if(e.preventDefault(),!i.switcher||!i.switcher.animating){var n=i.find(i.options.target).not(this);n.removeClass("uk-active").blur(),i.trigger("change.uk.tab",[t.$(this).addClass("uk-active"),i.current]),i.current=t.$(this),i.options.connect||(n.attr("aria-expanded","false"),t.$(this).attr("aria-expanded","true"))}}),this.options.connect&&(this.connect=t.$(this.options.connect)),this.responsivetab=t.$('
          • ').append('
              '),this.responsivetab.dropdown=this.responsivetab.find(".uk-dropdown"),this.responsivetab.lst=this.responsivetab.dropdown.find("ul"),this.responsivetab.caption=this.responsivetab.find("a:first"),this.element.hasClass("uk-tab-bottom")&&this.responsivetab.dropdown.addClass("uk-dropdown-up"),this.responsivetab.lst.on("click.uk.tab","a",function(e){e.preventDefault(),e.stopPropagation();var n=t.$(this);i.element.children("li:not(.uk-tab-responsive)").eq(n.data("index")).trigger("click")}),this.on("show.uk.switcher change.uk.tab",function(t,e){i.responsivetab.caption.html(e.text())}),this.element.append(this.responsivetab),this.options.connect&&(this.switcher=t.switcher(this.element,{toggle:">li:not(.uk-tab-responsive)",connect:this.options.connect,active:this.options.active,animation:this.options.animation,duration:this.options.duration,swiping:this.options.swiping})),t.dropdown(this.responsivetab,{mode:"click",preventflip:"y"}),i.trigger("change.uk.tab",[this.element.find(this.options.target).not(".uk-tab-responsive").filter(".uk-active")]),this.check(),t.$win.on("resize orientationchange",t.Utils.debounce(function(){i.element.is(":visible")&&i.check()},100)),this.on("display.uk.check",function(){i.element.is(":visible")&&i.check()})},check:function(){var i=this.element.children("li:not(.uk-tab-responsive)").removeClass("uk-hidden");if(!i.length)return this.responsivetab.addClass("uk-hidden"),void 0;var e,n,s,a=i.eq(0).offset().top+Math.ceil(i.eq(0).height()/2),o=!1;if(this.responsivetab.lst.empty(),i.each(function(){t.$(this).offset().top>a&&(o=!0)}),o)for(var r=0;r 0 // IE 10 + || navigator.pointerEnabled && navigator.maxTouchPoints > 0; // IE >=11 + + function swipeDirection(x1, x2, y1, y2) { + return Math.abs(x1 - x2) >= Math.abs(y1 - y2) ? (x1 - x2 > 0 ? 'Left' : 'Right') : (y1 - y2 > 0 ? 'Up' : 'Down'); + } + + function longTap() { + longTapTimeout = null; + if (touch.last) { + if ( touch.el !== undefined ) touch.el.trigger('longTap'); + touch = {}; + } + } + + function cancelLongTap() { + if (longTapTimeout) clearTimeout(longTapTimeout); + longTapTimeout = null; + } + + function cancelAll() { + if (touchTimeout) clearTimeout(touchTimeout); + if (tapTimeout) clearTimeout(tapTimeout); + if (swipeTimeout) clearTimeout(swipeTimeout); + if (longTapTimeout) clearTimeout(longTapTimeout); + touchTimeout = tapTimeout = swipeTimeout = longTapTimeout = null; + touch = {}; + } + + function isPrimaryTouch(event){ + return event.pointerType == event.MSPOINTER_TYPE_TOUCH && event.isPrimary; + } + + $(function(){ + var now, delta, deltaX = 0, deltaY = 0, firstTouch; + + if ('MSGesture' in window) { + gesture = new MSGesture(); + gesture.target = document.body; + } + + $(document) + .on('MSGestureEnd gestureend', function(e){ + + var swipeDirectionFromVelocity = e.originalEvent.velocityX > 1 ? 'Right' : e.originalEvent.velocityX < -1 ? 'Left' : e.originalEvent.velocityY > 1 ? 'Down' : e.originalEvent.velocityY < -1 ? 'Up' : null; + + if (swipeDirectionFromVelocity && touch.el !== undefined) { + touch.el.trigger('swipe'); + touch.el.trigger('swipe'+ swipeDirectionFromVelocity); + } + }) + // MSPointerDown: for IE10 + // pointerdown: for IE11 + .on('touchstart MSPointerDown pointerdown', function(e){ + + if(e.type == 'MSPointerDown' && !isPrimaryTouch(e.originalEvent)) return; + + firstTouch = (e.type == 'MSPointerDown' || e.type == 'pointerdown') ? e : e.originalEvent.touches[0]; + + now = Date.now(); + delta = now - (touch.last || now); + touch.el = $('tagName' in firstTouch.target ? firstTouch.target : firstTouch.target.parentNode); + + if(touchTimeout) clearTimeout(touchTimeout); + + touch.x1 = firstTouch.pageX; + touch.y1 = firstTouch.pageY; + + if (delta > 0 && delta <= 250) touch.isDoubleTap = true; + + touch.last = now; + longTapTimeout = setTimeout(longTap, longTapDelay); + + // adds the current touch contact for IE gesture recognition + if (e.originalEvent && e.originalEvent.pointerId && gesture && ( e.type == 'MSPointerDown' || e.type == 'pointerdown' || e.type == 'touchstart' ) ) { + gesture.addPointer(e.originalEvent.pointerId); + } + + }) + // MSPointerMove: for IE10 + // pointermove: for IE11 + .on('touchmove MSPointerMove pointermove', function(e){ + + if (e.type == 'MSPointerMove' && !isPrimaryTouch(e.originalEvent)) return; + + firstTouch = (e.type == 'MSPointerMove' || e.type == 'pointermove') ? e : e.originalEvent.touches[0]; + + cancelLongTap(); + touch.x2 = firstTouch.pageX; + touch.y2 = firstTouch.pageY; + + deltaX += Math.abs(touch.x1 - touch.x2); + deltaY += Math.abs(touch.y1 - touch.y2); + }) + // MSPointerUp: for IE10 + // pointerup: for IE11 + .on('touchend MSPointerUp pointerup', function(e){ + + if (e.type == 'MSPointerUp' && !isPrimaryTouch(e.originalEvent)) return; + + cancelLongTap(); + + // swipe + if ((touch.x2 && Math.abs(touch.x1 - touch.x2) > 30) || (touch.y2 && Math.abs(touch.y1 - touch.y2) > 30)){ + + swipeTimeout = setTimeout(function() { + if ( touch.el !== undefined ) { + touch.el.trigger('swipe'); + touch.el.trigger('swipe' + (swipeDirection(touch.x1, touch.x2, touch.y1, touch.y2))); + } + touch = {}; + }, 0); + + // normal tap + } else if ('last' in touch) { + + // don't fire tap when delta position changed by more than 30 pixels, + // for instance when moving to a point and back to origin + if (isNaN(deltaX) || (deltaX < 30 && deltaY < 30)) { + // delay by one tick so we can cancel the 'tap' event if 'scroll' fires + // ('tap' fires before 'scroll') + tapTimeout = setTimeout(function() { + + // trigger universal 'tap' with the option to cancelTouch() + // (cancelTouch cancels processing of single vs double taps for faster 'tap' response) + var event = $.Event('tap'); + event.cancelTouch = cancelAll; + if ( touch.el !== undefined ) touch.el.trigger(event); + + // trigger double tap immediately + if (touch.isDoubleTap) { + if ( touch.el !== undefined ) touch.el.trigger('doubleTap'); + touch = {}; + } + + // trigger single tap after 250ms of inactivity + else { + touchTimeout = setTimeout(function(){ + touchTimeout = null; + if ( touch.el !== undefined ) touch.el.trigger('singleTap'); + touch = {}; + }, 250); + } + }, 0); + } else { + touch = {}; + } + deltaX = deltaY = 0; + } + }) + // when the browser window loses focus, + // for example when a modal dialog is shown, + // cancel all ongoing events + .on('touchcancel MSPointerCancel pointercancel', function(e){ + + // Ignore pointercancel if the event supports touch events, to prevent pointercancel in swipe gesture + if ((e.type == 'touchcancel' && hasTouchEvents && hasTouch) || (!hasTouchEvents && e.type == 'pointercancel' && hasPointerEvents)) { + cancelAll(); + } + + }); + + // scrolling the window indicates intention of the user + // to scroll, not tap or swipe, so cancel all ongoing events + $(window).on('scroll', cancelAll); + }); + + ['swipe', 'swipeLeft', 'swipeRight', 'swipeUp', 'swipeDown', 'doubleTap', 'tap', 'singleTap', 'longTap'].forEach(function(eventName){ + $.fn[eventName] = function(callback){ return $(this).on(eventName, callback); }; + }); +})(jQuery); diff --git a/bower_components/uikit/js/core/touch.min.js b/bower_components/uikit/js/core/touch.min.js new file mode 100644 index 0000000..279c711 --- /dev/null +++ b/bower_components/uikit/js/core/touch.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(e){function t(e,t,n,o){return Math.abs(e-t)>=Math.abs(n-o)?e-t>0?"Left":"Right":n-o>0?"Up":"Down"}function n(){c=null,g.last&&(void 0!==g.el&&g.el.trigger("longTap"),g={})}function o(){c&&clearTimeout(c),c=null}function i(){a&&clearTimeout(a),l&&clearTimeout(l),u&&clearTimeout(u),c&&clearTimeout(c),a=l=u=c=null,g={}}function r(e){return e.pointerType==e.MSPOINTER_TYPE_TOUCH&&e.isPrimary}if(!e.fn.swipeLeft){var a,l,u,c,p,g={},s=750,v="ontouchstart"in window,w=window.PointerEvent,d=v||window.DocumentTouch&&document instanceof DocumentTouch||navigator.msPointerEnabled&&navigator.msMaxTouchPoints>0||navigator.pointerEnabled&&navigator.maxTouchPoints>0;e(function(){var y,T,f,h=0,M=0;"MSGesture"in window&&(p=new MSGesture,p.target=document.body),e(document).on("MSGestureEnd gestureend",function(e){var t=e.originalEvent.velocityX>1?"Right":e.originalEvent.velocityX<-1?"Left":e.originalEvent.velocityY>1?"Down":e.originalEvent.velocityY<-1?"Up":null;t&&void 0!==g.el&&(g.el.trigger("swipe"),g.el.trigger("swipe"+t))}).on("touchstart MSPointerDown pointerdown",function(t){("MSPointerDown"!=t.type||r(t.originalEvent))&&(f="MSPointerDown"==t.type||"pointerdown"==t.type?t:t.originalEvent.touches[0],y=Date.now(),T=y-(g.last||y),g.el=e("tagName"in f.target?f.target:f.target.parentNode),a&&clearTimeout(a),g.x1=f.pageX,g.y1=f.pageY,T>0&&250>=T&&(g.isDoubleTap=!0),g.last=y,c=setTimeout(n,s),t.originalEvent&&t.originalEvent.pointerId&&p&&("MSPointerDown"==t.type||"pointerdown"==t.type||"touchstart"==t.type)&&p.addPointer(t.originalEvent.pointerId))}).on("touchmove MSPointerMove pointermove",function(e){("MSPointerMove"!=e.type||r(e.originalEvent))&&(f="MSPointerMove"==e.type||"pointermove"==e.type?e:e.originalEvent.touches[0],o(),g.x2=f.pageX,g.y2=f.pageY,h+=Math.abs(g.x1-g.x2),M+=Math.abs(g.y1-g.y2))}).on("touchend MSPointerUp pointerup",function(n){("MSPointerUp"!=n.type||r(n.originalEvent))&&(o(),g.x2&&Math.abs(g.x1-g.x2)>30||g.y2&&Math.abs(g.y1-g.y2)>30?u=setTimeout(function(){void 0!==g.el&&(g.el.trigger("swipe"),g.el.trigger("swipe"+t(g.x1,g.x2,g.y1,g.y2))),g={}},0):"last"in g&&(isNaN(h)||30>h&&30>M?l=setTimeout(function(){var t=e.Event("tap");t.cancelTouch=i,void 0!==g.el&&g.el.trigger(t),g.isDoubleTap?(void 0!==g.el&&g.el.trigger("doubleTap"),g={}):a=setTimeout(function(){a=null,void 0!==g.el&&g.el.trigger("singleTap"),g={}},250)},0):g={},h=M=0))}).on("touchcancel MSPointerCancel pointercancel",function(e){("touchcancel"==e.type&&v&&d||!v&&"pointercancel"==e.type&&w)&&i()}),e(window).on("scroll",i)}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(t){e.fn[t]=function(n){return e(this).on(t,n)}})}}(jQuery); \ No newline at end of file diff --git a/bower_components/uikit/js/core/utility.js b/bower_components/uikit/js/core/utility.js new file mode 100644 index 0000000..cec2740 --- /dev/null +++ b/bower_components/uikit/js/core/utility.js @@ -0,0 +1,335 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(UI) { + + "use strict"; + + var stacks = []; + + UI.component('stackMargin', { + + defaults: { + cls: 'uk-margin-small-top', + rowfirst: false, + observe: false + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-margin]', context).each(function() { + + var ele = UI.$(this); + + if (!ele.data('stackMargin')) { + UI.stackMargin(ele, UI.Utils.options(ele.attr('data-uk-margin'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + UI.$win.on('resize orientationchange', (function() { + + var fn = function() { + $this.process(); + }; + + UI.$(function() { + fn(); + UI.$win.on('load', fn); + }); + + return UI.Utils.debounce(fn, 20); + })()); + + this.on('display.uk.check', function(e) { + if (this.element.is(':visible')) this.process(); + }.bind(this)); + + if (this.options.observe) { + + UI.domObserve(this.element, function(e) { + if ($this.element.is(':visible')) $this.process(); + }); + } + + stacks.push(this); + }, + + process: function() { + + var $this = this, columns = this.element.children(); + + UI.Utils.stackMargin(columns, this.options); + + if (!this.options.rowfirst || !columns.length) { + return this; + } + + // Mark first column elements + var group = {}, minleft = false; + + columns.removeClass(this.options.rowfirst).each(function(offset, $ele){ + + $ele = UI.$(this); + + if (this.style.display != 'none') { + offset = $ele.offset().left; + ((group[offset] = group[offset] || []) && group[offset]).push(this); + minleft = minleft === false ? offset : Math.min(minleft, offset); + } + }); + + UI.$(group[minleft]).addClass(this.options.rowfirst); + + return this; + } + + }); + + + // responsive element e.g. iframes + + (function(){ + + var elements = [], check = function(ele) { + + if (!ele.is(':visible')) return; + + var width = ele.parent().width(), + iwidth = ele.data('width'), + ratio = (width / iwidth), + height = Math.floor(ratio * ele.data('height')); + + ele.css({height: (width < iwidth) ? height : ele.data('height')}); + }; + + UI.component('responsiveElement', { + + defaults: {}, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('iframe.uk-responsive-width, [data-uk-responsive]', context).each(function() { + + var ele = UI.$(this), obj; + + if (!ele.data('responsiveElement')) { + obj = UI.responsiveElement(ele, {}); + } + }); + }); + }, + + init: function() { + + var ele = this.element; + + if (ele.attr('width') && ele.attr('height')) { + + ele.data({ + width : ele.attr('width'), + height: ele.attr('height') + }).on('display.uk.check', function(){ + check(ele); + }); + + check(ele); + + elements.push(ele); + } + } + }); + + UI.$win.on('resize load', UI.Utils.debounce(function(){ + + elements.forEach(function(ele){ + check(ele); + }); + + }, 15)); + + })(); + + + // helper + + UI.Utils.stackMargin = function(elements, options) { + + options = UI.$.extend({ + cls: 'uk-margin-small-top' + }, options); + + elements = UI.$(elements).removeClass(options.cls); + + var min = false; + + elements.each(function(offset, height, pos, $ele){ + + $ele = UI.$(this); + + if ($ele.css('display') != 'none') { + + offset = $ele.offset(); + height = $ele.outerHeight(); + pos = offset.top + height; + + $ele.data({ + ukMarginPos: pos, + ukMarginTop: offset.top + }); + + if (min === false || (offset.top < min.top) ) { + + min = { + top : offset.top, + left : offset.left, + pos : pos + }; + } + } + + }).each(function($ele) { + + $ele = UI.$(this); + + if ($ele.css('display') != 'none' && $ele.data('ukMarginTop') > min.top && $ele.data('ukMarginPos') > min.pos) { + $ele.addClass(options.cls); + } + }); + }; + + UI.Utils.matchHeights = function(elements, options) { + + elements = UI.$(elements).css('min-height', ''); + options = UI.$.extend({ row : true }, options); + + var matchHeights = function(group){ + + if (group.length < 2) return; + + var max = 0; + + group.each(function() { + max = Math.max(max, UI.$(this).outerHeight()); + }).each(function() { + + var element = UI.$(this), + height = max - (element.css('box-sizing') == 'border-box' ? 0 : (element.outerHeight() - element.height())); + + element.css('min-height', height + 'px'); + }); + }; + + if (options.row) { + + elements.first().width(); // force redraw + + setTimeout(function(){ + + var lastoffset = false, group = []; + + elements.each(function() { + + var ele = UI.$(this), offset = ele.offset().top; + + if (offset != lastoffset && group.length) { + + matchHeights(UI.$(group)); + group = []; + offset = ele.offset().top; + } + + group.push(ele); + lastoffset = offset; + }); + + if (group.length) { + matchHeights(UI.$(group)); + } + + }, 0); + + } else { + matchHeights(elements); + } + }; + + (function(cacheSvgs){ + + UI.Utils.inlineSvg = function(selector, root) { + + var images = UI.$(selector || 'img[src$=".svg"]', root || document).each(function(){ + + var img = UI.$(this), + src = img.attr('src'); + + if (!cacheSvgs[src]) { + + var d = UI.$.Deferred(); + + UI.$.get(src, {nc: Math.random()}, function(data){ + d.resolve(UI.$(data).find('svg')); + }); + + cacheSvgs[src] = d.promise(); + } + + cacheSvgs[src].then(function(svg) { + + var $svg = UI.$(svg).clone(); + + if (img.attr('id')) $svg.attr('id', img.attr('id')); + if (img.attr('class')) $svg.attr('class', img.attr('class')); + if (img.attr('style')) $svg.attr('style', img.attr('style')); + + if (img.attr('width')) { + $svg.attr('width', img.attr('width')); + if (!img.attr('height')) $svg.removeAttr('height'); + } + + if (img.attr('height')){ + $svg.attr('height', img.attr('height')); + if (!img.attr('width')) $svg.removeAttr('width'); + } + + img.replaceWith($svg); + }); + }); + }; + + // init code + UI.ready(function(context) { + UI.Utils.inlineSvg('[data-uk-svg]', context); + }); + + })({}); + + UI.Utils.getCssVar = function(name) { + + /* usage in css: .var-name:before { content:"xyz" } */ + + var val, doc = document.documentElement, element = doc.appendChild(document.createElement('div')); + + element.classList.add('var-'+name); + + try { + val = JSON.parse(val = getComputedStyle(element, ':before').content.replace(/^["'](.*)["']$/, '$1')); + } catch (e) { + val = undefined; + } + + doc.removeChild(element); + + return val; + } + +})(UIkit2); diff --git a/bower_components/uikit/js/core/utility.min.js b/bower_components/uikit/js/core/utility.min.js new file mode 100644 index 0000000..de5581d --- /dev/null +++ b/bower_components/uikit/js/core/utility.min.js @@ -0,0 +1,2 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){"use strict";var i=[];t.component("stackMargin",{defaults:{cls:"uk-margin-small-top",rowfirst:!1,observe:!1},boot:function(){t.ready(function(i){t.$("[data-uk-margin]",i).each(function(){var i=t.$(this);i.data("stackMargin")||t.stackMargin(i,t.Utils.options(i.attr("data-uk-margin")))})})},init:function(){var e=this;t.$win.on("resize orientationchange",function(){var i=function(){e.process()};return t.$(function(){i(),t.$win.on("load",i)}),t.Utils.debounce(i,20)}()),this.on("display.uk.check",function(){this.element.is(":visible")&&this.process()}.bind(this)),this.options.observe&&t.domObserve(this.element,function(){e.element.is(":visible")&&e.process()}),i.push(this)},process:function(){var i=this.element.children();if(t.Utils.stackMargin(i,this.options),!this.options.rowfirst||!i.length)return this;var e={},n=!1;return i.removeClass(this.options.rowfirst).each(function(i,s){s=t.$(this),"none"!=this.style.display&&(i=s.offset().left,((e[i]=e[i]||[])&&e[i]).push(this),n=n===!1?i:Math.min(n,i))}),t.$(e[n]).addClass(this.options.rowfirst),this}}),function(){var i=[],e=function(t){if(t.is(":visible")){var i=t.parent().width(),e=t.data("width"),n=i/e,s=Math.floor(n*t.data("height"));t.css({height:e>i?s:t.data("height")})}};t.component("responsiveElement",{defaults:{},boot:function(){t.ready(function(i){t.$("iframe.uk-responsive-width, [data-uk-responsive]",i).each(function(){var i,e=t.$(this);e.data("responsiveElement")||(i=t.responsiveElement(e,{}))})})},init:function(){var t=this.element;t.attr("width")&&t.attr("height")&&(t.data({width:t.attr("width"),height:t.attr("height")}).on("display.uk.check",function(){e(t)}),e(t),i.push(t))}}),t.$win.on("resize load",t.Utils.debounce(function(){i.forEach(function(t){e(t)})},15))}(),t.Utils.stackMargin=function(i,e){e=t.$.extend({cls:"uk-margin-small-top"},e),i=t.$(i).removeClass(e.cls);var n=!1;i.each(function(i,e,s,a){a=t.$(this),"none"!=a.css("display")&&(i=a.offset(),e=a.outerHeight(),s=i.top+e,a.data({ukMarginPos:s,ukMarginTop:i.top}),(n===!1||i.topn.top&&i.data("ukMarginPos")>n.pos&&i.addClass(e.cls)})},t.Utils.matchHeights=function(i,e){i=t.$(i).css("min-height",""),e=t.$.extend({row:!0},e);var n=function(i){if(!(i.length<2)){var e=0;i.each(function(){e=Math.max(e,t.$(this).outerHeight())}).each(function(){var i=t.$(this),n=e-("border-box"==i.css("box-sizing")?0:i.outerHeight()-i.height());i.css("min-height",n+"px")})}};e.row?(i.first().width(),setTimeout(function(){var e=!1,s=[];i.each(function(){var i=t.$(this),a=i.offset().top;a!=e&&s.length&&(n(t.$(s)),s=[],a=i.offset().top),s.push(i),e=a}),s.length&&n(t.$(s))},0)):n(i)},function(i){t.Utils.inlineSvg=function(e,n){t.$(e||'img[src$=".svg"]',n||document).each(function(){var e=t.$(this),n=e.attr("src");if(!i[n]){var s=t.$.Deferred();t.$.get(n,{nc:Math.random()},function(i){s.resolve(t.$(i).find("svg"))}),i[n]=s.promise()}i[n].then(function(i){var n=t.$(i).clone();e.attr("id")&&n.attr("id",e.attr("id")),e.attr("class")&&n.attr("class",e.attr("class")),e.attr("style")&&n.attr("style",e.attr("style")),e.attr("width")&&(n.attr("width",e.attr("width")),e.attr("height")||n.removeAttr("height")),e.attr("height")&&(n.attr("height",e.attr("height")),e.attr("width")||n.removeAttr("width")),e.replaceWith(n)})})},t.ready(function(i){t.Utils.inlineSvg("[data-uk-svg]",i)})}({}),t.Utils.getCssVar=function(t){var i,e=document.documentElement,n=e.appendChild(document.createElement("div"));n.classList.add("var-"+t);try{i=JSON.parse(i=getComputedStyle(n,":before").content.replace(/^["'](.*)["']$/,"$1"))}catch(s){i=void 0}return e.removeChild(n),i}}(UIkit2); \ No newline at end of file diff --git a/bower_components/uikit/js/uikit.js b/bower_components/uikit/js/uikit.js new file mode 100644 index 0000000..a361249 --- /dev/null +++ b/bower_components/uikit/js/uikit.js @@ -0,0 +1,3922 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +(function(core) { + + var uikit; + + if (!window.jQuery) { + throw new Error('UIkit 2.x requires jQuery'); + } else { + uikit = core(window.jQuery); + } + + if (typeof define == 'function' && define.amd) { // AMD + + define('uikit', function(){ + + uikit.load = function(res, req, onload, config) { + + var resources = res.split(','), load = [], i, base = (config.config && config.config.uikit && config.config.uikit.base ? config.config.uikit.base : '').replace(/\/+$/g, ''); + + if (!base) { + throw new Error('Please define base path to UIkit in the requirejs config.'); + } + + for (i = 0; i < resources.length; i += 1) { + var resource = resources[i].replace(/\./g, '/'); + load.push(base+'/components/'+resource); + } + + req(load, function() { + onload(uikit); + }); + }; + + return uikit; + }); + } + +})(function($) { + + "use strict"; + + if (window.UIkit2) { + return window.UIkit2; + } + + var UI = {}, _UI = window.UIkit || undefined; + + UI.version = '2.27.5'; + + UI.noConflict = function() { + // restore UIkit version + if (_UI) { + window.UIkit = _UI; + $.UIkit = _UI; + $.fn.uk = _UI.fn; + } + + return UI; + }; + + window.UIkit2 = UI; + + if (!_UI) { + window.UIkit = UI; + } + + // cache jQuery + UI.$ = $; + + UI.$doc = UI.$(document); + UI.$win = UI.$(window); + UI.$html = UI.$('html'); + + UI.support = {}; + UI.support.transition = (function() { + + var transitionEnd = (function() { + + var element = document.body || document.documentElement, + transEndEventNames = { + WebkitTransition : 'webkitTransitionEnd', + MozTransition : 'transitionend', + OTransition : 'oTransitionEnd otransitionend', + transition : 'transitionend' + }, name; + + for (name in transEndEventNames) { + if (element.style[name] !== undefined) return transEndEventNames[name]; + } + }()); + + return transitionEnd && { end: transitionEnd }; + })(); + + UI.support.animation = (function() { + + var animationEnd = (function() { + + var element = document.body || document.documentElement, + animEndEventNames = { + WebkitAnimation : 'webkitAnimationEnd', + MozAnimation : 'animationend', + OAnimation : 'oAnimationEnd oanimationend', + animation : 'animationend' + }, name; + + for (name in animEndEventNames) { + if (element.style[name] !== undefined) return animEndEventNames[name]; + } + }()); + + return animationEnd && { end: animationEnd }; + })(); + + // requestAnimationFrame polyfill + //https://github.com/darius/requestAnimationFrame + (function() { + + Date.now = Date.now || function() { return new Date().getTime(); }; + + var vendors = ['webkit', 'moz']; + for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) { + var vp = vendors[i]; + window.requestAnimationFrame = window[vp+'RequestAnimationFrame']; + window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame'] + || window[vp+'CancelRequestAnimationFrame']); + } + if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) // iOS6 is buggy + || !window.requestAnimationFrame || !window.cancelAnimationFrame) { + var lastTime = 0; + window.requestAnimationFrame = function(callback) { + var now = Date.now(); + var nextTime = Math.max(lastTime + 16, now); + return setTimeout(function() { callback(lastTime = nextTime); }, + nextTime - now); + }; + window.cancelAnimationFrame = clearTimeout; + } + }()); + + UI.support.touch = ( + ('ontouchstart' in document) || + (window.DocumentTouch && document instanceof window.DocumentTouch) || + (window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 0) || //IE 10 + (window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 0) || //IE >=11 + false + ); + + UI.support.mutationobserver = (window.MutationObserver || window.WebKitMutationObserver || null); + + UI.Utils = {}; + + UI.Utils.isFullscreen = function() { + return document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement || document.fullscreenElement || false; + }; + + UI.Utils.str2json = function(str, notevil) { + try { + if (notevil) { + return JSON.parse(str + // wrap keys without quote with valid double quote + .replace(/([\$\w]+)\s*:/g, function(_, $1){return '"'+$1+'":';}) + // replacing single quote wrapped ones to double quote + .replace(/'([^']+)'/g, function(_, $1){return '"'+$1+'"';}) + ); + } else { + return (new Function('', 'var json = ' + str + '; return JSON.parse(JSON.stringify(json));'))(); + } + } catch(e) { return false; } + }; + + UI.Utils.debounce = function(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; + }; + + UI.Utils.throttle = function (func, limit) { + var wait = false; + return function () { + if (!wait) { + func.call(); + wait = true; + setTimeout(function () { + wait = false; + }, limit); + } + } + }; + + UI.Utils.removeCssRules = function(selectorRegEx) { + var idx, idxs, stylesheet, _i, _j, _k, _len, _len1, _len2, _ref; + + if(!selectorRegEx) return; + + setTimeout(function(){ + try { + _ref = document.styleSheets; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + stylesheet = _ref[_i]; + idxs = []; + stylesheet.cssRules = stylesheet.cssRules; + for (idx = _j = 0, _len1 = stylesheet.cssRules.length; _j < _len1; idx = ++_j) { + if (stylesheet.cssRules[idx].type === CSSRule.STYLE_RULE && selectorRegEx.test(stylesheet.cssRules[idx].selectorText)) { + idxs.unshift(idx); + } + } + for (_k = 0, _len2 = idxs.length; _k < _len2; _k++) { + stylesheet.deleteRule(idxs[_k]); + } + } + } catch (_error) {} + }, 0); + }; + + UI.Utils.isInView = function(element, options) { + + var $element = $(element); + + if (!$element.is(':visible')) { + return false; + } + + var window_left = UI.$win.scrollLeft(), window_top = UI.$win.scrollTop(), offset = $element.offset(), left = offset.left, top = offset.top; + + options = $.extend({topoffset:0, leftoffset:0}, options); + + if (top + $element.height() >= window_top && top - options.topoffset <= window_top + UI.$win.height() && + left + $element.width() >= window_left && left - options.leftoffset <= window_left + UI.$win.width()) { + return true; + } else { + return false; + } + }; + + UI.Utils.checkDisplay = function(context, initanimation) { + + var elements = UI.$('[data-uk-margin], [data-uk-grid-match], [data-uk-grid-margin], [data-uk-check-display]', context || document), animated; + + if (context && !elements.length) { + elements = $(context); + } + + elements.trigger('display.uk.check'); + + // fix firefox / IE animations + if (initanimation) { + + if (typeof(initanimation)!='string') { + initanimation = '[class*="uk-animation-"]'; + } + + elements.find(initanimation).each(function(){ + + var ele = UI.$(this), + cls = ele.attr('class'), + anim = cls.match(/uk-animation-(.+)/); + + ele.removeClass(anim[0]).width(); + + ele.addClass(anim[0]); + }); + } + + return elements; + }; + + UI.Utils.options = function(string) { + + if ($.type(string)!='string') return string; + + if (string.indexOf(':') != -1 && string.trim().substr(-1) != '}') { + string = '{'+string+'}'; + } + + var start = (string ? string.indexOf("{") : -1), options = {}; + + if (start != -1) { + try { + options = UI.Utils.str2json(string.substr(start)); + } catch (e) {} + } + + return options; + }; + + UI.Utils.animate = function(element, cls) { + + var d = $.Deferred(); + + element = UI.$(element); + + element.css('display', 'none').addClass(cls).one(UI.support.animation.end, function() { + element.removeClass(cls); + d.resolve(); + }); + + element.css('display', ''); + + return d.promise(); + }; + + UI.Utils.uid = function(prefix) { + return (prefix || 'id') + (new Date().getTime())+"RAND"+(Math.ceil(Math.random() * 100000)); + }; + + UI.Utils.template = function(str, data) { + + var tokens = str.replace(/\n/g, '\\n').replace(/\{\{\{\s*(.+?)\s*\}\}\}/g, "{{!$1}}").split(/(\{\{\s*(.+?)\s*\}\})/g), + i=0, toc, cmd, prop, val, fn, output = [], openblocks = 0; + + while(i < tokens.length) { + + toc = tokens[i]; + + if(toc.match(/\{\{\s*(.+?)\s*\}\}/)) { + i = i + 1; + toc = tokens[i]; + cmd = toc[0]; + prop = toc.substring(toc.match(/^(\^|\#|\!|\~|\:)/) ? 1:0); + + switch(cmd) { + case '~': + output.push('for(var $i=0;$i<'+prop+'.length;$i++) { var $item = '+prop+'[$i];'); + openblocks++; + break; + case ':': + output.push('for(var $key in '+prop+') { var $val = '+prop+'[$key];'); + openblocks++; + break; + case '#': + output.push('if('+prop+') {'); + openblocks++; + break; + case '^': + output.push('if(!'+prop+') {'); + openblocks++; + break; + case '/': + output.push('}'); + openblocks--; + break; + case '!': + output.push('__ret.push('+prop+');'); + break; + default: + output.push('__ret.push(escape('+prop+'));'); + break; + } + } else { + output.push("__ret.push('"+toc.replace(/\'/g, "\\'")+"');"); + } + i = i + 1; + } + + fn = new Function('$data', [ + 'var __ret = [];', + 'try {', + 'with($data){', (!openblocks ? output.join('') : '__ret = ["Not all blocks are closed correctly."]'), '};', + '}catch(e){__ret = [e.message];}', + 'return __ret.join("").replace(/\\n\\n/g, "\\n");', + "function escape(html) { return String(html).replace(/&/g, '&').replace(/\"/g, '"').replace(//g, '>');}" + ].join("\n")); + + return data ? fn(data) : fn; + }; + + UI.Utils.focus = function(element, extra) { + + element = $(element); + + if (!element.length) { + return element; + } + + var autofocus = element.find('[autofocus]:first'), tabidx; + + if (autofocus.length) { + return autofocus.focus(); + } + + autofocus = element.find(':input'+(extra && (','+extra) || '')).first(); + + if (autofocus.length) { + return autofocus.focus(); + } + + if (!element.attr('tabindex')) { + tabidx = 1000; + element.attr('tabindex', tabidx); + } + + element[0].focus(); + + if (tabidx) { + element.attr('tabindex', ''); + } + + return element; + } + + UI.Utils.events = {}; + UI.Utils.events.click = UI.support.touch ? 'tap' : 'click'; + + // deprecated + + UI.fn = function(command, options) { + + var args = arguments, cmd = command.match(/^([a-z\-]+)(?:\.([a-z]+))?/i), component = cmd[1], method = cmd[2]; + + if (!UI[component]) { + $.error('UIkit component [' + component + '] does not exist.'); + return this; + } + + return this.each(function() { + var $this = $(this), data = $this.data(component); + if (!data) $this.data(component, (data = UI[component](this, method ? undefined : options))); + if (method) data[method].apply(data, Array.prototype.slice.call(args, 1)); + }); + }; + + $.UIkit = UI; + $.fn.uk = UI.fn; + + UI.langdirection = UI.$html.attr("dir") == "rtl" ? "right" : "left"; + + UI.components = {}; + + UI.component = function(name, def, override) { + + if (UI.components[name] && !override) { + return UI.components[name]; + } + + var fn = function(element, options) { + + var $this = this; + + this.UIkit = UI; + this.element = element ? UI.$(element) : null; + this.options = $.extend(true, {}, this.defaults, options); + this.plugins = {}; + + if (this.element) { + this.element.data(name, this); + } + + this.init(); + + (this.options.plugins.length ? this.options.plugins : Object.keys(fn.plugins)).forEach(function(plugin) { + + if (fn.plugins[plugin].init) { + fn.plugins[plugin].init($this); + $this.plugins[plugin] = true; + } + + }); + + this.trigger('init.uk.component', [name, this]); + + return this; + }; + + fn.plugins = {}; + + $.extend(true, fn.prototype, { + + defaults : {plugins: []}, + + boot: function(){}, + init: function(){}, + + on: function(a1,a2,a3){ + return UI.$(this.element || this).on(a1,a2,a3); + }, + + one: function(a1,a2,a3){ + return UI.$(this.element || this).one(a1,a2,a3); + }, + + off: function(evt){ + return UI.$(this.element || this).off(evt); + }, + + trigger: function(evt, params) { + return UI.$(this.element || this).trigger(evt, params); + }, + + find: function(selector) { + return UI.$(this.element ? this.element: []).find(selector); + }, + + proxy: function(obj, methods) { + + var $this = this; + + methods.split(' ').forEach(function(method) { + if (!$this[method]) $this[method] = function() { return obj[method].apply(obj, arguments); }; + }); + }, + + mixin: function(obj, methods) { + + var $this = this; + + methods.split(' ').forEach(function(method) { + if (!$this[method]) $this[method] = obj[method].bind($this); + }); + }, + + option: function() { + + if (arguments.length == 1) { + return this.options[arguments[0]] || undefined; + } else if (arguments.length == 2) { + this.options[arguments[0]] = arguments[1]; + } + } + + }, def); + + this.components[name] = fn; + + this[name] = function() { + + var element, options; + + if (arguments.length) { + + switch(arguments.length) { + case 1: + + if (typeof arguments[0] === 'string' || arguments[0].nodeType || arguments[0] instanceof jQuery) { + element = $(arguments[0]); + } else { + options = arguments[0]; + } + + break; + case 2: + + element = $(arguments[0]); + options = arguments[1]; + break; + } + } + + if (element && element.data(name)) { + return element.data(name); + } + + return (new UI.components[name](element, options)); + }; + + if (UI.domready) { + UI.component.boot(name); + } + + return fn; + }; + + UI.plugin = function(component, name, def) { + this.components[component].plugins[name] = def; + }; + + UI.component.boot = function(name) { + + if (UI.components[name].prototype && UI.components[name].prototype.boot && !UI.components[name].booted) { + UI.components[name].prototype.boot.apply(UI, []); + UI.components[name].booted = true; + } + }; + + UI.component.bootComponents = function() { + + for (var component in UI.components) { + UI.component.boot(component); + } + }; + + + // DOM mutation save ready helper function + + UI.domObservers = []; + UI.domready = false; + + UI.ready = function(fn) { + + UI.domObservers.push(fn); + + if (UI.domready) { + fn(document); + } + }; + + UI.on = function(a1,a2,a3){ + + if (a1 && a1.indexOf('ready.uk.dom') > -1 && UI.domready) { + a2.apply(UI.$doc); + } + + return UI.$doc.on(a1,a2,a3); + }; + + UI.one = function(a1,a2,a3){ + + if (a1 && a1.indexOf('ready.uk.dom') > -1 && UI.domready) { + a2.apply(UI.$doc); + return UI.$doc; + } + + return UI.$doc.one(a1,a2,a3); + }; + + UI.trigger = function(evt, params) { + return UI.$doc.trigger(evt, params); + }; + + UI.domObserve = function(selector, fn) { + + if(!UI.support.mutationobserver) return; + + fn = fn || function() {}; + + UI.$(selector).each(function() { + + var element = this, + $element = UI.$(element); + + if ($element.data('observer')) { + return; + } + + try { + + var observer = new UI.support.mutationobserver(UI.Utils.debounce(function(mutations) { + fn.apply(element, [$element]); + $element.trigger('changed.uk.dom'); + }, 50), {childList: true, subtree: true}); + + // pass in the target node, as well as the observer options + observer.observe(element, { childList: true, subtree: true }); + + $element.data('observer', observer); + + } catch(e) {} + }); + }; + + UI.init = function(root) { + + root = root || document; + + UI.domObservers.forEach(function(fn){ + fn(root); + }); + }; + + UI.on('domready.uk.dom', function(){ + + UI.init(); + + if (UI.domready) UI.Utils.checkDisplay(); + }); + + document.addEventListener('DOMContentLoaded', function(){ + + var domReady = function() { + + UI.$body = UI.$('body'); + + UI.trigger('beforeready.uk.dom'); + + UI.component.bootComponents(); + + // custom scroll observer + var rafToken = requestAnimationFrame((function(){ + + var memory = {dir: {x:0, y:0}, x: window.pageXOffset, y:window.pageYOffset}; + + var fn = function(){ + // reading this (window.page[X|Y]Offset) causes a full page recalc of the layout in Chrome, + // so we only want to do this once + var wpxo = window.pageXOffset; + var wpyo = window.pageYOffset; + + // Did the scroll position change since the last time we were here? + if (memory.x != wpxo || memory.y != wpyo) { + + // Set the direction of the scroll and store the new position + if (wpxo != memory.x) {memory.dir.x = wpxo > memory.x ? 1:-1; } else { memory.dir.x = 0; } + if (wpyo != memory.y) {memory.dir.y = wpyo > memory.y ? 1:-1; } else { memory.dir.y = 0; } + + memory.x = wpxo; + memory.y = wpyo; + + // Trigger the scroll event, this could probably be sent using memory.clone() but this is + // more explicit and easier to see exactly what is being sent in the event. + UI.$doc.trigger('scrolling.uk.document', [{ + dir: {x: memory.dir.x, y: memory.dir.y}, x: wpxo, y: wpyo + }]); + } + + cancelAnimationFrame(rafToken); + rafToken = requestAnimationFrame(fn); + }; + + if (UI.support.touch) { + UI.$html.on('touchmove touchend MSPointerMove MSPointerUp pointermove pointerup', fn); + } + + if (memory.x || memory.y) fn(); + + return fn; + + })()); + + // run component init functions on dom + UI.trigger('domready.uk.dom'); + + if (UI.support.touch) { + + // remove css hover rules for touch devices + // UI.Utils.removeCssRules(/\.uk-(?!navbar).*:hover/); + + // viewport unit fix for uk-height-viewport - should be fixed in iOS 8 + if (navigator.userAgent.match(/(iPad|iPhone|iPod)/g)) { + + UI.$win.on('load orientationchange resize', UI.Utils.debounce((function(){ + + var fn = function() { + $('.uk-height-viewport').css('height', window.innerHeight); + return fn; + }; + + return fn(); + + })(), 100)); + } + } + + UI.trigger('afterready.uk.dom'); + + // mark that domready is left behind + UI.domready = true; + + // auto init js components + if (UI.support.mutationobserver) { + + var initFn = UI.Utils.debounce(function(){ + requestAnimationFrame(function(){ UI.init(document.body);}); + }, 10); + + (new UI.support.mutationobserver(function(mutations) { + + var init = false; + + mutations.every(function(mutation){ + + if (mutation.type != 'childList') return true; + + for (var i = 0, node; i < mutation.addedNodes.length; ++i) { + + node = mutation.addedNodes[i]; + + if (node.outerHTML && node.outerHTML.indexOf('data-uk-') !== -1) { + return (init = true) && false; + } + } + return true; + }); + + if (init) initFn(); + + })).observe(document.body, {childList: true, subtree: true}); + } + }; + + if (document.readyState == 'complete' || document.readyState == 'interactive') { + setTimeout(domReady); + } + + return domReady; + + }()); + + // add touch identifier class + UI.$html.addClass(UI.support.touch ? 'uk-touch' : 'uk-notouch'); + + // add uk-hover class on tap to support overlays on touch devices + if (UI.support.touch) { + + var hoverset = false, + exclude, + hovercls = 'uk-hover', + selector = '.uk-overlay, .uk-overlay-hover, .uk-overlay-toggle, .uk-animation-hover, .uk-has-hover'; + + UI.$html.on('mouseenter touchstart MSPointerDown pointerdown', selector, function() { + + if (hoverset) $('.'+hovercls).removeClass(hovercls); + + hoverset = $(this).addClass(hovercls); + + }).on('mouseleave touchend MSPointerUp pointerup', function(e) { + + exclude = $(e.target).parents(selector); + + if (hoverset) { + hoverset.not(exclude).removeClass(hovercls); + } + }); + } + + return UI; +}); + +// Based on Zeptos touch.js +// https://raw.github.com/madrobby/zepto/master/src/touch.js +// Zepto.js may be freely distributed under the MIT license. + +;(function($){ + + if ($.fn.swipeLeft) { + return; + } + + + var touch = {}, touchTimeout, tapTimeout, swipeTimeout, longTapTimeout, longTapDelay = 750, gesture; + var hasTouchEvents = 'ontouchstart' in window, + hasPointerEvents = window.PointerEvent, + hasTouch = hasTouchEvents + || window.DocumentTouch && document instanceof DocumentTouch + || navigator.msPointerEnabled && navigator.msMaxTouchPoints > 0 // IE 10 + || navigator.pointerEnabled && navigator.maxTouchPoints > 0; // IE >=11 + + function swipeDirection(x1, x2, y1, y2) { + return Math.abs(x1 - x2) >= Math.abs(y1 - y2) ? (x1 - x2 > 0 ? 'Left' : 'Right') : (y1 - y2 > 0 ? 'Up' : 'Down'); + } + + function longTap() { + longTapTimeout = null; + if (touch.last) { + if ( touch.el !== undefined ) touch.el.trigger('longTap'); + touch = {}; + } + } + + function cancelLongTap() { + if (longTapTimeout) clearTimeout(longTapTimeout); + longTapTimeout = null; + } + + function cancelAll() { + if (touchTimeout) clearTimeout(touchTimeout); + if (tapTimeout) clearTimeout(tapTimeout); + if (swipeTimeout) clearTimeout(swipeTimeout); + if (longTapTimeout) clearTimeout(longTapTimeout); + touchTimeout = tapTimeout = swipeTimeout = longTapTimeout = null; + touch = {}; + } + + function isPrimaryTouch(event){ + return event.pointerType == event.MSPOINTER_TYPE_TOUCH && event.isPrimary; + } + + $(function(){ + var now, delta, deltaX = 0, deltaY = 0, firstTouch; + + if ('MSGesture' in window) { + gesture = new MSGesture(); + gesture.target = document.body; + } + + $(document) + .on('MSGestureEnd gestureend', function(e){ + + var swipeDirectionFromVelocity = e.originalEvent.velocityX > 1 ? 'Right' : e.originalEvent.velocityX < -1 ? 'Left' : e.originalEvent.velocityY > 1 ? 'Down' : e.originalEvent.velocityY < -1 ? 'Up' : null; + + if (swipeDirectionFromVelocity && touch.el !== undefined) { + touch.el.trigger('swipe'); + touch.el.trigger('swipe'+ swipeDirectionFromVelocity); + } + }) + // MSPointerDown: for IE10 + // pointerdown: for IE11 + .on('touchstart MSPointerDown pointerdown', function(e){ + + if(e.type == 'MSPointerDown' && !isPrimaryTouch(e.originalEvent)) return; + + firstTouch = (e.type == 'MSPointerDown' || e.type == 'pointerdown') ? e : e.originalEvent.touches[0]; + + now = Date.now(); + delta = now - (touch.last || now); + touch.el = $('tagName' in firstTouch.target ? firstTouch.target : firstTouch.target.parentNode); + + if(touchTimeout) clearTimeout(touchTimeout); + + touch.x1 = firstTouch.pageX; + touch.y1 = firstTouch.pageY; + + if (delta > 0 && delta <= 250) touch.isDoubleTap = true; + + touch.last = now; + longTapTimeout = setTimeout(longTap, longTapDelay); + + // adds the current touch contact for IE gesture recognition + if (e.originalEvent && e.originalEvent.pointerId && gesture && ( e.type == 'MSPointerDown' || e.type == 'pointerdown' || e.type == 'touchstart' ) ) { + gesture.addPointer(e.originalEvent.pointerId); + } + + }) + // MSPointerMove: for IE10 + // pointermove: for IE11 + .on('touchmove MSPointerMove pointermove', function(e){ + + if (e.type == 'MSPointerMove' && !isPrimaryTouch(e.originalEvent)) return; + + firstTouch = (e.type == 'MSPointerMove' || e.type == 'pointermove') ? e : e.originalEvent.touches[0]; + + cancelLongTap(); + touch.x2 = firstTouch.pageX; + touch.y2 = firstTouch.pageY; + + deltaX += Math.abs(touch.x1 - touch.x2); + deltaY += Math.abs(touch.y1 - touch.y2); + }) + // MSPointerUp: for IE10 + // pointerup: for IE11 + .on('touchend MSPointerUp pointerup', function(e){ + + if (e.type == 'MSPointerUp' && !isPrimaryTouch(e.originalEvent)) return; + + cancelLongTap(); + + // swipe + if ((touch.x2 && Math.abs(touch.x1 - touch.x2) > 30) || (touch.y2 && Math.abs(touch.y1 - touch.y2) > 30)){ + + swipeTimeout = setTimeout(function() { + if ( touch.el !== undefined ) { + touch.el.trigger('swipe'); + touch.el.trigger('swipe' + (swipeDirection(touch.x1, touch.x2, touch.y1, touch.y2))); + } + touch = {}; + }, 0); + + // normal tap + } else if ('last' in touch) { + + // don't fire tap when delta position changed by more than 30 pixels, + // for instance when moving to a point and back to origin + if (isNaN(deltaX) || (deltaX < 30 && deltaY < 30)) { + // delay by one tick so we can cancel the 'tap' event if 'scroll' fires + // ('tap' fires before 'scroll') + tapTimeout = setTimeout(function() { + + // trigger universal 'tap' with the option to cancelTouch() + // (cancelTouch cancels processing of single vs double taps for faster 'tap' response) + var event = $.Event('tap'); + event.cancelTouch = cancelAll; + if ( touch.el !== undefined ) touch.el.trigger(event); + + // trigger double tap immediately + if (touch.isDoubleTap) { + if ( touch.el !== undefined ) touch.el.trigger('doubleTap'); + touch = {}; + } + + // trigger single tap after 250ms of inactivity + else { + touchTimeout = setTimeout(function(){ + touchTimeout = null; + if ( touch.el !== undefined ) touch.el.trigger('singleTap'); + touch = {}; + }, 250); + } + }, 0); + } else { + touch = {}; + } + deltaX = deltaY = 0; + } + }) + // when the browser window loses focus, + // for example when a modal dialog is shown, + // cancel all ongoing events + .on('touchcancel MSPointerCancel pointercancel', function(e){ + + // Ignore pointercancel if the event supports touch events, to prevent pointercancel in swipe gesture + if ((e.type == 'touchcancel' && hasTouchEvents && hasTouch) || (!hasTouchEvents && e.type == 'pointercancel' && hasPointerEvents)) { + cancelAll(); + } + + }); + + // scrolling the window indicates intention of the user + // to scroll, not tap or swipe, so cancel all ongoing events + $(window).on('scroll', cancelAll); + }); + + ['swipe', 'swipeLeft', 'swipeRight', 'swipeUp', 'swipeDown', 'doubleTap', 'tap', 'singleTap', 'longTap'].forEach(function(eventName){ + $.fn[eventName] = function(callback){ return $(this).on(eventName, callback); }; + }); +})(jQuery); + +(function(UI) { + + "use strict"; + + var stacks = []; + + UI.component('stackMargin', { + + defaults: { + cls: 'uk-margin-small-top', + rowfirst: false, + observe: false + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-margin]', context).each(function() { + + var ele = UI.$(this); + + if (!ele.data('stackMargin')) { + UI.stackMargin(ele, UI.Utils.options(ele.attr('data-uk-margin'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + UI.$win.on('resize orientationchange', (function() { + + var fn = function() { + $this.process(); + }; + + UI.$(function() { + fn(); + UI.$win.on('load', fn); + }); + + return UI.Utils.debounce(fn, 20); + })()); + + this.on('display.uk.check', function(e) { + if (this.element.is(':visible')) this.process(); + }.bind(this)); + + if (this.options.observe) { + + UI.domObserve(this.element, function(e) { + if ($this.element.is(':visible')) $this.process(); + }); + } + + stacks.push(this); + }, + + process: function() { + + var $this = this, columns = this.element.children(); + + UI.Utils.stackMargin(columns, this.options); + + if (!this.options.rowfirst || !columns.length) { + return this; + } + + // Mark first column elements + var group = {}, minleft = false; + + columns.removeClass(this.options.rowfirst).each(function(offset, $ele){ + + $ele = UI.$(this); + + if (this.style.display != 'none') { + offset = $ele.offset().left; + ((group[offset] = group[offset] || []) && group[offset]).push(this); + minleft = minleft === false ? offset : Math.min(minleft, offset); + } + }); + + UI.$(group[minleft]).addClass(this.options.rowfirst); + + return this; + } + + }); + + + // responsive element e.g. iframes + + (function(){ + + var elements = [], check = function(ele) { + + if (!ele.is(':visible')) return; + + var width = ele.parent().width(), + iwidth = ele.data('width'), + ratio = (width / iwidth), + height = Math.floor(ratio * ele.data('height')); + + ele.css({height: (width < iwidth) ? height : ele.data('height')}); + }; + + UI.component('responsiveElement', { + + defaults: {}, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('iframe.uk-responsive-width, [data-uk-responsive]', context).each(function() { + + var ele = UI.$(this), obj; + + if (!ele.data('responsiveElement')) { + obj = UI.responsiveElement(ele, {}); + } + }); + }); + }, + + init: function() { + + var ele = this.element; + + if (ele.attr('width') && ele.attr('height')) { + + ele.data({ + width : ele.attr('width'), + height: ele.attr('height') + }).on('display.uk.check', function(){ + check(ele); + }); + + check(ele); + + elements.push(ele); + } + } + }); + + UI.$win.on('resize load', UI.Utils.debounce(function(){ + + elements.forEach(function(ele){ + check(ele); + }); + + }, 15)); + + })(); + + + // helper + + UI.Utils.stackMargin = function(elements, options) { + + options = UI.$.extend({ + cls: 'uk-margin-small-top' + }, options); + + elements = UI.$(elements).removeClass(options.cls); + + var min = false; + + elements.each(function(offset, height, pos, $ele){ + + $ele = UI.$(this); + + if ($ele.css('display') != 'none') { + + offset = $ele.offset(); + height = $ele.outerHeight(); + pos = offset.top + height; + + $ele.data({ + ukMarginPos: pos, + ukMarginTop: offset.top + }); + + if (min === false || (offset.top < min.top) ) { + + min = { + top : offset.top, + left : offset.left, + pos : pos + }; + } + } + + }).each(function($ele) { + + $ele = UI.$(this); + + if ($ele.css('display') != 'none' && $ele.data('ukMarginTop') > min.top && $ele.data('ukMarginPos') > min.pos) { + $ele.addClass(options.cls); + } + }); + }; + + UI.Utils.matchHeights = function(elements, options) { + + elements = UI.$(elements).css('min-height', ''); + options = UI.$.extend({ row : true }, options); + + var matchHeights = function(group){ + + if (group.length < 2) return; + + var max = 0; + + group.each(function() { + max = Math.max(max, UI.$(this).outerHeight()); + }).each(function() { + + var element = UI.$(this), + height = max - (element.css('box-sizing') == 'border-box' ? 0 : (element.outerHeight() - element.height())); + + element.css('min-height', height + 'px'); + }); + }; + + if (options.row) { + + elements.first().width(); // force redraw + + setTimeout(function(){ + + var lastoffset = false, group = []; + + elements.each(function() { + + var ele = UI.$(this), offset = ele.offset().top; + + if (offset != lastoffset && group.length) { + + matchHeights(UI.$(group)); + group = []; + offset = ele.offset().top; + } + + group.push(ele); + lastoffset = offset; + }); + + if (group.length) { + matchHeights(UI.$(group)); + } + + }, 0); + + } else { + matchHeights(elements); + } + }; + + (function(cacheSvgs){ + + UI.Utils.inlineSvg = function(selector, root) { + + var images = UI.$(selector || 'img[src$=".svg"]', root || document).each(function(){ + + var img = UI.$(this), + src = img.attr('src'); + + if (!cacheSvgs[src]) { + + var d = UI.$.Deferred(); + + UI.$.get(src, {nc: Math.random()}, function(data){ + d.resolve(UI.$(data).find('svg')); + }); + + cacheSvgs[src] = d.promise(); + } + + cacheSvgs[src].then(function(svg) { + + var $svg = UI.$(svg).clone(); + + if (img.attr('id')) $svg.attr('id', img.attr('id')); + if (img.attr('class')) $svg.attr('class', img.attr('class')); + if (img.attr('style')) $svg.attr('style', img.attr('style')); + + if (img.attr('width')) { + $svg.attr('width', img.attr('width')); + if (!img.attr('height')) $svg.removeAttr('height'); + } + + if (img.attr('height')){ + $svg.attr('height', img.attr('height')); + if (!img.attr('width')) $svg.removeAttr('width'); + } + + img.replaceWith($svg); + }); + }); + }; + + // init code + UI.ready(function(context) { + UI.Utils.inlineSvg('[data-uk-svg]', context); + }); + + })({}); + + UI.Utils.getCssVar = function(name) { + + /* usage in css: .var-name:before { content:"xyz" } */ + + var val, doc = document.documentElement, element = doc.appendChild(document.createElement('div')); + + element.classList.add('var-'+name); + + try { + val = JSON.parse(val = getComputedStyle(element, ':before').content.replace(/^["'](.*)["']$/, '$1')); + } catch (e) { + val = undefined; + } + + doc.removeChild(element); + + return val; + } + +})(UIkit2); + +(function(UI) { + + "use strict"; + + UI.component('smoothScroll', { + + boot: function() { + + // init code + UI.$html.on('click.smooth-scroll.uikit', '[data-uk-smooth-scroll]', function(e) { + var ele = UI.$(this); + + if (!ele.data('smoothScroll')) { + var obj = UI.smoothScroll(ele, UI.Utils.options(ele.attr('data-uk-smooth-scroll'))); + ele.trigger('click'); + } + + return false; + }); + }, + + init: function() { + + var $this = this; + + this.on('click', function(e) { + e.preventDefault(); + scrollToElement(UI.$(this.hash).length ? UI.$(this.hash) : UI.$('body'), $this.options); + }); + } + }); + + function scrollToElement(ele, options) { + + options = UI.$.extend({ + duration: 1000, + transition: 'easeOutExpo', + offset: 0, + complete: function(){} + }, options); + + // get / set parameters + var target = ele.offset().top - options.offset, + docheight = UI.$doc.height(), + winheight = window.innerHeight; + + if ((target + winheight) > docheight) { + target = docheight - winheight; + } + + // animate to target, fire callback when done + UI.$('html,body').stop().animate({scrollTop: target}, options.duration, options.transition).promise().done(options.complete); + } + + UI.Utils.scrollToElement = scrollToElement; + + if (!UI.$.easing.easeOutExpo) { + UI.$.easing.easeOutExpo = function(x, t, b, c, d) { return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b; }; + } + +})(UIkit2); + +(function(UI) { + + "use strict"; + + var $win = UI.$win, + $doc = UI.$doc, + scrollspies = [], + checkScrollSpy = function() { + for(var i=0; i < scrollspies.length; i++) { + window.requestAnimationFrame.apply(window, [scrollspies[i].check]); + } + }; + + UI.component('scrollspy', { + + defaults: { + target : false, + cls : 'uk-scrollspy-inview', + initcls : 'uk-scrollspy-init-inview', + topoffset : 0, + leftoffset : 0, + repeat : false, + delay : 0 + }, + + boot: function() { + + // listen to scroll and resize + $doc.on('scrolling.uk.document', checkScrollSpy); + $win.on('load resize orientationchange', UI.Utils.debounce(checkScrollSpy, 50)); + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-scrollspy]', context).each(function() { + + var element = UI.$(this); + + if (!element.data('scrollspy')) { + var obj = UI.scrollspy(element, UI.Utils.options(element.attr('data-uk-scrollspy'))); + } + }); + }); + }, + + init: function() { + + var $this = this, inviewstate, initinview, togglecls = this.options.cls.split(/,/), fn = function(){ + + var elements = $this.options.target ? $this.element.find($this.options.target) : $this.element, + delayIdx = elements.length === 1 ? 1 : 0, + toggleclsIdx = 0; + + elements.each(function(idx){ + + var element = UI.$(this), + inviewstate = element.data('inviewstate'), + inview = UI.Utils.isInView(element, $this.options), + toggle = element.attr('data-uk-scrollspy-cls') || togglecls[toggleclsIdx].trim(); + + if (inview && !inviewstate && !element.data('scrollspy-idle')) { + + if (!initinview) { + element.addClass($this.options.initcls); + $this.offset = element.offset(); + initinview = true; + + element.trigger('init.uk.scrollspy'); + } + + element.data('scrollspy-idle', setTimeout(function(){ + + element.addClass('uk-scrollspy-inview').toggleClass(toggle).width(); + element.trigger('inview.uk.scrollspy'); + + element.data('scrollspy-idle', false); + element.data('inviewstate', true); + + }, $this.options.delay * delayIdx)); + + delayIdx++; + } + + if (!inview && inviewstate && $this.options.repeat) { + + if (element.data('scrollspy-idle')) { + clearTimeout(element.data('scrollspy-idle')); + element.data('scrollspy-idle', false); + } + + element.removeClass('uk-scrollspy-inview').toggleClass(toggle); + element.data('inviewstate', false); + + element.trigger('outview.uk.scrollspy'); + } + + toggleclsIdx = togglecls[toggleclsIdx + 1] ? (toggleclsIdx + 1) : 0; + + }); + }; + + fn(); + + this.check = fn; + + scrollspies.push(this); + } + }); + + + var scrollspynavs = [], + checkScrollSpyNavs = function() { + for(var i=0; i < scrollspynavs.length; i++) { + window.requestAnimationFrame.apply(window, [scrollspynavs[i].check]); + } + }; + + UI.component('scrollspynav', { + + defaults: { + cls : 'uk-active', + closest : false, + topoffset : 0, + leftoffset : 0, + smoothscroll : false + }, + + boot: function() { + + // listen to scroll and resize + $doc.on('scrolling.uk.document', checkScrollSpyNavs); + $win.on('resize orientationchange', UI.Utils.debounce(checkScrollSpyNavs, 50)); + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-scrollspy-nav]', context).each(function() { + + var element = UI.$(this); + + if (!element.data('scrollspynav')) { + var obj = UI.scrollspynav(element, UI.Utils.options(element.attr('data-uk-scrollspy-nav'))); + } + }); + }); + }, + + init: function() { + + var ids = [], + links = this.find("a[href^='#']").each(function(){ if(this.getAttribute('href').trim()!=='#') ids.push(this.getAttribute('href')); }), + targets = UI.$(ids.join(",")), + + clsActive = this.options.cls, + clsClosest = this.options.closest || this.options.closest; + + var $this = this, inviews, fn = function(){ + + inviews = []; + + for (var i=0 ; i < targets.length ; i++) { + if (UI.Utils.isInView(targets.eq(i), $this.options)) { + inviews.push(targets.eq(i)); + } + } + + if (inviews.length) { + + var navitems, + scrollTop = $win.scrollTop(), + target = (function(){ + for(var i=0; i< inviews.length;i++){ + if (inviews[i].offset().top - $this.options.topoffset >= scrollTop){ + return inviews[i]; + } + } + })(); + + if (!target) return; + + if ($this.options.closest) { + links.blur().closest(clsClosest).removeClass(clsActive); + navitems = links.filter("a[href='#"+target.attr('id')+"']").closest(clsClosest).addClass(clsActive); + } else { + navitems = links.removeClass(clsActive).filter("a[href='#"+target.attr("id")+"']").addClass(clsActive); + } + + $this.element.trigger('inview.uk.scrollspynav', [target, navitems]); + } + }; + + if (this.options.smoothscroll && UI.smoothScroll) { + links.each(function(){ + UI.smoothScroll(this, $this.options.smoothscroll); + }); + } + + fn(); + + this.element.data('scrollspynav', this); + + this.check = fn; + scrollspynavs.push(this); + + } + }); + +})(UIkit2); + +(function(UI){ + + "use strict"; + + var toggles = []; + + UI.component('toggle', { + + defaults: { + target : false, + cls : 'uk-hidden', + animation : false, + duration : 200 + }, + + boot: function(){ + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-toggle]', context).each(function() { + var ele = UI.$(this); + + if (!ele.data('toggle')) { + var obj = UI.toggle(ele, UI.Utils.options(ele.attr('data-uk-toggle'))); + } + }); + + setTimeout(function(){ + + toggles.forEach(function(toggle){ + toggle.getToggles(); + }); + + }, 0); + }); + }, + + init: function() { + + var $this = this; + + this.aria = (this.options.cls.indexOf('uk-hidden') !== -1); + + this.on('click', function(e) { + + if ($this.element.is('a[href="#"]')) { + e.preventDefault(); + } + + $this.toggle(); + }); + + toggles.push(this); + }, + + toggle: function() { + + this.getToggles(); + + if(!this.totoggle.length) return; + + if (this.options.animation && UI.support.animation) { + + var $this = this, animations = this.options.animation.split(','); + + if (animations.length == 1) { + animations[1] = animations[0]; + } + + animations[0] = animations[0].trim(); + animations[1] = animations[1].trim(); + + this.totoggle.css('animation-duration', this.options.duration+'ms'); + + this.totoggle.each(function(){ + + var ele = UI.$(this); + + if (ele.hasClass($this.options.cls)) { + + ele.toggleClass($this.options.cls); + + UI.Utils.animate(ele, animations[0]).then(function(){ + ele.css('animation-duration', ''); + UI.Utils.checkDisplay(ele); + }); + + } else { + + UI.Utils.animate(this, animations[1]+' uk-animation-reverse').then(function(){ + ele.toggleClass($this.options.cls).css('animation-duration', ''); + UI.Utils.checkDisplay(ele); + }); + + } + + }); + + } else { + this.totoggle.toggleClass(this.options.cls); + UI.Utils.checkDisplay(this.totoggle); + } + + this.updateAria(); + + }, + + getToggles: function() { + this.totoggle = this.options.target ? UI.$(this.options.target):[]; + this.updateAria(); + }, + + updateAria: function() { + if (this.aria && this.totoggle.length) { + this.totoggle.not('[aria-hidden]').each(function(){ + UI.$(this).attr('aria-hidden', UI.$(this).hasClass('uk-hidden')); + }); + } + } + }); + +})(UIkit2); + +(function(UI) { + + "use strict"; + + UI.component('alert', { + + defaults: { + fade: true, + duration: 200, + trigger: '.uk-alert-close' + }, + + boot: function() { + + // init code + UI.$html.on('click.alert.uikit', '[data-uk-alert]', function(e) { + + var ele = UI.$(this); + + if (!ele.data('alert')) { + + var alert = UI.alert(ele, UI.Utils.options(ele.attr('data-uk-alert'))); + + if (UI.$(e.target).is(alert.options.trigger)) { + e.preventDefault(); + alert.close(); + } + } + }); + }, + + init: function() { + + var $this = this; + + this.on('click', this.options.trigger, function(e) { + e.preventDefault(); + $this.close(); + }); + }, + + close: function() { + + var element = this.trigger('close.uk.alert'), + removeElement = function () { + this.trigger('closed.uk.alert').remove(); + }.bind(this); + + if (this.options.fade) { + element.css('overflow', 'hidden').css("max-height", element.height()).animate({ + height : 0, + opacity : 0, + paddingTop : 0, + paddingBottom : 0, + marginTop : 0, + marginBottom : 0 + }, this.options.duration, removeElement); + } else { + removeElement(); + } + } + + }); + +})(UIkit2); + +(function(UI) { + + "use strict"; + + UI.component('buttonRadio', { + + defaults: { + activeClass: 'uk-active', + target: '.uk-button' + }, + + boot: function() { + + // init code + UI.$html.on('click.buttonradio.uikit', '[data-uk-button-radio]', function(e) { + + var ele = UI.$(this); + + if (!ele.data('buttonRadio')) { + + var obj = UI.buttonRadio(ele, UI.Utils.options(ele.attr('data-uk-button-radio'))), + target = UI.$(e.target); + + if (target.is(obj.options.target)) { + target.trigger('click'); + } + } + }); + }, + + init: function() { + + var $this = this; + + // Init ARIA + this.find($this.options.target).attr('aria-checked', 'false').filter('.' + $this.options.activeClass).attr('aria-checked', 'true'); + + this.on('click', this.options.target, function(e) { + + var ele = UI.$(this); + + if (ele.is('a[href="#"]')) e.preventDefault(); + + $this.find($this.options.target).not(ele).removeClass($this.options.activeClass).blur(); + ele.addClass($this.options.activeClass); + + // Update ARIA + $this.find($this.options.target).not(ele).attr('aria-checked', 'false'); + ele.attr('aria-checked', 'true'); + + $this.trigger('change.uk.button', [ele]); + }); + + }, + + getSelected: function() { + return this.find('.' + this.options.activeClass); + } + }); + + UI.component('buttonCheckbox', { + + defaults: { + activeClass: 'uk-active', + target: '.uk-button' + }, + + boot: function() { + + UI.$html.on('click.buttoncheckbox.uikit', '[data-uk-button-checkbox]', function(e) { + var ele = UI.$(this); + + if (!ele.data('buttonCheckbox')) { + + var obj = UI.buttonCheckbox(ele, UI.Utils.options(ele.attr('data-uk-button-checkbox'))), + target = UI.$(e.target); + + if (target.is(obj.options.target)) { + target.trigger('click'); + } + } + }); + }, + + init: function() { + + var $this = this; + + // Init ARIA + this.find($this.options.target).attr('aria-checked', 'false').filter('.' + $this.options.activeClass).attr('aria-checked', 'true'); + + this.on('click', this.options.target, function(e) { + var ele = UI.$(this); + + if (ele.is('a[href="#"]')) e.preventDefault(); + + ele.toggleClass($this.options.activeClass).blur(); + + // Update ARIA + ele.attr('aria-checked', ele.hasClass($this.options.activeClass)); + + $this.trigger('change.uk.button', [ele]); + }); + + }, + + getSelected: function() { + return this.find('.' + this.options.activeClass); + } + }); + + + UI.component('button', { + + defaults: {}, + + boot: function() { + + UI.$html.on('click.button.uikit', '[data-uk-button]', function(e) { + var ele = UI.$(this); + + if (!ele.data('button')) { + + var obj = UI.button(ele, UI.Utils.options(ele.attr('data-uk-button'))); + ele.trigger('click'); + } + }); + }, + + init: function() { + + var $this = this; + + // Init ARIA + this.element.attr('aria-pressed', this.element.hasClass("uk-active")); + + this.on('click', function(e) { + + if ($this.element.is('a[href="#"]')) e.preventDefault(); + + $this.toggle(); + $this.trigger('change.uk.button', [$this.element.blur().hasClass('uk-active')]); + }); + + }, + + toggle: function() { + this.element.toggleClass('uk-active'); + + // Update ARIA + this.element.attr('aria-pressed', this.element.hasClass('uk-active')); + } + }); + +})(UIkit2); + +(function(UI) { + + "use strict"; + + var active = false, hoverIdle, flips = { + x: { + 'bottom-left' : 'bottom-right', + 'bottom-right' : 'bottom-left', + 'bottom-center' : 'bottom-center', + 'top-left' : 'top-right', + 'top-right' : 'top-left', + 'top-center' : 'top-center', + 'left-top' : 'right-top', + 'left-bottom' : 'right-bottom', + 'left-center' : 'right-center', + 'right-top' : 'left-top', + 'right-bottom' : 'left-bottom', + 'right-center' : 'left-center' + }, + y: { + 'bottom-left' : 'top-left', + 'bottom-right' : 'top-right', + 'bottom-center' : 'top-center', + 'top-left' : 'bottom-left', + 'top-right' : 'bottom-right', + 'top-center' : 'bottom-center', + 'left-top' : 'left-bottom', + 'left-bottom' : 'left-top', + 'left-center' : 'left-center', + 'right-top' : 'right-bottom', + 'right-bottom' : 'right-top', + 'right-center' : 'right-center' + }, + xy: { + 'bottom-left' : 'top-right', + 'bottom-right' : 'top-left', + 'bottom-center' : 'top-center', + 'top-left' : 'bottom-right', + 'top-right' : 'bottom-left', + 'top-center' : 'bottom-center', + 'left-top' : 'right-bottom', + 'left-bottom' : 'right-top', + 'left-center' : 'right-center', + 'right-top' : 'left-bottom', + 'right-bottom' : 'left-top', + 'right-center' : 'left-center' + } + }; + + UI.component('dropdown', { + + defaults: { + mode : 'hover', + pos : 'bottom-left', + offset : 0, + remaintime : 800, + justify : false, + boundary : UI.$win, + delay : 0, + dropdownSelector: '.uk-dropdown,.uk-dropdown-blank', + hoverDelayIdle : 250, + preventflip : false + }, + + remainIdle: false, + + boot: function() { + + var triggerevent = UI.support.touch ? 'click' : 'mouseenter'; + + // init code + UI.$html.on(triggerevent+'.dropdown.uikit focus pointerdown', '[data-uk-dropdown]', function(e) { + + var ele = UI.$(this); + + if (!ele.data('dropdown')) { + + var dropdown = UI.dropdown(ele, UI.Utils.options(ele.attr('data-uk-dropdown'))); + + if (e.type=='click' || (e.type=='mouseenter' && dropdown.options.mode=='hover')) { + dropdown.element.trigger(triggerevent); + } + + if (dropdown.dropdown.length) { + e.preventDefault(); + } + } + }); + }, + + init: function() { + + var $this = this; + + this.dropdown = this.find(this.options.dropdownSelector); + this.offsetParent = this.dropdown.parents().filter(function() { + return UI.$.inArray(UI.$(this).css('position'), ['relative', 'fixed', 'absolute']) !== -1; + }).slice(0,1); + + if (!this.offsetParent.length) { + this.offsetParent = this.element; + } + + this.centered = this.dropdown.hasClass('uk-dropdown-center'); + this.justified = this.options.justify ? UI.$(this.options.justify) : false; + + this.boundary = UI.$(this.options.boundary); + + if (!this.boundary.length) { + this.boundary = UI.$win; + } + + // legacy DEPRECATED! + if (this.dropdown.hasClass('uk-dropdown-up')) { + this.options.pos = 'top-left'; + } + if (this.dropdown.hasClass('uk-dropdown-flip')) { + this.options.pos = this.options.pos.replace('left','right'); + } + if (this.dropdown.hasClass('uk-dropdown-center')) { + this.options.pos = this.options.pos.replace(/(left|right)/,'center'); + } + //-- end legacy + + // Init ARIA + this.element.attr('aria-haspopup', 'true'); + this.element.attr('aria-expanded', this.element.hasClass('uk-open')); + this.dropdown.attr('aria-hidden', 'true'); + + if (this.options.mode == 'click' || UI.support.touch) { + + this.on('click.uk.dropdown', function(e) { + + var $target = UI.$(e.target); + + if (!$target.parents($this.options.dropdownSelector).length) { + + if ($target.is("a[href='#']") || $target.parent().is("a[href='#']") || ($this.dropdown.length && !$this.dropdown.is(':visible')) ){ + e.preventDefault(); + } + + $target.blur(); + } + + if (!$this.element.hasClass('uk-open')) { + + $this.show(); + + } else { + + if (!$this.dropdown.find(e.target).length || $target.is('.uk-dropdown-close') || $target.parents('.uk-dropdown-close').length) { + $this.hide(); + } + } + }); + + } else { + + this.on('mouseenter', function(e) { + + $this.trigger('pointerenter.uk.dropdown', [$this]); + + if ($this.remainIdle) { + clearTimeout($this.remainIdle); + } + + if (hoverIdle) { + clearTimeout(hoverIdle); + } + + if (active && active == $this) { + return; + } + + // pseudo manuAim + if (active && active != $this) { + + hoverIdle = setTimeout(function() { + hoverIdle = setTimeout($this.show.bind($this), $this.options.delay); + }, $this.options.hoverDelayIdle); + + } else { + + hoverIdle = setTimeout($this.show.bind($this), $this.options.delay); + } + + }).on('mouseleave', function() { + + if (hoverIdle) { + clearTimeout(hoverIdle); + } + + $this.remainIdle = setTimeout(function() { + if (active && active == $this) $this.hide(); + }, $this.options.remaintime); + + $this.trigger('pointerleave.uk.dropdown', [$this]); + + }).on('click', function(e){ + + var $target = UI.$(e.target); + + if ($this.remainIdle) { + clearTimeout($this.remainIdle); + } + + if (active && active == $this) { + if (!$this.dropdown.find(e.target).length || $target.is('.uk-dropdown-close') || $target.parents('.uk-dropdown-close').length) { + $this.hide(); + } + return; + } + + if ($target.is("a[href='#']") || $target.parent().is("a[href='#']")){ + e.preventDefault(); + } + + $this.show(); + }); + } + }, + + show: function(){ + + UI.$html.off('click.outer.dropdown'); + + if (active && active != this) { + active.hide(true); + } + + if (hoverIdle) { + clearTimeout(hoverIdle); + } + + this.trigger('beforeshow.uk.dropdown', [this]); + + this.checkDimensions(); + this.element.addClass('uk-open'); + + // Update ARIA + this.element.attr('aria-expanded', 'true'); + this.dropdown.attr('aria-hidden', 'false'); + + this.trigger('show.uk.dropdown', [this]); + + UI.Utils.checkDisplay(this.dropdown, true); + UI.Utils.focus(this.dropdown); + active = this; + + this.registerOuterClick(); + }, + + hide: function(force) { + + this.trigger('beforehide.uk.dropdown', [this, force]); + + this.element.removeClass('uk-open'); + + if (this.remainIdle) { + clearTimeout(this.remainIdle); + } + + this.remainIdle = false; + + // Update ARIA + this.element.attr('aria-expanded', 'false'); + this.dropdown.attr('aria-hidden', 'true'); + + this.trigger('hide.uk.dropdown', [this, force]); + + if (active == this) active = false; + }, + + registerOuterClick: function(){ + + var $this = this; + + UI.$html.off('click.outer.dropdown'); + + setTimeout(function() { + + UI.$html.on('click.outer.dropdown', function(e) { + + if (hoverIdle) { + clearTimeout(hoverIdle); + } + + var $target = UI.$(e.target); + + if (active == $this && !$this.element.find(e.target).length) { + $this.hide(true); + UI.$html.off('click.outer.dropdown'); + } + }); + }, 10); + }, + + checkDimensions: function() { + + if (!this.dropdown.length) return; + + // reset + this.dropdown.removeClass('uk-dropdown-top uk-dropdown-bottom uk-dropdown-left uk-dropdown-right uk-dropdown-stack uk-dropdown-autoflip').css({ + topLeft :'', + left :'', + marginLeft :'', + marginRight :'' + }); + + if (this.justified && this.justified.length) { + this.dropdown.css('min-width', ''); + } + + var $this = this, + pos = UI.$.extend({}, this.offsetParent.offset(), {width: this.offsetParent[0].offsetWidth, height: this.offsetParent[0].offsetHeight}), + posoffset = this.options.offset, + dropdown = this.dropdown, + offset = dropdown.show().offset() || {left: 0, top: 0}, + width = dropdown.outerWidth(), + height = dropdown.outerHeight(), + boundarywidth = this.boundary.width(), + boundaryoffset = this.boundary[0] !== window && this.boundary.offset() ? this.boundary.offset(): {top:0, left:0}, + dpos = this.options.pos; + + var variants = { + 'bottom-left' : {top: 0 + pos.height + posoffset, left: 0}, + 'bottom-right' : {top: 0 + pos.height + posoffset, left: 0 + pos.width - width}, + 'bottom-center' : {top: 0 + pos.height + posoffset, left: 0 + pos.width / 2 - width / 2}, + 'top-left' : {top: 0 - height - posoffset, left: 0}, + 'top-right' : {top: 0 - height - posoffset, left: 0 + pos.width - width}, + 'top-center' : {top: 0 - height - posoffset, left: 0 + pos.width / 2 - width / 2}, + 'left-top' : {top: 0, left: 0 - width - posoffset}, + 'left-bottom' : {top: 0 + pos.height - height, left: 0 - width - posoffset}, + 'left-center' : {top: 0 + pos.height / 2 - height / 2, left: 0 - width - posoffset}, + 'right-top' : {top: 0, left: 0 + pos.width + posoffset}, + 'right-bottom' : {top: 0 + pos.height - height, left: 0 + pos.width + posoffset}, + 'right-center' : {top: 0 + pos.height / 2 - height / 2, left: 0 + pos.width + posoffset} + }, + css = {}, + pp; + + pp = dpos.split('-'); + css = variants[dpos] ? variants[dpos] : variants['bottom-left']; + + // justify dropdown + if (this.justified && this.justified.length) { + justify(dropdown.css({left:0}), this.justified, boundarywidth); + } else { + + if (this.options.preventflip !== true) { + + var fdpos; + + switch(this.checkBoundary(pos.left + css.left, pos.top + css.top, width, height, boundarywidth)) { + case "x": + if(this.options.preventflip !=='x') fdpos = flips['x'][dpos] || 'right-top'; + break; + case "y": + if(this.options.preventflip !=='y') fdpos = flips['y'][dpos] || 'top-left'; + break; + case "xy": + if(!this.options.preventflip) fdpos = flips['xy'][dpos] || 'right-bottom'; + break; + } + + if (fdpos) { + + pp = fdpos.split('-'); + css = variants[fdpos] ? variants[fdpos] : variants['bottom-left']; + dropdown.addClass('uk-dropdown-autoflip'); + + // check flipped + if (this.checkBoundary(pos.left + css.left, pos.top + css.top, width, height, boundarywidth)) { + pp = dpos.split('-'); + css = variants[dpos] ? variants[dpos] : variants['bottom-left']; + } + } + } + } + + if (width > boundarywidth) { + dropdown.addClass('uk-dropdown-stack'); + this.trigger('stack.uk.dropdown', [this]); + } + + dropdown.css(css).css('display', '').addClass('uk-dropdown-'+pp[0]); + }, + + checkBoundary: function(left, top, width, height, boundarywidth) { + + var axis = ""; + + if (left < 0 || ((left - UI.$win.scrollLeft())+width) > boundarywidth) { + axis += "x"; + } + + if ((top - UI.$win.scrollTop()) < 0 || ((top - UI.$win.scrollTop())+height) > window.innerHeight) { + axis += "y"; + } + + return axis; + } + }); + + + UI.component('dropdownOverlay', { + + defaults: { + justify : false, + cls : '', + duration: 200 + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-dropdown-overlay]', context).each(function() { + var ele = UI.$(this); + + if (!ele.data('dropdownOverlay')) { + UI.dropdownOverlay(ele, UI.Utils.options(ele.attr('data-uk-dropdown-overlay'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.justified = this.options.justify ? UI.$(this.options.justify) : false; + this.overlay = this.element.find('uk-dropdown-overlay'); + + if (!this.overlay.length) { + this.overlay = UI.$('
              ').appendTo(this.element); + } + + this.overlay.addClass(this.options.cls); + + this.on({ + + 'beforeshow.uk.dropdown': function(e, dropdown) { + $this.dropdown = dropdown; + + if ($this.justified && $this.justified.length) { + justify($this.overlay.css({display:'block', marginLeft:'', marginRight:''}), $this.justified, $this.justified.outerWidth()); + } + }, + + 'show.uk.dropdown': function(e, dropdown) { + + var h = $this.dropdown.dropdown.outerHeight(true); + + $this.dropdown.element.removeClass('uk-open'); + + $this.overlay.stop().css('display', 'block').animate({height: h}, $this.options.duration, function() { + + $this.dropdown.dropdown.css('visibility', ''); + $this.dropdown.element.addClass('uk-open'); + + UI.Utils.checkDisplay($this.dropdown.dropdown, true); + }); + + $this.pointerleave = false; + }, + + 'hide.uk.dropdown': function() { + $this.overlay.stop().animate({height: 0}, $this.options.duration); + }, + + 'pointerenter.uk.dropdown': function(e, dropdown) { + clearTimeout($this.remainIdle); + }, + + 'pointerleave.uk.dropdown': function(e, dropdown) { + $this.pointerleave = true; + } + }); + + + this.overlay.on({ + + 'mouseenter': function() { + if ($this.remainIdle) { + clearTimeout($this.dropdown.remainIdle); + clearTimeout($this.remainIdle); + } + }, + + 'mouseleave': function(){ + + if ($this.pointerleave && active) { + + $this.remainIdle = setTimeout(function() { + if(active) active.hide(); + }, active.options.remaintime); + } + } + }) + } + + }); + + + function justify(ele, justifyTo, boundarywidth, offset) { + + ele = UI.$(ele); + justifyTo = UI.$(justifyTo); + boundarywidth = boundarywidth || window.innerWidth; + offset = offset || ele.offset(); + + if (justifyTo.length) { + + var jwidth = justifyTo.outerWidth(); + + ele.css('min-width', jwidth); + + if (UI.langdirection == 'right') { + + var right1 = boundarywidth - (justifyTo.offset().left + jwidth), + right2 = boundarywidth - (ele.offset().left + ele.outerWidth()); + + ele.css('margin-right', right1 - right2); + + } else { + ele.css('margin-left', justifyTo.offset().left - offset.left); + } + } + } + +})(UIkit2); + +(function(UI) { + + "use strict"; + + var grids = []; + + UI.component('gridMatchHeight', { + + defaults: { + target : false, + row : true, + ignorestacked : false, + observe : false + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-grid-match]', context).each(function() { + var grid = UI.$(this), obj; + + if (!grid.data('gridMatchHeight')) { + obj = UI.gridMatchHeight(grid, UI.Utils.options(grid.attr('data-uk-grid-match'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.columns = this.element.children(); + this.elements = this.options.target ? this.find(this.options.target) : this.columns; + + if (!this.columns.length) return; + + UI.$win.on('load resize orientationchange', (function() { + + var fn = function() { + if ($this.element.is(':visible')) $this.match(); + }; + + UI.$(function() { fn(); }); + + return UI.Utils.debounce(fn, 50); + })()); + + if (this.options.observe) { + + UI.domObserve(this.element, function(e) { + if ($this.element.is(':visible')) $this.match(); + }); + } + + this.on('display.uk.check', function(e) { + if(this.element.is(':visible')) this.match(); + }.bind(this)); + + grids.push(this); + }, + + match: function() { + + var firstvisible = this.columns.filter(':visible:first'); + + if (!firstvisible.length) return; + + var stacked = Math.ceil(100 * parseFloat(firstvisible.css('width')) / parseFloat(firstvisible.parent().css('width'))) >= 100; + + if (stacked && !this.options.ignorestacked) { + this.revert(); + } else { + UI.Utils.matchHeights(this.elements, this.options); + } + + return this; + }, + + revert: function() { + this.elements.css('min-height', ''); + return this; + } + }); + + UI.component('gridMargin', { + + defaults: { + cls : 'uk-grid-margin', + rowfirst : 'uk-row-first' + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-grid-margin]', context).each(function() { + var grid = UI.$(this), obj; + + if (!grid.data('gridMargin')) { + obj = UI.gridMargin(grid, UI.Utils.options(grid.attr('data-uk-grid-margin'))); + } + }); + }); + }, + + init: function() { + + var stackMargin = UI.stackMargin(this.element, this.options); + } + }); + +})(UIkit2); + +(function(UI) { + + "use strict"; + + var active = false, activeCount = 0, $html = UI.$html, body; + + UI.$win.on('resize orientationchange', UI.Utils.debounce(function(){ + UI.$('.uk-modal.uk-open').each(function(){ + return UI.$(this).data('modal') && UI.$(this).data('modal').resize(); + }); + }, 150)); + + UI.component('modal', { + + defaults: { + keyboard: true, + bgclose: true, + minScrollHeight: 150, + center: false, + modal: true + }, + + scrollable: false, + transition: false, + hasTransitioned: true, + + init: function() { + + if (!body) body = UI.$('body'); + + if (!this.element.length) return; + + var $this = this; + + this.paddingdir = 'padding-' + (UI.langdirection == 'left' ? 'right':'left'); + this.dialog = this.find('.uk-modal-dialog'); + + this.active = false; + + // Update ARIA + this.element.attr('aria-hidden', this.element.hasClass('uk-open')); + + this.on('click', '.uk-modal-close', function(e) { + + e.preventDefault(); + + var modal = UI.$(e.target).closest('.uk-modal'); + if (modal[0] === $this.element[0]) $this.hide(); + + }).on('click', function(e) { + + var target = UI.$(e.target); + + if (target[0] == $this.element[0] && $this.options.bgclose) { + $this.hide(); + } + }); + + UI.domObserve(this.element, function(e) { $this.resize(); }); + }, + + toggle: function() { + return this[this.isActive() ? 'hide' : 'show'](); + }, + + show: function() { + + if (!this.element.length) return; + + var $this = this; + + if (this.isActive()) return; + + if (this.options.modal && active) { + active.hide(true); + } + + this.element.removeClass('uk-open').show(); + this.resize(true); + + if (this.options.modal) { + active = this; + } + + this.active = true; + + activeCount++; + + if (UI.support.transition) { + this.hasTransitioned = false; + this.element.one(UI.support.transition.end, function(){ + $this.hasTransitioned = true; + UI.Utils.focus($this.dialog, 'a[href]'); + }).addClass('uk-open'); + } else { + this.element.addClass('uk-open'); + UI.Utils.focus(this.dialog, 'a[href]'); + } + + $html.addClass('uk-modal-page').height(); // force browser engine redraw + + // Update ARIA + this.element.attr('aria-hidden', 'false'); + + this.element.trigger('show.uk.modal'); + + UI.Utils.checkDisplay(this.dialog, true); + + return this; + }, + + hide: function(force) { + + if (!force && UI.support.transition && this.hasTransitioned) { + + var $this = this; + + this.one(UI.support.transition.end, function() { + $this._hide(); + }).removeClass('uk-open'); + + } else { + + this._hide(); + } + + return this; + }, + + resize: function(force) { + + if (!this.isActive() && !force) return; + + var bodywidth = body.width(); + + this.scrollbarwidth = window.innerWidth - bodywidth; + + body.css(this.paddingdir, this.scrollbarwidth); + + this.element.css('overflow-y', this.scrollbarwidth ? 'scroll' : 'auto'); + + if (!this.updateScrollable() && this.options.center) { + + var dh = this.dialog.outerHeight(), + pad = parseInt(this.dialog.css('margin-top'), 10) + parseInt(this.dialog.css('margin-bottom'), 10); + + if ((dh + pad) < window.innerHeight) { + this.dialog.css({top: (window.innerHeight/2 - dh/2) - pad }); + } else { + this.dialog.css({top: ''}); + } + } + }, + + updateScrollable: function() { + + // has scrollable? + var scrollable = this.dialog.find('.uk-overflow-container:visible:first'); + + if (scrollable.length) { + + scrollable.css('height', 0); + + var offset = Math.abs(parseInt(this.dialog.css('margin-top'), 10)), + dh = this.dialog.outerHeight(), + wh = window.innerHeight, + h = wh - 2*(offset < 20 ? 20:offset) - dh; + + scrollable.css({ + maxHeight: (h < this.options.minScrollHeight ? '':h), + height:'' + }); + + return true; + } + + return false; + }, + + _hide: function() { + + this.active = false; + if (activeCount > 0) activeCount--; + else activeCount = 0; + + this.element.hide().removeClass('uk-open'); + + // Update ARIA + this.element.attr('aria-hidden', 'true'); + + if (!activeCount) { + $html.removeClass('uk-modal-page'); + body.css(this.paddingdir, ""); + } + + if (active===this) active = false; + + this.trigger('hide.uk.modal'); + }, + + isActive: function() { + return this.element.hasClass('uk-open'); + } + + }); + + UI.component('modalTrigger', { + + boot: function() { + + // init code + UI.$html.on('click.modal.uikit', '[data-uk-modal]', function(e) { + + var ele = UI.$(this); + + if (ele.is('a')) { + e.preventDefault(); + } + + if (!ele.data('modalTrigger')) { + var modal = UI.modalTrigger(ele, UI.Utils.options(ele.attr('data-uk-modal'))); + modal.show(); + } + + }); + + // close modal on esc button + UI.$html.on('keydown.modal.uikit', function (e) { + + if (active && e.keyCode === 27 && active.options.keyboard) { // ESC + e.preventDefault(); + active.hide(); + } + }); + }, + + init: function() { + + var $this = this; + + this.options = UI.$.extend({ + target: $this.element.is('a') ? $this.element.attr('href') : false + }, this.options); + + this.modal = UI.modal(this.options.target, this.options); + + this.on("click", function(e) { + e.preventDefault(); + $this.show(); + }); + + //methods + this.proxy(this.modal, 'show hide isActive'); + } + }); + + UI.modal.dialog = function(content, options) { + + var modal = UI.modal(UI.$(UI.modal.dialog.template).appendTo('body'), options); + + modal.on('hide.uk.modal', function(){ + if (modal.persist) { + modal.persist.appendTo(modal.persist.data('modalPersistParent')); + modal.persist = false; + } + modal.element.remove(); + }); + + setContent(content, modal); + + return modal; + }; + + UI.modal.dialog.template = '
              '; + + UI.modal.alert = function(content, options) { + + options = UI.$.extend(true, {bgclose:false, keyboard:false, modal:false, labels:UI.modal.labels}, options); + + var modal = UI.modal.dialog(([ + '
              '+String(content)+'
              ', + '' + ]).join(""), options); + + modal.on('show.uk.modal', function(){ + setTimeout(function(){ + modal.element.find('button:first').focus(); + }, 50); + }); + + return modal.show(); + }; + + UI.modal.confirm = function(content, onconfirm, oncancel) { + + var options = arguments.length > 1 && arguments[arguments.length-1] ? arguments[arguments.length-1] : {}; + + onconfirm = UI.$.isFunction(onconfirm) ? onconfirm : function(){}; + oncancel = UI.$.isFunction(oncancel) ? oncancel : function(){}; + options = UI.$.extend(true, {bgclose:false, keyboard:false, modal:false, labels:UI.modal.labels}, UI.$.isFunction(options) ? {}:options); + + var modal = UI.modal.dialog(([ + '
              '+String(content)+'
              ', + '' + ]).join(""), options); + + modal.element.find(".js-modal-confirm, .js-modal-confirm-cancel").on("click", function(){ + UI.$(this).is('.js-modal-confirm') ? onconfirm() : oncancel(); + modal.hide(); + }); + + modal.on('show.uk.modal', function(){ + setTimeout(function(){ + modal.element.find('.js-modal-confirm').focus(); + }, 50); + }); + + return modal.show(); + }; + + UI.modal.prompt = function(text, value, onsubmit, options) { + + onsubmit = UI.$.isFunction(onsubmit) ? onsubmit : function(value){}; + options = UI.$.extend(true, {bgclose:false, keyboard:false, modal:false, labels:UI.modal.labels}, options); + + var modal = UI.modal.dialog(([ + text ? '
              '+String(text)+'
              ':'', + '

              ', + '' + ]).join(""), options), + + input = modal.element.find("input[type='text']").val(value || '').on('keyup', function(e){ + if (e.keyCode == 13) { + modal.element.find('.js-modal-ok').trigger('click'); + } + }); + + modal.element.find('.js-modal-ok').on('click', function(){ + if (onsubmit(input.val())!==false){ + modal.hide(); + } + }); + + return modal.show(); + }; + + UI.modal.blockUI = function(content, options) { + + var modal = UI.modal.dialog(([ + '
              '+String(content || '
              ...
              ')+'
              ' + ]).join(""), UI.$.extend({bgclose:false, keyboard:false, modal:false}, options)); + + modal.content = modal.element.find('.uk-modal-content:first'); + + return modal.show(); + }; + + UI.modal.labels = { + Ok: 'Ok', + Cancel: 'Cancel' + }; + + // helper functions + function setContent(content, modal){ + + if(!modal) return; + + if (typeof content === 'object') { + + // convert DOM object to a jQuery object + content = content instanceof jQuery ? content : UI.$(content); + + if(content.parent().length) { + modal.persist = content; + modal.persist.data('modalPersistParent', content.parent()); + } + }else if (typeof content === 'string' || typeof content === 'number') { + // just insert the data as innerHTML + content = UI.$('
              ').html(content); + }else { + // unsupported data type! + content = UI.$('
              ').html('UIkit2.modal Error: Unsupported data type: ' + typeof content); + } + + content.appendTo(modal.element.find('.uk-modal-dialog')); + + return modal; + } + +})(UIkit2); + +(function(UI) { + + "use strict"; + + UI.component('nav', { + + defaults: { + toggle: '>li.uk-parent > a[href="#"]', + lists: '>li.uk-parent > ul', + multiple: false + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-nav]', context).each(function() { + var nav = UI.$(this); + + if (!nav.data('nav')) { + var obj = UI.nav(nav, UI.Utils.options(nav.attr('data-uk-nav'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.on('click.uk.nav', this.options.toggle, function(e) { + e.preventDefault(); + var ele = UI.$(this); + $this.open(ele.parent()[0] == $this.element[0] ? ele : ele.parent("li")); + }); + + this.update(); + + UI.domObserve(this.element, function(e) { + if ($this.element.find($this.options.lists).not('[role]').length) { + $this.update(); + } + }); + }, + + update: function() { + + var $this = this; + + this.find(this.options.lists).each(function() { + + var $ele = UI.$(this).attr('role', 'menu'), + parent = $ele.closest('li'), + active = parent.hasClass("uk-active"); + + if (!parent.data('list-container')) { + $ele.wrap('
              '); + parent.data('list-container', $ele.parent()[active ? 'removeClass':'addClass']('uk-hidden')); + } + + // Init ARIA + parent.attr('aria-expanded', parent.hasClass("uk-open")); + + if (active) $this.open(parent, true); + }); + }, + + open: function(li, noanimation) { + + var $this = this, element = this.element, $li = UI.$(li), $container = $li.data('list-container'); + + if (!this.options.multiple) { + + element.children('.uk-open').not(li).each(function() { + + var ele = UI.$(this); + + if (ele.data('list-container')) { + ele.data('list-container').stop().animate({height: 0}, function() { + UI.$(this).parent().removeClass('uk-open').end().addClass('uk-hidden'); + }); + } + }); + } + + $li.toggleClass('uk-open'); + + // Update ARIA + $li.attr('aria-expanded', $li.hasClass('uk-open')); + + if ($container) { + + if ($li.hasClass('uk-open')) { + $container.removeClass('uk-hidden'); + } + + if (noanimation) { + + $container.stop().height($li.hasClass('uk-open') ? 'auto' : 0); + + if (!$li.hasClass('uk-open')) { + $container.addClass('uk-hidden'); + } + + this.trigger('display.uk.check'); + + } else { + + $container.stop().animate({ + height: ($li.hasClass('uk-open') ? getHeight($container.find('ul:first')) : 0) + }, function() { + + if (!$li.hasClass('uk-open')) { + $container.addClass('uk-hidden'); + } else { + $container.css('height', ''); + } + + $this.trigger('display.uk.check'); + }); + } + } + } + }); + + + // helper + + function getHeight(ele) { + + var $ele = UI.$(ele), height = 'auto'; + + if ($ele.is(':visible')) { + height = $ele.outerHeight(); + } else { + + var tmp = { + position: $ele.css('position'), + visibility: $ele.css('visibility'), + display: $ele.css('display') + }; + + height = $ele.css({position: 'absolute', visibility: 'hidden', display: 'block'}).outerHeight(); + + $ele.css(tmp); // reset element + } + + return height; + } + +})(UIkit2); + +(function(UI) { + + "use strict"; + + var scrollpos = {x: window.scrollX, y: window.scrollY}, + $win = UI.$win, + $doc = UI.$doc, + $html = UI.$html, + Offcanvas = { + + show: function(element, options) { + + element = UI.$(element); + + if (!element.length) return; + + options = UI.$.extend({mode: 'push'}, options); + + var $body = UI.$('body'), + bar = element.find('.uk-offcanvas-bar:first'), + rtl = (UI.langdirection == 'right'), + flip = bar.hasClass('uk-offcanvas-bar-flip') ? -1:1, + dir = flip * (rtl ? -1 : 1), + + scrollbarwidth = window.innerWidth - $body.width(); + + scrollpos = {x: window.pageXOffset, y: window.pageYOffset}; + + bar.attr('mode', options.mode); + element.addClass('uk-active'); + + $body.css({width: window.innerWidth - scrollbarwidth, height: window.innerHeight}).addClass('uk-offcanvas-page'); + + if (options.mode == 'push' || options.mode == 'reveal') { + $body.css((rtl ? 'margin-right' : 'margin-left'), (rtl ? -1 : 1) * (bar.outerWidth() * dir)); + } + + if (options.mode == 'reveal') { + bar.css('clip', 'rect(0, '+bar.outerWidth()+'px, 100vh, 0)'); + } + + $html.css('margin-top', scrollpos.y * -1).width(); // .width() - force redraw + + + bar.addClass('uk-offcanvas-bar-show'); + + this._initElement(element); + + bar.trigger('show.uk.offcanvas', [element, bar]); + + // Update ARIA + element.attr('aria-hidden', 'false'); + }, + + hide: function(force) { + + var $body = UI.$('body'), + panel = UI.$('.uk-offcanvas.uk-active'), + rtl = (UI.langdirection == 'right'), + bar = panel.find('.uk-offcanvas-bar:first'), + finalize = function() { + $body.removeClass('uk-offcanvas-page').css({width: '', height: '', marginLeft: '', marginRight: ''}); + panel.removeClass('uk-active'); + + bar.removeClass('uk-offcanvas-bar-show'); + $html.css('margin-top', ''); + window.scrollTo(scrollpos.x, scrollpos.y); + bar.trigger('hide.uk.offcanvas', [panel, bar]); + + // Update ARIA + panel.attr('aria-hidden', 'true'); + }; + + if (!panel.length) return; + if (bar.attr('mode') == 'none') force = true; + + if (UI.support.transition && !force) { + + $body.one(UI.support.transition.end, function() { + finalize(); + }).css((rtl ? 'margin-right' : 'margin-left'), ''); + + if (bar.attr('mode') == 'reveal') { + bar.css('clip', ''); + } + + setTimeout(function(){ + bar.removeClass('uk-offcanvas-bar-show'); + }, 0); + + } else { + finalize(); + } + }, + + _initElement: function(element) { + + if (element.data('OffcanvasInit')) return; + + element.on('click.uk.offcanvas swipeRight.uk.offcanvas swipeLeft.uk.offcanvas', function(e) { + + var target = UI.$(e.target); + + if (e.type.match(/swipe/)) { + if (target.parents('.uk-offcanvas-bar:first').length) return; + } else { + + if (!target.hasClass('uk-offcanvas-close')) { + if (target.hasClass('uk-offcanvas-bar')) return; + if (target.parents('.uk-offcanvas-bar:first').length) return; + } + } + + e.stopImmediatePropagation(); + Offcanvas.hide(); + }); + + element.on('click', 'a[href*="#"]', function(e){ + + var link = UI.$(this), + href = link.attr('href'); + + if (href == '#') { + return; + } + + UI.$doc.one('hide.uk.offcanvas', function() { + + var target; + + try { + target = UI.$(link[0].hash); + } catch (e){ + target = ''; + } + + if (!target.length) { + target = UI.$('[name="'+link[0].hash.replace('#','')+'"]'); + } + + if (target.length && UI.Utils.scrollToElement) { + UI.Utils.scrollToElement(target, UI.Utils.options(link.attr('data-uk-smooth-scroll') || '{}')); + } else { + window.location.href = href; + } + }); + + Offcanvas.hide(); + }); + + element.data('OffcanvasInit', true); + } + }; + + UI.component('offcanvasTrigger', { + + boot: function() { + + // init code + $html.on('click.offcanvas.uikit', '[data-uk-offcanvas]', function(e) { + + e.preventDefault(); + + var ele = UI.$(this); + + if (!ele.data('offcanvasTrigger')) { + var obj = UI.offcanvasTrigger(ele, UI.Utils.options(ele.attr('data-uk-offcanvas'))); + ele.trigger("click"); + } + }); + + $html.on('keydown.uk.offcanvas', function(e) { + + if (e.keyCode === 27) { // ESC + Offcanvas.hide(); + } + }); + }, + + init: function() { + + var $this = this; + + this.options = UI.$.extend({ + target: $this.element.is('a') ? $this.element.attr('href') : false, + mode: 'push' + }, this.options); + + this.on('click', function(e) { + e.preventDefault(); + Offcanvas.show($this.options.target, $this.options); + }); + } + }); + + UI.offcanvas = Offcanvas; + +})(UIkit2); + +(function(UI) { + + "use strict"; + + var Animations; + + UI.component('switcher', { + + defaults: { + connect : false, + toggle : '>*', + active : 0, + animation : false, + duration : 200, + swiping : true + }, + + animating: false, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-switcher]', context).each(function() { + var switcher = UI.$(this); + + if (!switcher.data('switcher')) { + var obj = UI.switcher(switcher, UI.Utils.options(switcher.attr('data-uk-switcher'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.on('click.uk.switcher', this.options.toggle, function(e) { + e.preventDefault(); + $this.show(this); + }); + + if (!this.options.connect) { + return; + } + + this.connect = UI.$(this.options.connect); + + if (!this.connect.length) { + return; + } + + this.connect.on('click.uk.switcher', '[data-uk-switcher-item]', function(e) { + + e.preventDefault(); + + var item = UI.$(this).attr('data-uk-switcher-item'); + + if ($this.index == item) return; + + switch(item) { + case 'next': + case 'previous': + $this.show($this.index + (item=='next' ? 1:-1)); + break; + default: + $this.show(parseInt(item, 10)); + } + }); + + if (this.options.swiping) { + + this.connect.on('swipeRight swipeLeft', function(e) { + e.preventDefault(); + if (!window.getSelection().toString()) { + $this.show($this.index + (e.type == 'swipeLeft' ? 1 : -1)); + } + }); + } + + this.update(); + }, + + update: function() { + + this.connect.children().removeClass('uk-active').attr('aria-hidden', 'true'); + + var toggles = this.find(this.options.toggle), + active = toggles.filter('.uk-active'); + + if (active.length) { + this.show(active, false); + } else { + + if (this.options.active===false) return; + + active = toggles.eq(this.options.active); + this.show(active.length ? active : toggles.eq(0), false); + } + + // Init ARIA for toggles + toggles.not(active).attr('aria-expanded', 'false'); + active.attr('aria-expanded', 'true'); + }, + + show: function(tab, animate) { + + if (this.animating) { + return; + } + + var toggles = this.find(this.options.toggle); + + if (isNaN(tab)) { + tab = UI.$(tab); + } else { + tab = tab < 0 ? toggles.length-1 : tab; + tab = toggles.eq(toggles[tab] ? tab : 0); + } + + var $this = this, + active = UI.$(tab), + animation = Animations[this.options.animation] || function(current, next) { + + if (!$this.options.animation) { + return Animations.none.apply($this); + } + + var anim = $this.options.animation.split(','); + + if (anim.length == 1) { + anim[1] = anim[0]; + } + + anim[0] = anim[0].trim(); + anim[1] = anim[1].trim(); + + return coreAnimation.apply($this, [anim, current, next]); + }; + + if (animate===false || !UI.support.animation) { + animation = Animations.none; + } + + if (active.hasClass("uk-disabled")) return; + + // Update ARIA for Toggles + toggles.attr('aria-expanded', 'false'); + active.attr('aria-expanded', 'true'); + + toggles.filter(".uk-active").removeClass("uk-active"); + active.addClass("uk-active"); + + if (this.options.connect && this.connect.length) { + + this.index = this.find(this.options.toggle).index(active); + + if (this.index == -1 ) { + this.index = 0; + } + + this.connect.each(function() { + + var container = UI.$(this), + children = UI.$(container.children()), + current = UI.$(children.filter('.uk-active')), + next = UI.$(children.eq($this.index)); + + $this.animating = true; + + animation.apply($this, [current, next]).then(function(){ + + current.removeClass("uk-active"); + next.addClass("uk-active"); + + // Update ARIA for connect + current.attr('aria-hidden', 'true'); + next.attr('aria-hidden', 'false'); + + UI.Utils.checkDisplay(next, true); + + $this.animating = false; + + }); + }); + } + + this.trigger("show.uk.switcher", [active]); + } + }); + + Animations = { + + 'none': function() { + var d = UI.$.Deferred(); + d.resolve(); + return d.promise(); + }, + + 'fade': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-fade', current, next]); + }, + + 'slide-bottom': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-slide-bottom', current, next]); + }, + + 'slide-top': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-slide-top', current, next]); + }, + + 'slide-vertical': function(current, next, dir) { + + var anim = ['uk-animation-slide-top', 'uk-animation-slide-bottom']; + + if (current && current.index() > next.index()) { + anim.reverse(); + } + + return coreAnimation.apply(this, [anim, current, next]); + }, + + 'slide-left': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-slide-left', current, next]); + }, + + 'slide-right': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-slide-right', current, next]); + }, + + 'slide-horizontal': function(current, next, dir) { + + var anim = ['uk-animation-slide-right', 'uk-animation-slide-left']; + + if (current && current.index() > next.index()) { + anim.reverse(); + } + + return coreAnimation.apply(this, [anim, current, next]); + }, + + 'scale': function(current, next) { + return coreAnimation.apply(this, ['uk-animation-scale-up', current, next]); + } + }; + + UI.switcher.animations = Animations; + + + // helpers + + function coreAnimation(cls, current, next) { + + var d = UI.$.Deferred(), clsIn = cls, clsOut = cls, release; + + if (next[0]===current[0]) { + d.resolve(); + return d.promise(); + } + + if (typeof(cls) == 'object') { + clsIn = cls[0]; + clsOut = cls[1] || cls[0]; + } + + UI.$body.css('overflow-x', 'hidden'); // fix scroll jumping in iOS + + release = function() { + + if (current) current.hide().removeClass('uk-active '+clsOut+' uk-animation-reverse'); + + next.addClass(clsIn).one(UI.support.animation.end, function() { + + setTimeout(function () { + next.removeClass(''+clsIn+'').css({opacity:'', display:''}); + }, 0); + + d.resolve(); + + UI.$body.css('overflow-x', ''); + + if (current) current.css({opacity:'', display:''}); + + }.bind(this)).show(); + }; + + next.css('animation-duration', this.options.duration+'ms'); + + if (current && current.length) { + + current.css('animation-duration', this.options.duration+'ms'); + + current.css('display', 'none').addClass(clsOut+' uk-animation-reverse').one(UI.support.animation.end, function() { + release(); + }.bind(this)).css('display', ''); + + } else { + next.addClass('uk-active'); + release(); + } + + return d.promise(); + } + +})(UIkit2); + +(function(UI) { + + "use strict"; + + UI.component('tab', { + + defaults: { + target : '>li:not(.uk-tab-responsive, .uk-disabled)', + connect : false, + active : 0, + animation : false, + duration : 200, + swiping : true + }, + + boot: function() { + + // init code + UI.ready(function(context) { + + UI.$('[data-uk-tab]', context).each(function() { + + var tab = UI.$(this); + + if (!tab.data('tab')) { + var obj = UI.tab(tab, UI.Utils.options(tab.attr('data-uk-tab'))); + } + }); + }); + }, + + init: function() { + + var $this = this; + + this.current = false; + + this.on('click.uk.tab', this.options.target, function(e) { + + e.preventDefault(); + + if ($this.switcher && $this.switcher.animating) { + return; + } + + var current = $this.find($this.options.target).not(this); + + current.removeClass('uk-active').blur(); + + $this.trigger('change.uk.tab', [UI.$(this).addClass('uk-active'), $this.current]); + + $this.current = UI.$(this); + + // Update ARIA + if (!$this.options.connect) { + current.attr('aria-expanded', 'false'); + UI.$(this).attr('aria-expanded', 'true'); + } + }); + + if (this.options.connect) { + this.connect = UI.$(this.options.connect); + } + + // init responsive tab + this.responsivetab = UI.$('
            • ').append('
                '); + + this.responsivetab.dropdown = this.responsivetab.find('.uk-dropdown'); + this.responsivetab.lst = this.responsivetab.dropdown.find('ul'); + this.responsivetab.caption = this.responsivetab.find('a:first'); + + if (this.element.hasClass('uk-tab-bottom')) this.responsivetab.dropdown.addClass('uk-dropdown-up'); + + // handle click + this.responsivetab.lst.on('click.uk.tab', 'a', function(e) { + + e.preventDefault(); + e.stopPropagation(); + + var link = UI.$(this); + + $this.element.children('li:not(.uk-tab-responsive)').eq(link.data('index')).trigger('click'); + }); + + this.on('show.uk.switcher change.uk.tab', function(e, tab) { + $this.responsivetab.caption.html(tab.text()); + }); + + this.element.append(this.responsivetab); + + // init UIkit components + if (this.options.connect) { + + this.switcher = UI.switcher(this.element, { + toggle : '>li:not(.uk-tab-responsive)', + connect : this.options.connect, + active : this.options.active, + animation : this.options.animation, + duration : this.options.duration, + swiping : this.options.swiping + }); + } + + UI.dropdown(this.responsivetab, {mode: 'click', preventflip: 'y'}); + + // init + $this.trigger('change.uk.tab', [this.element.find(this.options.target).not('.uk-tab-responsive').filter('.uk-active')]); + + this.check(); + + UI.$win.on('resize orientationchange', UI.Utils.debounce(function(){ + if ($this.element.is(':visible')) $this.check(); + }, 100)); + + this.on('display.uk.check', function(){ + if ($this.element.is(':visible')) $this.check(); + }); + }, + + check: function() { + + var children = this.element.children('li:not(.uk-tab-responsive)').removeClass('uk-hidden'); + + if (!children.length) { + this.responsivetab.addClass('uk-hidden'); + return; + } + + var top = (children.eq(0).offset().top + Math.ceil(children.eq(0).height()/2)), + doresponsive = false, + item, link, clone; + + this.responsivetab.lst.empty(); + + children.each(function(){ + + if (UI.$(this).offset().top > top) { + doresponsive = true; + } + }); + + if (doresponsive) { + + for (var i = 0; i < children.length; i++) { + + item = UI.$(children.eq(i)); + link = item.find('a'); + + if (item.css('float') != 'none' && !item.attr('uk-dropdown')) { + + if (!item.hasClass('uk-disabled')) { + + clone = UI.$(item[0].outerHTML); + clone.find('a').data('index', i); + + this.responsivetab.lst.append(clone); + } + + item.addClass('uk-hidden'); + } + } + } + + this.responsivetab[this.responsivetab.lst.children('li').length ? 'removeClass':'addClass']('uk-hidden'); + } + }); + +})(UIkit2); + +(function(UI){ + + "use strict"; + + UI.component('cover', { + + defaults: { + automute : true + }, + + boot: function() { + + // auto init + UI.ready(function(context) { + + UI.$('[data-uk-cover]', context).each(function(){ + + var ele = UI.$(this); + + if(!ele.data('cover')) { + var plugin = UI.cover(ele, UI.Utils.options(ele.attr('data-uk-cover'))); + } + }); + }); + }, + + init: function() { + + this.parent = this.element.parent(); + + UI.$win.on('load resize orientationchange', UI.Utils.debounce(function(){ + this.check(); + }.bind(this), 100)); + + this.on('display.uk.check', function(e) { + if (this.element.is(':visible')) this.check(); + }.bind(this)); + + this.check(); + + if (this.element.is('iframe') && this.options.automute) { + + var src = this.element.attr('src'); + + this.element.attr('src', '').on('load', function(){ + this.contentWindow.postMessage('{ "event": "command", "func": "mute", "method":"setVolume", "value":0}', '*'); + }).attr('src', [src, (src.indexOf('?') > -1 ? '&':'?'), 'enablejsapi=1&api=1'].join('')); + } + }, + + check: function() { + + this.element.css({ width : '', height : '' }); + + this.dimension = {w: this.element.width(), h: this.element.height()}; + + if (this.element.attr('width') && !isNaN(this.element.attr('width'))) { + this.dimension.w = this.element.attr('width'); + } + + if (this.element.attr('height') && !isNaN(this.element.attr('height'))) { + this.dimension.h = this.element.attr('height'); + } + + this.ratio = this.dimension.w / this.dimension.h; + + var w = this.parent.width(), h = this.parent.height(), width, height; + + // if element height < parent height (gap underneath) + if ((w / this.ratio) < h) { + + width = Math.ceil(h * this.ratio); + height = h; + + // element width < parent width (gap to right) + } else { + + width = w; + height = Math.ceil(w / this.ratio); + } + + this.element.css({ width : width, height : height }); + } + }); + +})(UIkit2); diff --git a/bower_components/uikit/js/uikit.min.js b/bower_components/uikit/js/uikit.min.js new file mode 100644 index 0000000..e5122e5 --- /dev/null +++ b/bower_components/uikit/js/uikit.min.js @@ -0,0 +1,3 @@ +/*! UIkit 2.27.5 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ +!function(t){var i;if(!window.jQuery)throw new Error("UIkit 2.x requires jQuery");i=t(window.jQuery),"function"==typeof define&&define.amd&&define("uikit",function(){return i.load=function(t,e,n,o){var s,a=t.split(","),r=[],l=(o.config&&o.config.uikit&&o.config.uikit.base?o.config.uikit.base:"").replace(/\/+$/g,"");if(!l)throw new Error("Please define base path to UIkit in the requirejs config.");for(s=0;s0||window.navigator.pointerEnabled&&window.navigator.maxTouchPoints>0||!1,i.support.mutationobserver=window.MutationObserver||window.WebKitMutationObserver||null,i.Utils={},i.Utils.isFullscreen=function(){return document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.fullscreenElement||!1},i.Utils.str2json=function(t,i){try{return i?JSON.parse(t.replace(/([\$\w]+)\s*:/g,function(t,i){return'"'+i+'":'}).replace(/'([^']+)'/g,function(t,i){return'"'+i+'"'})):new Function("","var json = "+t+"; return JSON.parse(JSON.stringify(json));")()}catch(e){return!1}},i.Utils.debounce=function(t,i,e){var n;return function(){var o=this,s=arguments,a=function(){n=null,e||t.apply(o,s)},r=e&&!n;clearTimeout(n),n=setTimeout(a,i),r&&t.apply(o,s)}},i.Utils.throttle=function(t,i){var e=!1;return function(){e||(t.call(),e=!0,setTimeout(function(){e=!1},i))}},i.Utils.removeCssRules=function(t){var i,e,n,o,s,a,r,l,c,u;t&&setTimeout(function(){try{for(u=document.styleSheets,o=0,r=u.length;r>o;o++){for(n=u[o],e=[],n.cssRules=n.cssRules,i=s=0,l=n.cssRules.length;l>s;i=++s)n.cssRules[i].type===CSSRule.STYLE_RULE&&t.test(n.cssRules[i].selectorText)&&e.unshift(i);for(a=0,c=e.length;c>a;a++)n.deleteRule(e[a])}}catch(d){}},0)},i.Utils.isInView=function(e,n){var o=t(e);if(!o.is(":visible"))return!1;var s=i.$win.scrollLeft(),a=i.$win.scrollTop(),r=o.offset(),l=r.left,c=r.top;return n=t.extend({topoffset:0,leftoffset:0},n),c+o.height()>=a&&c-n.topoffset<=a+i.$win.height()&&l+o.width()>=s&&l-n.leftoffset<=s+i.$win.width()?!0:!1},i.Utils.checkDisplay=function(e,n){var o=i.$("[data-uk-margin], [data-uk-grid-match], [data-uk-grid-margin], [data-uk-check-display]",e||document);return e&&!o.length&&(o=t(e)),o.trigger("display.uk.check"),n&&("string"!=typeof n&&(n='[class*="uk-animation-"]'),o.find(n).each(function(){var t=i.$(this),e=t.attr("class"),n=e.match(/uk-animation-(.+)/);t.removeClass(n[0]).width(),t.addClass(n[0])})),o},i.Utils.options=function(e){if("string"!=t.type(e))return e;-1!=e.indexOf(":")&&"}"!=e.trim().substr(-1)&&(e="{"+e+"}");var n=e?e.indexOf("{"):-1,o={};if(-1!=n)try{o=i.Utils.str2json(e.substr(n))}catch(s){}return o},i.Utils.animate=function(e,n){var o=t.Deferred();return e=i.$(e),e.css("display","none").addClass(n).one(i.support.animation.end,function(){e.removeClass(n),o.resolve()}),e.css("display",""),o.promise()},i.Utils.uid=function(t){return(t||"id")+(new Date).getTime()+"RAND"+Math.ceil(1e5*Math.random())},i.Utils.template=function(t,i){for(var e,n,o,s,a=t.replace(/\n/g,"\\n").replace(/\{\{\{\s*(.+?)\s*\}\}\}/g,"{{!$1}}").split(/(\{\{\s*(.+?)\s*\}\})/g),r=0,l=[],c=0;r/g, '>');}"].join("\n")),i?s(i):s},i.Utils.focus=function(i,e){if(i=t(i),!i.length)return i;var n,o=i.find("[autofocus]:first");return o.length?o.focus():(o=i.find(":input"+(e&&","+e||"")).first(),o.length?o.focus():(i.attr("tabindex")||(n=1e3,i.attr("tabindex",n)),i[0].focus(),n&&i.attr("tabindex",""),i))},i.Utils.events={},i.Utils.events.click=i.support.touch?"tap":"click",i.fn=function(e,n){var o=arguments,s=e.match(/^([a-z\-]+)(?:\.([a-z]+))?/i),a=s[1],r=s[2];return i[a]?this.each(function(){var e=t(this),s=e.data(a);s||e.data(a,s=i[a](this,r?void 0:n)),r&&s[r].apply(s,Array.prototype.slice.call(o,1))}):(t.error("UIkit component ["+a+"] does not exist."),this)},t.UIkit=i,t.fn.uk=i.fn,i.langdirection="rtl"==i.$html.attr("dir")?"right":"left",i.components={},i.component=function(e,n,o){if(i.components[e]&&!o)return i.components[e];var s=function(n,o){var a=this;return this.UIkit=i,this.element=n?i.$(n):null,this.options=t.extend(!0,{},this.defaults,o),this.plugins={},this.element&&this.element.data(e,this),this.init(),(this.options.plugins.length?this.options.plugins:Object.keys(s.plugins)).forEach(function(t){s.plugins[t].init&&(s.plugins[t].init(a),a.plugins[t]=!0)}),this.trigger("init.uk.component",[e,this]),this};return s.plugins={},t.extend(!0,s.prototype,{defaults:{plugins:[]},boot:function(){},init:function(){},on:function(t,e,n){return i.$(this.element||this).on(t,e,n)},one:function(t,e,n){return i.$(this.element||this).one(t,e,n)},off:function(t){return i.$(this.element||this).off(t)},trigger:function(t,e){return i.$(this.element||this).trigger(t,e)},find:function(t){return i.$(this.element?this.element:[]).find(t)},proxy:function(t,i){var e=this;i.split(" ").forEach(function(i){e[i]||(e[i]=function(){return t[i].apply(t,arguments)})})},mixin:function(t,i){var e=this;i.split(" ").forEach(function(i){e[i]||(e[i]=t[i].bind(e))})},option:function(){return 1==arguments.length?this.options[arguments[0]]||void 0:(2==arguments.length&&(this.options[arguments[0]]=arguments[1]),void 0)}},n),this.components[e]=s,this[e]=function(){var n,o;if(arguments.length)switch(arguments.length){case 1:"string"==typeof arguments[0]||arguments[0].nodeType||arguments[0]instanceof jQuery?n=t(arguments[0]):o=arguments[0];break;case 2:n=t(arguments[0]),o=arguments[1]}return n&&n.data(e)?n.data(e):new i.components[e](n,o)},i.domready&&i.component.boot(e),s},i.plugin=function(t,i,e){this.components[t].plugins[i]=e},i.component.boot=function(t){i.components[t].prototype&&i.components[t].prototype.boot&&!i.components[t].booted&&(i.components[t].prototype.boot.apply(i,[]),i.components[t].booted=!0)},i.component.bootComponents=function(){for(var t in i.components)i.component.boot(t)},i.domObservers=[],i.domready=!1,i.ready=function(t){i.domObservers.push(t),i.domready&&t(document)},i.on=function(t,e,n){return t&&t.indexOf("ready.uk.dom")>-1&&i.domready&&e.apply(i.$doc),i.$doc.on(t,e,n)},i.one=function(t,e,n){return t&&t.indexOf("ready.uk.dom")>-1&&i.domready?(e.apply(i.$doc),i.$doc):i.$doc.one(t,e,n)},i.trigger=function(t,e){return i.$doc.trigger(t,e)},i.domObserve=function(t,e){i.support.mutationobserver&&(e=e||function(){},i.$(t).each(function(){var t=this,n=i.$(t);if(!n.data("observer"))try{var o=new i.support.mutationobserver(i.Utils.debounce(function(){e.apply(t,[n]),n.trigger("changed.uk.dom")},50),{childList:!0,subtree:!0});o.observe(t,{childList:!0,subtree:!0}),n.data("observer",o)}catch(s){}}))},i.init=function(t){t=t||document,i.domObservers.forEach(function(i){i(t)})},i.on("domready.uk.dom",function(){i.init(),i.domready&&i.Utils.checkDisplay()}),document.addEventListener("DOMContentLoaded",function(){var e=function(){i.$body=i.$("body"),i.trigger("beforeready.uk.dom"),i.component.bootComponents();var e=requestAnimationFrame(function(){var t={dir:{x:0,y:0},x:window.pageXOffset,y:window.pageYOffset},n=function(){var o=window.pageXOffset,s=window.pageYOffset;(t.x!=o||t.y!=s)&&(t.dir.x=o!=t.x?o>t.x?1:-1:0,t.dir.y=s!=t.y?s>t.y?1:-1:0,t.x=o,t.y=s,i.$doc.trigger("scrolling.uk.document",[{dir:{x:t.dir.x,y:t.dir.y},x:o,y:s}])),cancelAnimationFrame(e),e=requestAnimationFrame(n)};return i.support.touch&&i.$html.on("touchmove touchend MSPointerMove MSPointerUp pointermove pointerup",n),(t.x||t.y)&&n(),n}());if(i.trigger("domready.uk.dom"),i.support.touch&&navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&i.$win.on("load orientationchange resize",i.Utils.debounce(function(){var i=function(){return t(".uk-height-viewport").css("height",window.innerHeight),i};return i()}(),100)),i.trigger("afterready.uk.dom"),i.domready=!0,i.support.mutationobserver){var n=i.Utils.debounce(function(){requestAnimationFrame(function(){i.init(document.body)})},10);new i.support.mutationobserver(function(t){var i=!1;t.every(function(t){if("childList"!=t.type)return!0;for(var e,n=0;n=Math.abs(e-n)?t-i>0?"Left":"Right":e-n>0?"Up":"Down"}function e(){c=null,d.last&&(void 0!==d.el&&d.el.trigger("longTap"),d={})}function n(){c&&clearTimeout(c),c=null}function o(){a&&clearTimeout(a),r&&clearTimeout(r),l&&clearTimeout(l),c&&clearTimeout(c),a=r=l=c=null,d={}}function s(t){return t.pointerType==t.MSPOINTER_TYPE_TOUCH&&t.isPrimary}if(!t.fn.swipeLeft){var a,r,l,c,u,d={},h=750,p="ontouchstart"in window,f=window.PointerEvent,m=p||window.DocumentTouch&&document instanceof DocumentTouch||navigator.msPointerEnabled&&navigator.msMaxTouchPoints>0||navigator.pointerEnabled&&navigator.maxTouchPoints>0;t(function(){var g,v,k,w=0,b=0;"MSGesture"in window&&(u=new MSGesture,u.target=document.body),t(document).on("MSGestureEnd gestureend",function(t){var i=t.originalEvent.velocityX>1?"Right":t.originalEvent.velocityX<-1?"Left":t.originalEvent.velocityY>1?"Down":t.originalEvent.velocityY<-1?"Up":null;i&&void 0!==d.el&&(d.el.trigger("swipe"),d.el.trigger("swipe"+i))}).on("touchstart MSPointerDown pointerdown",function(i){("MSPointerDown"!=i.type||s(i.originalEvent))&&(k="MSPointerDown"==i.type||"pointerdown"==i.type?i:i.originalEvent.touches[0],g=Date.now(),v=g-(d.last||g),d.el=t("tagName"in k.target?k.target:k.target.parentNode),a&&clearTimeout(a),d.x1=k.pageX,d.y1=k.pageY,v>0&&250>=v&&(d.isDoubleTap=!0),d.last=g,c=setTimeout(e,h),i.originalEvent&&i.originalEvent.pointerId&&u&&("MSPointerDown"==i.type||"pointerdown"==i.type||"touchstart"==i.type)&&u.addPointer(i.originalEvent.pointerId))}).on("touchmove MSPointerMove pointermove",function(t){("MSPointerMove"!=t.type||s(t.originalEvent))&&(k="MSPointerMove"==t.type||"pointermove"==t.type?t:t.originalEvent.touches[0],n(),d.x2=k.pageX,d.y2=k.pageY,w+=Math.abs(d.x1-d.x2),b+=Math.abs(d.y1-d.y2))}).on("touchend MSPointerUp pointerup",function(e){("MSPointerUp"!=e.type||s(e.originalEvent))&&(n(),d.x2&&Math.abs(d.x1-d.x2)>30||d.y2&&Math.abs(d.y1-d.y2)>30?l=setTimeout(function(){void 0!==d.el&&(d.el.trigger("swipe"),d.el.trigger("swipe"+i(d.x1,d.x2,d.y1,d.y2))),d={}},0):"last"in d&&(isNaN(w)||30>w&&30>b?r=setTimeout(function(){var i=t.Event("tap");i.cancelTouch=o,void 0!==d.el&&d.el.trigger(i),d.isDoubleTap?(void 0!==d.el&&d.el.trigger("doubleTap"),d={}):a=setTimeout(function(){a=null,void 0!==d.el&&d.el.trigger("singleTap"),d={}},250)},0):d={},w=b=0))}).on("touchcancel MSPointerCancel pointercancel",function(t){("touchcancel"==t.type&&p&&m||!p&&"pointercancel"==t.type&&f)&&o()}),t(window).on("scroll",o)}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(i){t.fn[i]=function(e){return t(this).on(i,e)}})}}(jQuery),function(t){"use strict";var i=[];t.component("stackMargin",{defaults:{cls:"uk-margin-small-top",rowfirst:!1,observe:!1},boot:function(){t.ready(function(i){t.$("[data-uk-margin]",i).each(function(){var i=t.$(this);i.data("stackMargin")||t.stackMargin(i,t.Utils.options(i.attr("data-uk-margin")))})})},init:function(){var e=this;t.$win.on("resize orientationchange",function(){var i=function(){e.process()};return t.$(function(){i(),t.$win.on("load",i)}),t.Utils.debounce(i,20)}()),this.on("display.uk.check",function(){this.element.is(":visible")&&this.process()}.bind(this)),this.options.observe&&t.domObserve(this.element,function(){e.element.is(":visible")&&e.process()}),i.push(this)},process:function(){var i=this.element.children();if(t.Utils.stackMargin(i,this.options),!this.options.rowfirst||!i.length)return this;var e={},n=!1;return i.removeClass(this.options.rowfirst).each(function(i,o){o=t.$(this),"none"!=this.style.display&&(i=o.offset().left,((e[i]=e[i]||[])&&e[i]).push(this),n=n===!1?i:Math.min(n,i))}),t.$(e[n]).addClass(this.options.rowfirst),this}}),function(){var i=[],e=function(t){if(t.is(":visible")){var i=t.parent().width(),e=t.data("width"),n=i/e,o=Math.floor(n*t.data("height"));t.css({height:e>i?o:t.data("height")})}};t.component("responsiveElement",{defaults:{},boot:function(){t.ready(function(i){t.$("iframe.uk-responsive-width, [data-uk-responsive]",i).each(function(){var i,e=t.$(this);e.data("responsiveElement")||(i=t.responsiveElement(e,{}))})})},init:function(){var t=this.element;t.attr("width")&&t.attr("height")&&(t.data({width:t.attr("width"),height:t.attr("height")}).on("display.uk.check",function(){e(t)}),e(t),i.push(t))}}),t.$win.on("resize load",t.Utils.debounce(function(){i.forEach(function(t){e(t)})},15))}(),t.Utils.stackMargin=function(i,e){e=t.$.extend({cls:"uk-margin-small-top"},e),i=t.$(i).removeClass(e.cls);var n=!1;i.each(function(i,e,o,s){s=t.$(this),"none"!=s.css("display")&&(i=s.offset(),e=s.outerHeight(),o=i.top+e,s.data({ukMarginPos:o,ukMarginTop:i.top}),(n===!1||i.topn.top&&i.data("ukMarginPos")>n.pos&&i.addClass(e.cls)})},t.Utils.matchHeights=function(i,e){i=t.$(i).css("min-height",""),e=t.$.extend({row:!0},e);var n=function(i){if(!(i.length<2)){var e=0;i.each(function(){e=Math.max(e,t.$(this).outerHeight())}).each(function(){var i=t.$(this),n=e-("border-box"==i.css("box-sizing")?0:i.outerHeight()-i.height());i.css("min-height",n+"px")})}};e.row?(i.first().width(),setTimeout(function(){var e=!1,o=[];i.each(function(){var i=t.$(this),s=i.offset().top;s!=e&&o.length&&(n(t.$(o)),o=[],s=i.offset().top),o.push(i),e=s}),o.length&&n(t.$(o))},0)):n(i)},function(i){t.Utils.inlineSvg=function(e,n){t.$(e||'img[src$=".svg"]',n||document).each(function(){var e=t.$(this),n=e.attr("src");if(!i[n]){var o=t.$.Deferred();t.$.get(n,{nc:Math.random()},function(i){o.resolve(t.$(i).find("svg"))}),i[n]=o.promise()}i[n].then(function(i){var n=t.$(i).clone();e.attr("id")&&n.attr("id",e.attr("id")),e.attr("class")&&n.attr("class",e.attr("class")),e.attr("style")&&n.attr("style",e.attr("style")),e.attr("width")&&(n.attr("width",e.attr("width")),e.attr("height")||n.removeAttr("height")),e.attr("height")&&(n.attr("height",e.attr("height")),e.attr("width")||n.removeAttr("width")),e.replaceWith(n)})})},t.ready(function(i){t.Utils.inlineSvg("[data-uk-svg]",i)})}({}),t.Utils.getCssVar=function(t){var i,e=document.documentElement,n=e.appendChild(document.createElement("div"));n.classList.add("var-"+t);try{i=JSON.parse(i=getComputedStyle(n,":before").content.replace(/^["'](.*)["']$/,"$1"))}catch(o){i=void 0}return e.removeChild(n),i}}(UIkit2),function(t){"use strict";function i(i,e){e=t.$.extend({duration:1e3,transition:"easeOutExpo",offset:0,complete:function(){}},e);var n=i.offset().top-e.offset,o=t.$doc.height(),s=window.innerHeight;n+s>o&&(n=o-s),t.$("html,body").stop().animate({scrollTop:n},e.duration,e.transition).promise().done(e.complete)}t.component("smoothScroll",{boot:function(){t.$html.on("click.smooth-scroll.uikit","[data-uk-smooth-scroll]",function(){var i=t.$(this);if(!i.data("smoothScroll")){{t.smoothScroll(i,t.Utils.options(i.attr("data-uk-smooth-scroll")))}i.trigger("click")}return!1})},init:function(){var e=this;this.on("click",function(n){n.preventDefault(),i(t.$(this.hash).length?t.$(this.hash):t.$("body"),e.options)})}}),t.Utils.scrollToElement=i,t.$.easing.easeOutExpo||(t.$.easing.easeOutExpo=function(t,i,e,n,o){return i==o?e+n:n*(-Math.pow(2,-10*i/o)+1)+e})}(UIkit2),function(t){"use strict";var i=t.$win,e=t.$doc,n=[],o=function(){for(var t=0;t=u)return e[t]}();if(!d)return;c.options.closest?(o.blur().closest(l).removeClass(r),s=o.filter("a[href='#"+d.attr("id")+"']").closest(l).addClass(r)):s=o.removeClass(r).filter("a[href='#"+d.attr("id")+"']").addClass(r),c.element.trigger("inview.uk.scrollspynav",[d,s])}};this.options.smoothscroll&&t.smoothScroll&&o.each(function(){t.smoothScroll(this,c.options.smoothscroll)}),u(),this.element.data("scrollspynav",this),this.check=u,s.push(this)}})}(UIkit2),function(t){"use strict";var i=[];t.component("toggle",{defaults:{target:!1,cls:"uk-hidden",animation:!1,duration:200},boot:function(){t.ready(function(e){t.$("[data-uk-toggle]",e).each(function(){var i=t.$(this);if(!i.data("toggle")){t.toggle(i,t.Utils.options(i.attr("data-uk-toggle")))}}),setTimeout(function(){i.forEach(function(t){t.getToggles()})},0)})},init:function(){var t=this;this.aria=-1!==this.options.cls.indexOf("uk-hidden"),this.on("click",function(i){t.element.is('a[href="#"]')&&i.preventDefault(),t.toggle()}),i.push(this)},toggle:function(){if(this.getToggles(),this.totoggle.length){if(this.options.animation&&t.support.animation){var i=this,e=this.options.animation.split(",");1==e.length&&(e[1]=e[0]),e[0]=e[0].trim(),e[1]=e[1].trim(),this.totoggle.css("animation-duration",this.options.duration+"ms"),this.totoggle.each(function(){var n=t.$(this);n.hasClass(i.options.cls)?(n.toggleClass(i.options.cls),t.Utils.animate(n,e[0]).then(function(){n.css("animation-duration",""),t.Utils.checkDisplay(n)})):t.Utils.animate(this,e[1]+" uk-animation-reverse").then(function(){n.toggleClass(i.options.cls).css("animation-duration",""),t.Utils.checkDisplay(n)})})}else this.totoggle.toggleClass(this.options.cls),t.Utils.checkDisplay(this.totoggle);this.updateAria()}},getToggles:function(){this.totoggle=this.options.target?t.$(this.options.target):[],this.updateAria()},updateAria:function(){this.aria&&this.totoggle.length&&this.totoggle.not("[aria-hidden]").each(function(){t.$(this).attr("aria-hidden",t.$(this).hasClass("uk-hidden"))})}})}(UIkit2),function(t){"use strict";t.component("alert",{defaults:{fade:!0,duration:200,trigger:".uk-alert-close"},boot:function(){t.$html.on("click.alert.uikit","[data-uk-alert]",function(i){var e=t.$(this);if(!e.data("alert")){var n=t.alert(e,t.Utils.options(e.attr("data-uk-alert")));t.$(i.target).is(n.options.trigger)&&(i.preventDefault(),n.close())}})},init:function(){var t=this;this.on("click",this.options.trigger,function(i){i.preventDefault(),t.close()})},close:function(){var t=this.trigger("close.uk.alert"),i=function(){this.trigger("closed.uk.alert").remove()}.bind(this);this.options.fade?t.css("overflow","hidden").css("max-height",t.height()).animate({height:0,opacity:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0},this.options.duration,i):i()}})}(UIkit2),function(t){"use strict";t.component("buttonRadio",{defaults:{activeClass:"uk-active",target:".uk-button"},boot:function(){t.$html.on("click.buttonradio.uikit","[data-uk-button-radio]",function(i){var e=t.$(this);if(!e.data("buttonRadio")){var n=t.buttonRadio(e,t.Utils.options(e.attr("data-uk-button-radio"))),o=t.$(i.target);o.is(n.options.target)&&o.trigger("click")}})},init:function(){var i=this;this.find(i.options.target).attr("aria-checked","false").filter("."+i.options.activeClass).attr("aria-checked","true"),this.on("click",this.options.target,function(e){var n=t.$(this);n.is('a[href="#"]')&&e.preventDefault(),i.find(i.options.target).not(n).removeClass(i.options.activeClass).blur(),n.addClass(i.options.activeClass),i.find(i.options.target).not(n).attr("aria-checked","false"),n.attr("aria-checked","true"),i.trigger("change.uk.button",[n])})},getSelected:function(){return this.find("."+this.options.activeClass)}}),t.component("buttonCheckbox",{defaults:{activeClass:"uk-active",target:".uk-button"},boot:function(){t.$html.on("click.buttoncheckbox.uikit","[data-uk-button-checkbox]",function(i){var e=t.$(this);if(!e.data("buttonCheckbox")){var n=t.buttonCheckbox(e,t.Utils.options(e.attr("data-uk-button-checkbox"))),o=t.$(i.target);o.is(n.options.target)&&o.trigger("click")}})},init:function(){var i=this;this.find(i.options.target).attr("aria-checked","false").filter("."+i.options.activeClass).attr("aria-checked","true"),this.on("click",this.options.target,function(e){var n=t.$(this);n.is('a[href="#"]')&&e.preventDefault(),n.toggleClass(i.options.activeClass).blur(),n.attr("aria-checked",n.hasClass(i.options.activeClass)),i.trigger("change.uk.button",[n])})},getSelected:function(){return this.find("."+this.options.activeClass)}}),t.component("button",{defaults:{},boot:function(){t.$html.on("click.button.uikit","[data-uk-button]",function(){var i=t.$(this);if(!i.data("button")){{t.button(i,t.Utils.options(i.attr("data-uk-button")))}i.trigger("click")}})},init:function(){var t=this;this.element.attr("aria-pressed",this.element.hasClass("uk-active")),this.on("click",function(i){t.element.is('a[href="#"]')&&i.preventDefault(),t.toggle(),t.trigger("change.uk.button",[t.element.blur().hasClass("uk-active")])})},toggle:function(){this.element.toggleClass("uk-active"),this.element.attr("aria-pressed",this.element.hasClass("uk-active"))}})}(UIkit2),function(t){"use strict";function i(i,e,n,o){if(i=t.$(i),e=t.$(e),n=n||window.innerWidth,o=o||i.offset(),e.length){var s=e.outerWidth();if(i.css("min-width",s),"right"==t.langdirection){var a=n-(e.offset().left+s),r=n-(i.offset().left+i.outerWidth());i.css("margin-right",a-r)}else i.css("margin-left",e.offset().left-o.left)}}var e,n=!1,o={x:{"bottom-left":"bottom-right","bottom-right":"bottom-left","bottom-center":"bottom-center","top-left":"top-right","top-right":"top-left","top-center":"top-center","left-top":"right-top","left-bottom":"right-bottom","left-center":"right-center","right-top":"left-top","right-bottom":"left-bottom","right-center":"left-center"},y:{"bottom-left":"top-left","bottom-right":"top-right","bottom-center":"top-center","top-left":"bottom-left","top-right":"bottom-right","top-center":"bottom-center","left-top":"left-bottom","left-bottom":"left-top","left-center":"left-center","right-top":"right-bottom","right-bottom":"right-top","right-center":"right-center"},xy:{"bottom-left":"top-right","bottom-right":"top-left","bottom-center":"top-center","top-left":"bottom-right","top-right":"bottom-left","top-center":"bottom-center","left-top":"right-bottom","left-bottom":"right-top","left-center":"right-center","right-top":"left-bottom","right-bottom":"left-top","right-center":"left-center"}};t.component("dropdown",{defaults:{mode:"hover",pos:"bottom-left",offset:0,remaintime:800,justify:!1,boundary:t.$win,delay:0,dropdownSelector:".uk-dropdown,.uk-dropdown-blank",hoverDelayIdle:250,preventflip:!1},remainIdle:!1,boot:function(){var i=t.support.touch?"click":"mouseenter";t.$html.on(i+".dropdown.uikit focus pointerdown","[data-uk-dropdown]",function(e){var n=t.$(this);if(!n.data("dropdown")){var o=t.dropdown(n,t.Utils.options(n.attr("data-uk-dropdown")));("click"==e.type||"mouseenter"==e.type&&"hover"==o.options.mode)&&o.element.trigger(i),o.dropdown.length&&e.preventDefault()}})},init:function(){var i=this;this.dropdown=this.find(this.options.dropdownSelector),this.offsetParent=this.dropdown.parents().filter(function(){return-1!==t.$.inArray(t.$(this).css("position"),["relative","fixed","absolute"])}).slice(0,1),this.offsetParent.length||(this.offsetParent=this.element),this.centered=this.dropdown.hasClass("uk-dropdown-center"),this.justified=this.options.justify?t.$(this.options.justify):!1,this.boundary=t.$(this.options.boundary),this.boundary.length||(this.boundary=t.$win),this.dropdown.hasClass("uk-dropdown-up")&&(this.options.pos="top-left"),this.dropdown.hasClass("uk-dropdown-flip")&&(this.options.pos=this.options.pos.replace("left","right")),this.dropdown.hasClass("uk-dropdown-center")&&(this.options.pos=this.options.pos.replace(/(left|right)/,"center")),this.element.attr("aria-haspopup","true"),this.element.attr("aria-expanded",this.element.hasClass("uk-open")),this.dropdown.attr("aria-hidden","true"),"click"==this.options.mode||t.support.touch?this.on("click.uk.dropdown",function(e){var n=t.$(e.target);n.parents(i.options.dropdownSelector).length||((n.is("a[href='#']")||n.parent().is("a[href='#']")||i.dropdown.length&&!i.dropdown.is(":visible"))&&e.preventDefault(),n.blur()),i.element.hasClass("uk-open")?(!i.dropdown.find(e.target).length||n.is(".uk-dropdown-close")||n.parents(".uk-dropdown-close").length)&&i.hide():i.show()}):this.on("mouseenter",function(){i.trigger("pointerenter.uk.dropdown",[i]),i.remainIdle&&clearTimeout(i.remainIdle),e&&clearTimeout(e),n&&n==i||(e=n&&n!=i?setTimeout(function(){e=setTimeout(i.show.bind(i),i.options.delay)},i.options.hoverDelayIdle):setTimeout(i.show.bind(i),i.options.delay))}).on("mouseleave",function(){e&&clearTimeout(e),i.remainIdle=setTimeout(function(){n&&n==i&&i.hide()},i.options.remaintime),i.trigger("pointerleave.uk.dropdown",[i])}).on("click",function(e){var o=t.$(e.target);return i.remainIdle&&clearTimeout(i.remainIdle),n&&n==i?((!i.dropdown.find(e.target).length||o.is(".uk-dropdown-close")||o.parents(".uk-dropdown-close").length)&&i.hide(),void 0):((o.is("a[href='#']")||o.parent().is("a[href='#']"))&&e.preventDefault(),i.show(),void 0)})},show:function(){t.$html.off("click.outer.dropdown"),n&&n!=this&&n.hide(!0),e&&clearTimeout(e),this.trigger("beforeshow.uk.dropdown",[this]),this.checkDimensions(),this.element.addClass("uk-open"),this.element.attr("aria-expanded","true"),this.dropdown.attr("aria-hidden","false"),this.trigger("show.uk.dropdown",[this]),t.Utils.checkDisplay(this.dropdown,!0),t.Utils.focus(this.dropdown),n=this,this.registerOuterClick()},hide:function(t){this.trigger("beforehide.uk.dropdown",[this,t]),this.element.removeClass("uk-open"),this.remainIdle&&clearTimeout(this.remainIdle),this.remainIdle=!1,this.element.attr("aria-expanded","false"),this.dropdown.attr("aria-hidden","true"),this.trigger("hide.uk.dropdown",[this,t]),n==this&&(n=!1)},registerOuterClick:function(){var i=this;t.$html.off("click.outer.dropdown"),setTimeout(function(){t.$html.on("click.outer.dropdown",function(o){e&&clearTimeout(e);t.$(o.target);n!=i||i.element.find(o.target).length||(i.hide(!0),t.$html.off("click.outer.dropdown"))})},10)},checkDimensions:function(){if(this.dropdown.length){this.dropdown.removeClass("uk-dropdown-top uk-dropdown-bottom uk-dropdown-left uk-dropdown-right uk-dropdown-stack uk-dropdown-autoflip").css({topLeft:"",left:"",marginLeft:"",marginRight:""}),this.justified&&this.justified.length&&this.dropdown.css("min-width","");var e,n=t.$.extend({},this.offsetParent.offset(),{width:this.offsetParent[0].offsetWidth,height:this.offsetParent[0].offsetHeight}),s=this.options.offset,a=this.dropdown,r=(a.show().offset()||{left:0,top:0},a.outerWidth()),l=a.outerHeight(),c=this.boundary.width(),u=(this.boundary[0]!==window&&this.boundary.offset()?this.boundary.offset():{top:0,left:0},this.options.pos),d={"bottom-left":{top:0+n.height+s,left:0},"bottom-right":{top:0+n.height+s,left:0+n.width-r},"bottom-center":{top:0+n.height+s,left:0+n.width/2-r/2},"top-left":{top:0-l-s,left:0},"top-right":{top:0-l-s,left:0+n.width-r},"top-center":{top:0-l-s,left:0+n.width/2-r/2},"left-top":{top:0,left:0-r-s},"left-bottom":{top:0+n.height-l,left:0-r-s},"left-center":{top:0+n.height/2-l/2,left:0-r-s},"right-top":{top:0,left:0+n.width+s},"right-bottom":{top:0+n.height-l,left:0+n.width+s},"right-center":{top:0+n.height/2-l/2,left:0+n.width+s}},h={}; +if(e=u.split("-"),h=d[u]?d[u]:d["bottom-left"],this.justified&&this.justified.length)i(a.css({left:0}),this.justified,c);else if(this.options.preventflip!==!0){var p;switch(this.checkBoundary(n.left+h.left,n.top+h.top,r,l,c)){case"x":"x"!==this.options.preventflip&&(p=o.x[u]||"right-top");break;case"y":"y"!==this.options.preventflip&&(p=o.y[u]||"top-left");break;case"xy":this.options.preventflip||(p=o.xy[u]||"right-bottom")}p&&(e=p.split("-"),h=d[p]?d[p]:d["bottom-left"],a.addClass("uk-dropdown-autoflip"),this.checkBoundary(n.left+h.left,n.top+h.top,r,l,c)&&(e=u.split("-"),h=d[u]?d[u]:d["bottom-left"]))}r>c&&(a.addClass("uk-dropdown-stack"),this.trigger("stack.uk.dropdown",[this])),a.css(h).css("display","").addClass("uk-dropdown-"+e[0])}},checkBoundary:function(i,e,n,o,s){var a="";return(0>i||i-t.$win.scrollLeft()+n>s)&&(a+="x"),(e-t.$win.scrollTop()<0||e-t.$win.scrollTop()+o>window.innerHeight)&&(a+="y"),a}}),t.component("dropdownOverlay",{defaults:{justify:!1,cls:"",duration:200},boot:function(){t.ready(function(i){t.$("[data-uk-dropdown-overlay]",i).each(function(){var i=t.$(this);i.data("dropdownOverlay")||t.dropdownOverlay(i,t.Utils.options(i.attr("data-uk-dropdown-overlay")))})})},init:function(){var e=this;this.justified=this.options.justify?t.$(this.options.justify):!1,this.overlay=this.element.find("uk-dropdown-overlay"),this.overlay.length||(this.overlay=t.$('
                ').appendTo(this.element)),this.overlay.addClass(this.options.cls),this.on({"beforeshow.uk.dropdown":function(t,n){e.dropdown=n,e.justified&&e.justified.length&&i(e.overlay.css({display:"block",marginLeft:"",marginRight:""}),e.justified,e.justified.outerWidth())},"show.uk.dropdown":function(){var i=e.dropdown.dropdown.outerHeight(!0);e.dropdown.element.removeClass("uk-open"),e.overlay.stop().css("display","block").animate({height:i},e.options.duration,function(){e.dropdown.dropdown.css("visibility",""),e.dropdown.element.addClass("uk-open"),t.Utils.checkDisplay(e.dropdown.dropdown,!0)}),e.pointerleave=!1},"hide.uk.dropdown":function(){e.overlay.stop().animate({height:0},e.options.duration)},"pointerenter.uk.dropdown":function(){clearTimeout(e.remainIdle)},"pointerleave.uk.dropdown":function(){e.pointerleave=!0}}),this.overlay.on({mouseenter:function(){e.remainIdle&&(clearTimeout(e.dropdown.remainIdle),clearTimeout(e.remainIdle))},mouseleave:function(){e.pointerleave&&n&&(e.remainIdle=setTimeout(function(){n&&n.hide()},n.options.remaintime))}})}})}(UIkit2),function(t){"use strict";var i=[];t.component("gridMatchHeight",{defaults:{target:!1,row:!0,ignorestacked:!1,observe:!1},boot:function(){t.ready(function(i){t.$("[data-uk-grid-match]",i).each(function(){var i,e=t.$(this);e.data("gridMatchHeight")||(i=t.gridMatchHeight(e,t.Utils.options(e.attr("data-uk-grid-match"))))})})},init:function(){var e=this;this.columns=this.element.children(),this.elements=this.options.target?this.find(this.options.target):this.columns,this.columns.length&&(t.$win.on("load resize orientationchange",function(){var i=function(){e.element.is(":visible")&&e.match()};return t.$(function(){i()}),t.Utils.debounce(i,50)}()),this.options.observe&&t.domObserve(this.element,function(){e.element.is(":visible")&&e.match()}),this.on("display.uk.check",function(){this.element.is(":visible")&&this.match()}.bind(this)),i.push(this))},match:function(){var i=this.columns.filter(":visible:first");if(i.length){var e=Math.ceil(100*parseFloat(i.css("width"))/parseFloat(i.parent().css("width")))>=100;return e&&!this.options.ignorestacked?this.revert():t.Utils.matchHeights(this.elements,this.options),this}},revert:function(){return this.elements.css("min-height",""),this}}),t.component("gridMargin",{defaults:{cls:"uk-grid-margin",rowfirst:"uk-row-first"},boot:function(){t.ready(function(i){t.$("[data-uk-grid-margin]",i).each(function(){var i,e=t.$(this);e.data("gridMargin")||(i=t.gridMargin(e,t.Utils.options(e.attr("data-uk-grid-margin"))))})})},init:function(){t.stackMargin(this.element,this.options)}})}(UIkit2),function(t){"use strict";function i(i,e){return e?("object"==typeof i?(i=i instanceof jQuery?i:t.$(i),i.parent().length&&(e.persist=i,e.persist.data("modalPersistParent",i.parent()))):i="string"==typeof i||"number"==typeof i?t.$("
                ").html(i):t.$("
                ").html("UIkit2.modal Error: Unsupported data type: "+typeof i),i.appendTo(e.element.find(".uk-modal-dialog")),e):void 0}var e,n=!1,o=0,s=t.$html;t.$win.on("resize orientationchange",t.Utils.debounce(function(){t.$(".uk-modal.uk-open").each(function(){return t.$(this).data("modal")&&t.$(this).data("modal").resize()})},150)),t.component("modal",{defaults:{keyboard:!0,bgclose:!0,minScrollHeight:150,center:!1,modal:!0},scrollable:!1,transition:!1,hasTransitioned:!0,init:function(){if(e||(e=t.$("body")),this.element.length){var i=this;this.paddingdir="padding-"+("left"==t.langdirection?"right":"left"),this.dialog=this.find(".uk-modal-dialog"),this.active=!1,this.element.attr("aria-hidden",this.element.hasClass("uk-open")),this.on("click",".uk-modal-close",function(e){e.preventDefault();var n=t.$(e.target).closest(".uk-modal");n[0]===i.element[0]&&i.hide()}).on("click",function(e){var n=t.$(e.target);n[0]==i.element[0]&&i.options.bgclose&&i.hide()}),t.domObserve(this.element,function(){i.resize()})}},toggle:function(){return this[this.isActive()?"hide":"show"]()},show:function(){if(this.element.length){var i=this;if(!this.isActive())return this.options.modal&&n&&n.hide(!0),this.element.removeClass("uk-open").show(),this.resize(!0),this.options.modal&&(n=this),this.active=!0,o++,t.support.transition?(this.hasTransitioned=!1,this.element.one(t.support.transition.end,function(){i.hasTransitioned=!0,t.Utils.focus(i.dialog,"a[href]")}).addClass("uk-open")):(this.element.addClass("uk-open"),t.Utils.focus(this.dialog,"a[href]")),s.addClass("uk-modal-page").height(),this.element.attr("aria-hidden","false"),this.element.trigger("show.uk.modal"),t.Utils.checkDisplay(this.dialog,!0),this}},hide:function(i){if(!i&&t.support.transition&&this.hasTransitioned){var e=this;this.one(t.support.transition.end,function(){e._hide()}).removeClass("uk-open")}else this._hide();return this},resize:function(t){if(this.isActive()||t){var i=e.width();if(this.scrollbarwidth=window.innerWidth-i,e.css(this.paddingdir,this.scrollbarwidth),this.element.css("overflow-y",this.scrollbarwidth?"scroll":"auto"),!this.updateScrollable()&&this.options.center){var n=this.dialog.outerHeight(),o=parseInt(this.dialog.css("margin-top"),10)+parseInt(this.dialog.css("margin-bottom"),10);n+oi?20:i)-e;return t.css({maxHeight:o0?o--:o=0,this.element.hide().removeClass("uk-open"),this.element.attr("aria-hidden","true"),o||(s.removeClass("uk-modal-page"),e.css(this.paddingdir,"")),n===this&&(n=!1),this.trigger("hide.uk.modal")},isActive:function(){return this.element.hasClass("uk-open")}}),t.component("modalTrigger",{boot:function(){t.$html.on("click.modal.uikit","[data-uk-modal]",function(i){var e=t.$(this);if(e.is("a")&&i.preventDefault(),!e.data("modalTrigger")){var n=t.modalTrigger(e,t.Utils.options(e.attr("data-uk-modal")));n.show()}}),t.$html.on("keydown.modal.uikit",function(t){n&&27===t.keyCode&&n.options.keyboard&&(t.preventDefault(),n.hide())})},init:function(){var i=this;this.options=t.$.extend({target:i.element.is("a")?i.element.attr("href"):!1},this.options),this.modal=t.modal(this.options.target,this.options),this.on("click",function(t){t.preventDefault(),i.show()}),this.proxy(this.modal,"show hide isActive")}}),t.modal.dialog=function(e,n){var o=t.modal(t.$(t.modal.dialog.template).appendTo("body"),n);return o.on("hide.uk.modal",function(){o.persist&&(o.persist.appendTo(o.persist.data("modalPersistParent")),o.persist=!1),o.element.remove()}),i(e,o),o},t.modal.dialog.template='
                ',t.modal.alert=function(i,e){e=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},e);var n=t.modal.dialog(['
                '+String(i)+"
                ",'"].join(""),e);return n.on("show.uk.modal",function(){setTimeout(function(){n.element.find("button:first").focus()},50)}),n.show()},t.modal.confirm=function(i,e,n){var o=arguments.length>1&&arguments[arguments.length-1]?arguments[arguments.length-1]:{};e=t.$.isFunction(e)?e:function(){},n=t.$.isFunction(n)?n:function(){},o=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},t.$.isFunction(o)?{}:o);var s=t.modal.dialog(['
                '+String(i)+"
                ",'"].join(""),o);return s.element.find(".js-modal-confirm, .js-modal-confirm-cancel").on("click",function(){t.$(this).is(".js-modal-confirm")?e():n(),s.hide()}),s.on("show.uk.modal",function(){setTimeout(function(){s.element.find(".js-modal-confirm").focus()},50)}),s.show()},t.modal.prompt=function(i,e,n,o){n=t.$.isFunction(n)?n:function(){},o=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},o);var s=t.modal.dialog([i?'
                '+String(i)+"
                ":"",'

                ','"].join(""),o),a=s.element.find("input[type='text']").val(e||"").on("keyup",function(t){13==t.keyCode&&s.element.find(".js-modal-ok").trigger("click")});return s.element.find(".js-modal-ok").on("click",function(){n(a.val())!==!1&&s.hide()}),s.show()},t.modal.blockUI=function(i,e){var n=t.modal.dialog(['
                '+String(i||'
                ...
                ')+"
                "].join(""),t.$.extend({bgclose:!1,keyboard:!1,modal:!1},e));return n.content=n.element.find(".uk-modal-content:first"),n.show()},t.modal.labels={Ok:"Ok",Cancel:"Cancel"}}(UIkit2),function(t){"use strict";function i(i){var e=t.$(i),n="auto";if(e.is(":visible"))n=e.outerHeight();else{var o={position:e.css("position"),visibility:e.css("visibility"),display:e.css("display")};n=e.css({position:"absolute",visibility:"hidden",display:"block"}).outerHeight(),e.css(o)}return n}t.component("nav",{defaults:{toggle:'>li.uk-parent > a[href="#"]',lists:">li.uk-parent > ul",multiple:!1},boot:function(){t.ready(function(i){t.$("[data-uk-nav]",i).each(function(){var i=t.$(this);if(!i.data("nav")){t.nav(i,t.Utils.options(i.attr("data-uk-nav")))}})})},init:function(){var i=this;this.on("click.uk.nav",this.options.toggle,function(e){e.preventDefault();var n=t.$(this);i.open(n.parent()[0]==i.element[0]?n:n.parent("li"))}),this.update(),t.domObserve(this.element,function(){i.element.find(i.options.lists).not("[role]").length&&i.update()})},update:function(){var i=this;this.find(this.options.lists).each(function(){var e=t.$(this).attr("role","menu"),n=e.closest("li"),o=n.hasClass("uk-active");n.data("list-container")||(e.wrap('
                '),n.data("list-container",e.parent()[o?"removeClass":"addClass"]("uk-hidden"))),n.attr("aria-expanded",n.hasClass("uk-open")),o&&i.open(n,!0)})},open:function(e,n){var o=this,s=this.element,a=t.$(e),r=a.data("list-container");this.options.multiple||s.children(".uk-open").not(e).each(function(){var i=t.$(this);i.data("list-container")&&i.data("list-container").stop().animate({height:0},function(){t.$(this).parent().removeClass("uk-open").end().addClass("uk-hidden")})}),a.toggleClass("uk-open"),a.attr("aria-expanded",a.hasClass("uk-open")),r&&(a.hasClass("uk-open")&&r.removeClass("uk-hidden"),n?(r.stop().height(a.hasClass("uk-open")?"auto":0),a.hasClass("uk-open")||r.addClass("uk-hidden"),this.trigger("display.uk.check")):r.stop().animate({height:a.hasClass("uk-open")?i(r.find("ul:first")):0},function(){a.hasClass("uk-open")?r.css("height",""):r.addClass("uk-hidden"),o.trigger("display.uk.check")}))}})}(UIkit2),function(t){"use strict";var i={x:window.scrollX,y:window.scrollY},e=(t.$win,t.$doc,t.$html),n={show:function(n,o){if(n=t.$(n),n.length){o=t.$.extend({mode:"push"},o);var s=t.$("body"),a=n.find(".uk-offcanvas-bar:first"),r="right"==t.langdirection,l=a.hasClass("uk-offcanvas-bar-flip")?-1:1,c=l*(r?-1:1),u=window.innerWidth-s.width();i={x:window.pageXOffset,y:window.pageYOffset},a.attr("mode",o.mode),n.addClass("uk-active"),s.css({width:window.innerWidth-u,height:window.innerHeight}).addClass("uk-offcanvas-page"),("push"==o.mode||"reveal"==o.mode)&&s.css(r?"margin-right":"margin-left",(r?-1:1)*a.outerWidth()*c),"reveal"==o.mode&&a.css("clip","rect(0, "+a.outerWidth()+"px, 100vh, 0)"),e.css("margin-top",-1*i.y).width(),a.addClass("uk-offcanvas-bar-show"),this._initElement(n),a.trigger("show.uk.offcanvas",[n,a]),n.attr("aria-hidden","false")}},hide:function(n){var o=t.$("body"),s=t.$(".uk-offcanvas.uk-active"),a="right"==t.langdirection,r=s.find(".uk-offcanvas-bar:first"),l=function(){o.removeClass("uk-offcanvas-page").css({width:"",height:"",marginLeft:"",marginRight:""}),s.removeClass("uk-active"),r.removeClass("uk-offcanvas-bar-show"),e.css("margin-top",""),window.scrollTo(i.x,i.y),r.trigger("hide.uk.offcanvas",[s,r]),s.attr("aria-hidden","true")};s.length&&("none"==r.attr("mode")&&(n=!0),t.support.transition&&!n?(o.one(t.support.transition.end,function(){l()}).css(a?"margin-right":"margin-left",""),"reveal"==r.attr("mode")&&r.css("clip",""),setTimeout(function(){r.removeClass("uk-offcanvas-bar-show")},0)):l())},_initElement:function(i){i.data("OffcanvasInit")||(i.on("click.uk.offcanvas swipeRight.uk.offcanvas swipeLeft.uk.offcanvas",function(i){var e=t.$(i.target);if(i.type.match(/swipe/)){if(e.parents(".uk-offcanvas-bar:first").length)return}else if(!e.hasClass("uk-offcanvas-close")){if(e.hasClass("uk-offcanvas-bar"))return;if(e.parents(".uk-offcanvas-bar:first").length)return}i.stopImmediatePropagation(),n.hide()}),i.on("click",'a[href*="#"]',function(){var i=t.$(this),e=i.attr("href");"#"!=e&&(t.$doc.one("hide.uk.offcanvas",function(){var n;try{n=t.$(i[0].hash)}catch(o){n=""}n.length||(n=t.$('[name="'+i[0].hash.replace("#","")+'"]')),n.length&&t.Utils.scrollToElement?t.Utils.scrollToElement(n,t.Utils.options(i.attr("data-uk-smooth-scroll")||"{}")):window.location.href=e}),n.hide())}),i.data("OffcanvasInit",!0))}};t.component("offcanvasTrigger",{boot:function(){e.on("click.offcanvas.uikit","[data-uk-offcanvas]",function(i){i.preventDefault();var e=t.$(this);if(!e.data("offcanvasTrigger")){{t.offcanvasTrigger(e,t.Utils.options(e.attr("data-uk-offcanvas")))}e.trigger("click")}}),e.on("keydown.uk.offcanvas",function(t){27===t.keyCode&&n.hide()})},init:function(){var i=this;this.options=t.$.extend({target:i.element.is("a")?i.element.attr("href"):!1,mode:"push"},this.options),this.on("click",function(t){t.preventDefault(),n.show(i.options.target,i.options)})}}),t.offcanvas=n}(UIkit2),function(t){"use strict";function i(i,e,n){var o,s=t.$.Deferred(),a=i,r=i;return n[0]===e[0]?(s.resolve(),s.promise()):("object"==typeof i&&(a=i[0],r=i[1]||i[0]),t.$body.css("overflow-x","hidden"),o=function(){e&&e.hide().removeClass("uk-active "+r+" uk-animation-reverse"),n.addClass(a).one(t.support.animation.end,function(){setTimeout(function(){n.removeClass(""+a).css({opacity:"",display:""})},0),s.resolve(),t.$body.css("overflow-x",""),e&&e.css({opacity:"",display:""})}.bind(this)).show()},n.css("animation-duration",this.options.duration+"ms"),e&&e.length?(e.css("animation-duration",this.options.duration+"ms"),e.css("display","none").addClass(r+" uk-animation-reverse").one(t.support.animation.end,function(){o()}.bind(this)).css("display","")):(n.addClass("uk-active"),o()),s.promise())}var e;t.component("switcher",{defaults:{connect:!1,toggle:">*",active:0,animation:!1,duration:200,swiping:!0},animating:!1,boot:function(){t.ready(function(i){t.$("[data-uk-switcher]",i).each(function(){var i=t.$(this);if(!i.data("switcher")){t.switcher(i,t.Utils.options(i.attr("data-uk-switcher")))}})})},init:function(){var i=this;this.on("click.uk.switcher",this.options.toggle,function(t){t.preventDefault(),i.show(this)}),this.options.connect&&(this.connect=t.$(this.options.connect),this.connect.length&&(this.connect.on("click.uk.switcher","[data-uk-switcher-item]",function(e){e.preventDefault();var n=t.$(this).attr("data-uk-switcher-item");if(i.index!=n)switch(n){case"next":case"previous":i.show(i.index+("next"==n?1:-1));break;default:i.show(parseInt(n,10))}}),this.options.swiping&&this.connect.on("swipeRight swipeLeft",function(t){t.preventDefault(),window.getSelection().toString()||i.show(i.index+("swipeLeft"==t.type?1:-1))}),this.update()))},update:function(){this.connect.children().removeClass("uk-active").attr("aria-hidden","true");var t=this.find(this.options.toggle),i=t.filter(".uk-active");if(i.length)this.show(i,!1);else{if(this.options.active===!1)return;i=t.eq(this.options.active),this.show(i.length?i:t.eq(0),!1)}t.not(i).attr("aria-expanded","false"),i.attr("aria-expanded","true")},show:function(n,o){if(!this.animating){var s=this.find(this.options.toggle);isNaN(n)?n=t.$(n):(n=0>n?s.length-1:n,n=s.eq(s[n]?n:0));var a=this,r=t.$(n),l=e[this.options.animation]||function(t,n){if(!a.options.animation)return e.none.apply(a);var o=a.options.animation.split(",");return 1==o.length&&(o[1]=o[0]),o[0]=o[0].trim(),o[1]=o[1].trim(),i.apply(a,[o,t,n])};o!==!1&&t.support.animation||(l=e.none),r.hasClass("uk-disabled")||(s.attr("aria-expanded","false"),r.attr("aria-expanded","true"),s.filter(".uk-active").removeClass("uk-active"),r.addClass("uk-active"),this.options.connect&&this.connect.length&&(this.index=this.find(this.options.toggle).index(r),-1==this.index&&(this.index=0),this.connect.each(function(){var i=t.$(this),e=t.$(i.children()),n=t.$(e.filter(".uk-active")),o=t.$(e.eq(a.index));a.animating=!0,l.apply(a,[n,o]).then(function(){n.removeClass("uk-active"),o.addClass("uk-active"),n.attr("aria-hidden","true"),o.attr("aria-hidden","false"),t.Utils.checkDisplay(o,!0),a.animating=!1})})),this.trigger("show.uk.switcher",[r]))}}}),e={none:function(){var i=t.$.Deferred();return i.resolve(),i.promise()},fade:function(t,e){return i.apply(this,["uk-animation-fade",t,e])},"slide-bottom":function(t,e){return i.apply(this,["uk-animation-slide-bottom",t,e])},"slide-top":function(t,e){return i.apply(this,["uk-animation-slide-top",t,e])},"slide-vertical":function(t,e){var n=["uk-animation-slide-top","uk-animation-slide-bottom"];return t&&t.index()>e.index()&&n.reverse(),i.apply(this,[n,t,e])},"slide-left":function(t,e){return i.apply(this,["uk-animation-slide-left",t,e])},"slide-right":function(t,e){return i.apply(this,["uk-animation-slide-right",t,e])},"slide-horizontal":function(t,e){var n=["uk-animation-slide-right","uk-animation-slide-left"];return t&&t.index()>e.index()&&n.reverse(),i.apply(this,[n,t,e])},scale:function(t,e){return i.apply(this,["uk-animation-scale-up",t,e])}},t.switcher.animations=e}(UIkit2),function(t){"use strict";t.component("tab",{defaults:{target:">li:not(.uk-tab-responsive, .uk-disabled)",connect:!1,active:0,animation:!1,duration:200,swiping:!0},boot:function(){t.ready(function(i){t.$("[data-uk-tab]",i).each(function(){var i=t.$(this);if(!i.data("tab")){t.tab(i,t.Utils.options(i.attr("data-uk-tab")))}})})},init:function(){var i=this;this.current=!1,this.on("click.uk.tab",this.options.target,function(e){if(e.preventDefault(),!i.switcher||!i.switcher.animating){var n=i.find(i.options.target).not(this);n.removeClass("uk-active").blur(),i.trigger("change.uk.tab",[t.$(this).addClass("uk-active"),i.current]),i.current=t.$(this),i.options.connect||(n.attr("aria-expanded","false"),t.$(this).attr("aria-expanded","true"))}}),this.options.connect&&(this.connect=t.$(this.options.connect)),this.responsivetab=t.$('
              • ').append('
                  '),this.responsivetab.dropdown=this.responsivetab.find(".uk-dropdown"),this.responsivetab.lst=this.responsivetab.dropdown.find("ul"),this.responsivetab.caption=this.responsivetab.find("a:first"),this.element.hasClass("uk-tab-bottom")&&this.responsivetab.dropdown.addClass("uk-dropdown-up"),this.responsivetab.lst.on("click.uk.tab","a",function(e){e.preventDefault(),e.stopPropagation();var n=t.$(this);i.element.children("li:not(.uk-tab-responsive)").eq(n.data("index")).trigger("click")}),this.on("show.uk.switcher change.uk.tab",function(t,e){i.responsivetab.caption.html(e.text())}),this.element.append(this.responsivetab),this.options.connect&&(this.switcher=t.switcher(this.element,{toggle:">li:not(.uk-tab-responsive)",connect:this.options.connect,active:this.options.active,animation:this.options.animation,duration:this.options.duration,swiping:this.options.swiping})),t.dropdown(this.responsivetab,{mode:"click",preventflip:"y"}),i.trigger("change.uk.tab",[this.element.find(this.options.target).not(".uk-tab-responsive").filter(".uk-active")]),this.check(),t.$win.on("resize orientationchange",t.Utils.debounce(function(){i.element.is(":visible")&&i.check()},100)),this.on("display.uk.check",function(){i.element.is(":visible")&&i.check()})},check:function(){var i=this.element.children("li:not(.uk-tab-responsive)").removeClass("uk-hidden");if(!i.length)return this.responsivetab.addClass("uk-hidden"),void 0;var e,n,o,s=i.eq(0).offset().top+Math.ceil(i.eq(0).height()/2),a=!1;if(this.responsivetab.lst.empty(),i.each(function(){t.$(this).offset().top>s&&(a=!0)}),a)for(var r=0;r-1?"&":"?","enablejsapi=1&api=1"].join(""))}},check:function(){this.element.css({width:"",height:""}),this.dimension={w:this.element.width(),h:this.element.height()},this.element.attr("width")&&!isNaN(this.element.attr("width"))&&(this.dimension.w=this.element.attr("width")),this.element.attr("height")&&!isNaN(this.element.attr("height"))&&(this.dimension.h=this.element.attr("height")),this.ratio=this.dimension.w/this.dimension.h;var t,i,e=this.parent.width(),n=this.parent.height();e/this.ratio +//
                  +//

                  +//
                  +//

                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@accordion-title-margin-bottom: 15px; +@accordion-title-padding-vertical: 5px; +@accordion-title-padding-horizontal: 15px; +@accordion-title-font-size: 18px; +@accordion-title-line-height: 24px; +@accordion-title-background: #eee; + +@accordion-content-padding-horizontal: @accordion-title-padding-horizontal; +@accordion-content-padding-bottom: @accordion-title-padding-horizontal; + + +/* ======================================================================== + Component: Accordion + ========================================================================== */ + +.uk-accordion { + .hook-accordion; +} + +/* Sub-object: `uk-accordion-title` + ========================================================================== */ + +.uk-accordion-title { + margin-top: 0; + margin-bottom: @accordion-title-margin-bottom; + padding: @accordion-title-padding-vertical @accordion-title-padding-horizontal; + background: @accordion-title-background; + font-size: @accordion-title-font-size; + line-height: @accordion-title-line-height; + cursor: pointer; + .hook-accordion-title; +} + + +/* Sub-object: `uk-accordion-content` + ========================================================================== */ + +.uk-accordion-content { + padding: 0 @accordion-content-padding-horizontal @accordion-content-padding-bottom @accordion-content-padding-horizontal; + .hook-accordion-content; +} + +/* + * Micro clearfix to make panels more robust + */ + +.uk-accordion-content:before, +.uk-accordion-content:after { + content: ""; + display: table; +} + +.uk-accordion-content:after { clear: both; } + +/* + * Remove margin from the last-child + */ + + .uk-accordion-content > :last-child { margin-bottom: 0; } + + +// Hooks +// ======================================================================== + +.hook-accordion-misc; + +.hook-accordion() {} +.hook-accordion-title() {} +.hook-accordion-content() {} +.hook-accordion-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/autocomplete.less b/bower_components/uikit/less/components/autocomplete.less new file mode 100644 index 0000000..67b8d36 --- /dev/null +++ b/bower_components/uikit/less/components/autocomplete.less @@ -0,0 +1,107 @@ +// Name: Autocomplete +// Description: Provides suggestions while you type into an input field +// +// Component: `uk-autocomplete` +// +// Modifier: (Nav) `uk-nav-autocomplete` +// +// States: `uk-active` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +// Nav modifier +@nav-autocomplete-color: #444; +@nav-autocomplete-active-background: #00a8e6; +@nav-autocomplete-active-color: #fff; +@nav-autocomplete-header-color: #999; +@nav-autocomplete-divider-border: #ddd; +@nav-autocomplete-divider-border-width: 1px; + + +/* ======================================================================== + Component: Autocomplete + ========================================================================== */ + +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + * 4. Remove the gap between the container and its child element + */ + +.uk-autocomplete { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; + /* 4 */ + vertical-align: middle; +} + +/* Legacy dropdown modifier */ +.uk-dropdown-flip { + left: auto; + right: 0; +} + +/* Nav modifier `uk-nav-autocomplete` + ========================================================================== */ + +/* + * Items + */ + +.uk-nav-autocomplete > li > a { + color: @nav-autocomplete-color; + .hook-nav-autocomplete; +} + +/* + * Active + * 1. Remove default focus style + */ + +.uk-nav-autocomplete > li.uk-active > a { + background: @nav-autocomplete-active-background; + color: @nav-autocomplete-active-color; + /* 1 */ + outline: none; + .hook-nav-autocomplete-active; +} + +/* + * Sub-object: `uk-nav-header` + */ + +.uk-nav-autocomplete .uk-nav-header { + color: @nav-autocomplete-header-color; + .hook-nav-autocomplete-header; +} + +/* + * Sub-object: `uk-nav-divider` + */ + +.uk-nav-autocomplete .uk-nav-divider { + border-top: @nav-autocomplete-divider-border-width solid @nav-autocomplete-divider-border; + .hook-nav-autocomplete-divider; +} + + +// Hooks +// ======================================================================== + +.hook-autocomplete-misc; + +.hook-nav-autocomplete() {} +.hook-nav-autocomplete-active() {} +.hook-nav-autocomplete-header() {} +.hook-nav-autocomplete-divider() {} + +.hook-autocomplete-misc() {} diff --git a/bower_components/uikit/less/components/datepicker.less b/bower_components/uikit/less/components/datepicker.less new file mode 100644 index 0000000..7c37be9 --- /dev/null +++ b/bower_components/uikit/less/components/datepicker.less @@ -0,0 +1,197 @@ +// Name: Datepicker +// Description: Defines styles for a datepicker +// +// Component: `uk-datepicker` +// +// Modifiers: `uk-datepicker-nav` +// `uk-datepicker-previous` +// `uk-datepicker-next` +// `uk-datepicker-heading` +// `uk-datepicker-table` +// `uk-datepicker-table-muted` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@datepicker-z-index: 1050; +@datepicker-animation: uk-fade; + +@datepicker-nav-height: 20px; +@datepicker-nav-margin-bottom: 15px; +@datepicker-nav-color: #444; +@datepicker-nav-hover-color: #444; +@datepicker-previous-icon: "\f053"; +@datepicker-next-icon: "\f054"; + +@datepicker-table-width: 26px; +@datepicker-table-height: 24px; +@datepicker-table-color: #444; + +@datepicker-table-hover-background: #ddd; +@datepicker-table-hover-color: #444; +@datepicker-table-onclick-background: #ccc; +@datepicker-table-onclick-color: #444; + +@datepicker-table-active-background: #00a8e6; +@datepicker-table-active-color: #fff; + +@datepicker-table-muted-color: #999; + + +/* ======================================================================== + Component: Datepicker + ========================================================================== */ + +/* + * 1. Highest z-index + * 2. Reset dropdown width + * 3. Set animation + * 4. Needed for scale animation + */ + +.uk-datepicker { + /* 1 */ + z-index: @datepicker-z-index; + /* 2 */ + width: auto; + /* 3 */ + -webkit-animation: @datepicker-animation 0.2s ease-in-out; + animation: @datepicker-animation 0.2s ease-in-out; + /* 4 */ + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} + + +/* Sub-object: `uk-datepicker-nav` +========================================================================== */ + +.uk-datepicker-nav { + margin-bottom: @datepicker-nav-margin-bottom; + text-align: center; + line-height: @datepicker-nav-height; + .hook-datepicker-nav; +} + +/* + * Micro clearfix + */ + +.uk-datepicker-nav:before, +.uk-datepicker-nav:after { + content: ""; + display: table; +} + +.uk-datepicker-nav:after { clear: both; } + +/* + * Previous and next navigation + */ + +.uk-datepicker-nav a { + color: @datepicker-nav-color; + text-decoration: none; + .hook-datepicker-nav-item; +} + +.uk-datepicker-nav a:hover { color: @datepicker-nav-hover-color; } + +.uk-datepicker-previous { float: left; } +.uk-datepicker-next { float: right; } + +.uk-datepicker-previous:after, +.uk-datepicker-next:after { + width: @datepicker-nav-height; + font-family: FontAwesome; +} + +.uk-datepicker-previous:after { content: @datepicker-previous-icon; } +.uk-datepicker-next:after { content: @datepicker-next-icon; } + + +/* Sub-object: `uk-datepicker-heading` +========================================================================== */ + +.uk-datepicker-heading {} + + +/* Sub-object: `uk-datepicker-table` +========================================================================== */ + +/* Block element behavior */ +.uk-datepicker-table { width: 100%; } + +.uk-datepicker-table th, +.uk-datepicker-table td { padding: 2px; } + +.uk-datepicker-table th { font-size: 12px; } + +/* + * Item + */ + +.uk-datepicker-table a { + display: block; + width: @datepicker-table-width; + line-height: @datepicker-table-height; + text-align: center; + color: @datepicker-table-color; + text-decoration: none; + .hook-datepicker-table-item; +} + +/* + * Sub-object: `uk-datepicker-table-muted` + */ + +a.uk-datepicker-table-muted { color: @datepicker-table-muted-color; } + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-datepicker-table a:hover, +.uk-datepicker-table a:focus { // 1 + background-color: @datepicker-table-hover-background; + color: @datepicker-table-hover-color; + /* 2 */ + outline: none; + .hook-datepicker-table-item-hover; +} + +/* OnClick */ +.uk-datepicker-table a:active { + background-color: @datepicker-table-onclick-background; + color: @datepicker-table-onclick-color; + .hook-datepicker-table-item-onclick; +} + +/* + * Active + */ + +.uk-datepicker-table a.uk-active { + background: @datepicker-table-active-background; + color: @datepicker-table-active-color; + .hook-datepicker-table-item-active; +} + + +// Hooks +// ======================================================================== + +.hook-datepicker-misc; + +.hook-datepicker-nav() {} +.hook-datepicker-nav-item() {} +.hook-datepicker-table-item() {} +.hook-datepicker-table-item-hover() {} +.hook-datepicker-table-item-onclick() {} +.hook-datepicker-table-item-active() {} +.hook-datepicker-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/dotnav.less b/bower_components/uikit/less/components/dotnav.less new file mode 100644 index 0000000..56a71f2 --- /dev/null +++ b/bower_components/uikit/less/components/dotnav.less @@ -0,0 +1,212 @@ +// Name: Dotnav +// Description: Defines styles for a dot navigation +// +// Component: `uk-dotnav` +// +// Modifier: `uk-dotnav-contrast` +// `uk-dotnav-vertical` +// +// States: `uk-active` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@dotnav-margin-horizontal: 15px; +@dotnav-margin-vertical: @dotnav-margin-horizontal; + +@dotnav-width: 20px; +@dotnav-height: @dotnav-width; +@dotnav-background: rgba(50,50,50,0.1); + +@dotnav-hover-background: rgba(50,50,50,0.4); +@dotnav-onclick-background: rgba(50,50,50,0.6); +@dotnav-active-background: rgba(50,50,50,0.4); + +@dotnav-contrast-background: rgba(255,255,255,0.4); +@dotnav-contrast-hover-background: rgba(255,255,255,0.7); +@dotnav-contrast-onclick-background: rgba(255,255,255,0.9); +@dotnav-contrast-active-background: rgba(255,255,255,0.9); + + +/* ======================================================================== + Component: Dotnav + ========================================================================== */ + +/* + * 1. Gutter + * 2. Remove default list style + */ + +.uk-dotnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -@dotnav-margin-horizontal; + margin-top: -@dotnav-margin-vertical; + /* 2 */ + padding: 0; + list-style: none; +} + +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + */ + +.uk-dotnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: @dotnav-margin-horizontal; + margin-top: @dotnav-margin-vertical; +} + +/* + * DEPRECATED IE9 Support + */ + +.uk-dotnav:before, +.uk-dotnav:after { + content: ""; + display: block; + overflow: hidden; +} + +.uk-dotnav:after { clear: both; } + +.uk-dotnav > * { float: left; } + + +/* Items + ========================================================================== */ + +/* + * Items + * 1. Hide text if present + */ + +.uk-dotnav > * > * { + display: block; + box-sizing: content-box; + width: @dotnav-width; + height: @dotnav-height; + border-radius: 50%; + background: @dotnav-background; + /* 1 */ + text-indent: 100%; + overflow: hidden; + white-space: nowrap; + .hook-dotnav-item; +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-dotnav > * > :hover, +.uk-dotnav > * > :focus { // 1 + background: @dotnav-hover-background; + /* 2 */ + outline: none; + .hook-dotnav-item-hover; +} + +/* OnClick */ +.uk-dotnav > * > :active { + background: @dotnav-onclick-background; + .hook-dotnav-item-onclick; +} + +/* Active */ +.uk-dotnav > .uk-active > * { + background: @dotnav-active-background; + .hook-dotnav-item-active; +} + + +/* Modifier: `uk-dotnav-contrast` + ========================================================================== */ + +.uk-dotnav-contrast > * > * { + background: @dotnav-contrast-background; + .hook-dotnav-contrast-item; +} + +/* + * Hover + * 1. Apply hover style also to focus state + */ + +.uk-dotnav-contrast > * > :hover, +.uk-dotnav-contrast > * > :focus { // 1 + background: @dotnav-contrast-hover-background; + .hook-dotnav-contrast-item-hover; +} + +/* OnClick */ +.uk-dotnav-contrast > * > :active { + background: @dotnav-contrast-onclick-background; + .hook-dotnav-contrast-item-onclick; +} + +/* Active */ +.uk-dotnav-contrast > .uk-active > * { + background: @dotnav-contrast-active-background; + .hook-dotnav-contrast-item-active; +} + + +/* Modifier: 'uk-dotnav-vertical' + ========================================================================== */ + +/* + * DEPRECATED + */ + +.uk-dotnav-vertical { + -ms-flex-direction: column; + -webkit-flex-direction: column; + flex-direction: column; +} + +/* + * DEPRECATED IE9 Support + */ + +.uk-dotnav-vertical > * { float: none; } + + + +// Hooks +// ======================================================================== + +.hook-dotnav-misc; + +.hook-dotnav-item() {} +.hook-dotnav-item-hover() {} +.hook-dotnav-item-onclick() {} +.hook-dotnav-item-active() {} +.hook-dotnav-contrast-item() {} +.hook-dotnav-contrast-item-hover() {} +.hook-dotnav-contrast-item-onclick() {} +.hook-dotnav-contrast-item-active() {} +.hook-dotnav-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/form-advanced.less b/bower_components/uikit/less/components/form-advanced.less new file mode 100644 index 0000000..fc3338b --- /dev/null +++ b/bower_components/uikit/less/components/form-advanced.less @@ -0,0 +1,128 @@ +// Name: Form advanced +// Description: Custom appearance of radio and checkbox buttons +// +// Component: `uk-form` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@form-advanced-size: 14px; +@form-advanced-border: #aaa; +@form-advanced-border-width: 1px; +@form-advanced-margin-top: -4px; +@form-advanced-color: transparent; + +@form-advanced-checked-color: #00a8e6; + +@form-advanced-radio-size: 8px; + +@form-advanced-checkbox-icon: "\f00c"; +@form-advanced-checkbox-indeterminate-icon: "\f068"; +@form-advanced-checkbox-font-size: 12px; + +@form-advanced-disabled-border: #ddd; +@form-advanced-disabled-color: #aaa; + + +/* ======================================================================== + Component: Form advanced + Note: Only works in Webkit at the moment + ========================================================================== */ + +/* + * 1. Style + * 2. Makes box more robust so it clips the child element + * 3. Vertical alignment + * 4. Remove default style + * 5. Fix black background on iOS + */ + + +.uk-form input[type="radio"], +.uk-form input[type="checkbox"] { + /* 1 */ + display: inline-block; + height: @form-advanced-size; + width: @form-advanced-size; + border: @form-advanced-border-width solid @form-advanced-border; + /* 2 */ + overflow: hidden; + /* 3 */ + margin-top: @form-advanced-margin-top; + vertical-align: middle; + /* 4 */ + -webkit-appearance: none; + outline: 0; + /* 5 */ + background: @form-advanced-color; + .hook-form-advanced; +} + +/* Radio */ +.uk-form input[type="radio"] { border-radius: 50%; } + +/* + * Checked + */ + +.uk-form input[type=radio]:before, +.uk-form input[type=checkbox]:before { + display: block; + .hook-form-advanced-checked; +} + +/* Radio */ +.uk-form input[type=radio]:checked:before { + content: ''; + width: @form-advanced-radio-size; + height: @form-advanced-radio-size; + margin: ((@form-advanced-size - (2 * @form-advanced-border-width) - @form-advanced-radio-size) / 2) auto 0; + border-radius: 50%; + background: @form-advanced-checked-color; + .hook-form-advanced-radio; +} + +/* Checkbox */ +.uk-form input[type=checkbox]:checked:before, +.uk-form input[type=checkbox]:indeterminate:before { + content: @form-advanced-checkbox-icon; + font-family: FontAwesome; + font-size: @form-advanced-checkbox-font-size; + -webkit-font-smoothing: antialiased; + text-align: center; + line-height: @form-advanced-size - (2 * @form-advanced-border-width); + color: @form-advanced-checked-color; + .hook-form-advanced-checkbox; +} + +.uk-form input[type=checkbox]:indeterminate:before { content: @form-advanced-checkbox-indeterminate-icon; } + +/* + * Disabled + */ + +.uk-form input[type=radio]:disabled, +.uk-form input[type=checkbox]:disabled { + border-color: @form-advanced-disabled-border; + .hook-form-advanced-disabled; +} + +.uk-form input[type=radio]:disabled:checked:before { background-color: @form-advanced-disabled-color; } +.uk-form input[type=checkbox]:disabled:checked:before, +.uk-form input[type=checkbox]:disabled:indeterminate:before { color: @form-advanced-disabled-color; } + + +// Hooks +// ======================================================================== + +.hook-form-advanced-misc; + +.hook-form-advanced() {} +.hook-form-advanced-checked() {} +.hook-form-advanced-radio() {} +.hook-form-advanced-checkbox() {} +.hook-form-advanced-disabled() {} +.hook-form-advanced-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/form-file.less b/bower_components/uikit/less/components/form-file.less new file mode 100644 index 0000000..b93f89f --- /dev/null +++ b/bower_components/uikit/less/components/form-file.less @@ -0,0 +1,63 @@ +// Name: Form file +// Description: Extends form component +// +// Component: `uk-form` +// +// Sub-objects: `uk-form-file` +// +// Markup: +// +// +//
                  +// +// +//
                  +// +// ======================================================================== + + +/* ======================================================================== + Component: Form file + ========================================================================== */ + +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ + +.uk-form-file { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} + +/* + * 1. Required for Firefox + * 2. Expand height and required for the cursor + */ + +.uk-form-file input[type="file"] { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + font-size: 500px; +} + + +// Hooks +// ======================================================================== + +.hook-form-file-misc; + +.hook-form-file-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/form-password.less b/bower_components/uikit/less/components/form-password.less new file mode 100644 index 0000000..1f084f5 --- /dev/null +++ b/bower_components/uikit/less/components/form-password.less @@ -0,0 +1,74 @@ +// Name: Form password +// Description: Extends form component +// +// Component: `uk-form` +// +// Sub-objects: `uk-form-password` +// +// Markup: +// +// +//
                  +//
                  +// +// +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@form-password-font-size: 13px; +@form-password-line-height: @form-password-font-size; +@form-password-color: #999; +@form-password-hover-color: #999; +@form-password-padding: 50px; + + +/* ======================================================================== + Component: Form password + ========================================================================== */ + +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + */ + +.uk-form-password { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; +} + +.uk-form-password-toggle { + display: block; + position: absolute; + top: 50%; + right: 10px; + margin-top: -(floor(@form-password-line-height/2)); + font-size: @form-password-font-size; + line-height: @form-password-line-height; + color: @form-password-color; +} + +.uk-form-password-toggle:hover { + color: @form-password-hover-color; + text-decoration: none; +} + +.uk-form-password > input { padding-right: @form-password-padding !important; } + + +// Hooks +// ======================================================================== + +.hook-form-password-misc; + +.hook-form-password-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/form-select.less b/bower_components/uikit/less/components/form-select.less new file mode 100644 index 0000000..bb6088e --- /dev/null +++ b/bower_components/uikit/less/components/form-select.less @@ -0,0 +1,66 @@ +// Name: Form select +// Description: Extends form component +// +// Component: `uk-form` +// +// Sub-objects: `uk-form-select` +// +// Markup: +// +// +//
                  +// +// +//
                  +// +// ======================================================================== + + +/* ======================================================================== + Component: Form select + ========================================================================== */ + +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ + +.uk-form-select { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} + +/* + * 1. Required for Firefox + * 1. Required for Webkit to make `height` work + */ + +.uk-form-select select { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + -webkit-appearance: none; +} + + +// Hooks +// ======================================================================== + +.hook-form-select-misc; + +.hook-form-select-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/htmleditor.less b/bower_components/uikit/less/components/htmleditor.less new file mode 100644 index 0000000..b29015e --- /dev/null +++ b/bower_components/uikit/less/components/htmleditor.less @@ -0,0 +1,269 @@ +// Name: HTML editor +// Description: Defines styles for an HTML editor +// +// Component: `uk-htmleditor` +// +// Sub-objects: `uk-htmleditor-navbar` +// `uk-htmleditor-navbar-nav` +// `uk-htmleditor-navbar-flip` +// `uk-htmleditor-button-code +// `uk-htmleditor-button-preview` +// `uk-htmleditor-content` +// `uk-htmleditor-code` +// `uk-htmleditor-preview` +// `uk-htmleditor-iframe` +// +// Modifier: `uk-htmleditor-fullscreen` +// `[data-mode='tab']` +// `[data-mode='split']` +// +// States: `uk-active` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@htmleditor-navbar-background: #eee; + +@htmleditor-navbar-nav-height: 40px; +@htmleditor-navbar-nav-padding-horizontal: 15px; +@htmleditor-navbar-nav-line-height: @htmleditor-navbar-nav-height; +@htmleditor-navbar-nav-color: #444; + +@htmleditor-navbar-nav-hover-background: #f5f5f5; +@htmleditor-navbar-nav-hover-color: #444; +@htmleditor-navbar-nav-onclick-background: #ddd; +@htmleditor-navbar-nav-onclick-color: #444; +@htmleditor-navbar-nav-active-background: #f5f5f5; +@htmleditor-navbar-nav-active-color: #444; + +@htmleditor-content-border: #ddd; +@htmleditor-content-background: #fff; +@htmleditor-content-padding: 20px; +@htmleditor-content-split-border: #eee; + +@htmleditor-fullscreen-z-index: 990; +@htmleditor-fullscreen-content-top: @htmleditor-navbar-nav-height; +@htmleditor-fullscreen-icon-resize: "\f066"; + + +/* ======================================================================== + Component: HTML editor + ========================================================================== */ + +.uk-htmleditor { + .hook-htmleditor; +} + + +/* Sub-object `uk-htmleditor-navbar` + ========================================================================== */ + +.uk-htmleditor-navbar { + background: @htmleditor-navbar-background; + .hook-htmleditor-navbar; +} + +/* + * Micro clearfix + */ + +.uk-htmleditor-navbar:before, +.uk-htmleditor-navbar:after { + content: ""; + display: table; +} + +.uk-htmleditor-navbar:after { clear: both; } + + +/* Sub-object `uk-htmleditor-navbar-nav` + ========================================================================== */ + +.uk-htmleditor-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} + +.uk-htmleditor-navbar-nav > li { float: left; } + +/* + * 1. Dimensions + * 2. Style + */ + +.uk-htmleditor-navbar-nav > li > a { + display: block; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: @htmleditor-navbar-nav-height; + padding: 0 @htmleditor-navbar-nav-padding-horizontal; + line-height: @htmleditor-navbar-nav-line-height; + /* 2 */ + color: @htmleditor-navbar-nav-color; + font-size: 11px; + cursor: pointer; + .hook-htmleditor-navbar-nav; +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-htmleditor-navbar-nav > li:hover > a, +.uk-htmleditor-navbar-nav > li > a:focus { // 1 + background-color: @htmleditor-navbar-nav-hover-background; + color: @htmleditor-navbar-nav-hover-color; + outline: none; /* 2 */ + .hook-htmleditor-navbar-nav-hover; +} + +/* OnClick */ +.uk-htmleditor-navbar-nav > li > a:active { + background-color: @htmleditor-navbar-nav-onclick-background; + color: @htmleditor-navbar-nav-onclick-color; + .hook-htmleditor-navbar-nav-onclick; +} + +/* Active */ +.uk-htmleditor-navbar-nav > li.uk-active > a { + background-color: @htmleditor-navbar-nav-active-background; + color: @htmleditor-navbar-nav-active-color; + .hook-htmleditor-navbar-nav-active; +} + + +/* Sub-object: `uk-htmleditor-navbar-flip` + ========================================================================== */ + + .uk-htmleditor-navbar-flip { float: right; } + + +/* Sub-object for special buttons + ========================================================================== */ + +[data-mode='split'] .uk-htmleditor-button-code, +[data-mode='split'] .uk-htmleditor-button-preview { display: none; } + + +/* Sub-object `uk-htmleditor-content` + ========================================================================== */ + +.uk-htmleditor-content { + border-left: 1px solid @htmleditor-content-border; + border-right: 1px solid @htmleditor-content-border; + border-bottom: 1px solid @htmleditor-content-border; + background: @htmleditor-content-background; + .hook-htmleditor-content; +} + +/* + * Micro clearfix + */ + +.uk-htmleditor-content:before, +.uk-htmleditor-content:after { + content: ""; + display: table; +} + +.uk-htmleditor-content:after { clear: both; } + + +/* Modifier `uk-htmleditor-fullscreen` + ========================================================================== */ + +.uk-htmleditor-fullscreen { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: @htmleditor-fullscreen-z-index; +} + +.uk-htmleditor-fullscreen .uk-htmleditor-content { + position: absolute; + top: @htmleditor-fullscreen-content-top; + left: 0; + right: 0; + bottom: 0; +} + + +.uk-htmleditor-fullscreen .uk-icon-expand:before { content: @htmleditor-fullscreen-icon-resize; } + + +/* Sub-objects `uk-htmleditor-code` and `uk-htmleditor-preview` + ========================================================================== */ + +.uk-htmleditor-code, +.uk-htmleditor-preview { box-sizing: border-box; } + +.uk-htmleditor-preview { + padding: @htmleditor-content-padding; + overflow-y: scroll; + position: relative; +} + +/* + * Tab view + */ + +[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview, +[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code { display: none; } + +/* + * Split view + */ + +[data-mode='split'] .uk-htmleditor-code, +[data-mode='split'] .uk-htmleditor-preview { + float: left; + width: 50%; +} + +[data-mode='split'] .uk-htmleditor-code { border-right: 1px solid @htmleditor-content-split-border; } + + +/* Sub-object `uk-htmleditor-iframe` + ========================================================================== */ + +.uk-htmleditor-iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + + +/* CodeMirror modifications + ========================================================================== */ + +.uk-htmleditor .CodeMirror { + padding: 10px; + box-sizing: border-box; +} + + +// Hooks +// ======================================================================== + +.hook-htmleditor-misc; + +.hook-htmleditor() {} +.hook-htmleditor-navbar() {} +.hook-htmleditor-navbar-nav() {} +.hook-htmleditor-navbar-nav-hover() {} +.hook-htmleditor-navbar-nav-onclick() {} +.hook-htmleditor-navbar-nav-active() {} +.hook-htmleditor-content() {} +.hook-htmleditor-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/nestable.less b/bower_components/uikit/less/components/nestable.less new file mode 100644 index 0000000..8a80a33 --- /dev/null +++ b/bower_components/uikit/less/components/nestable.less @@ -0,0 +1,231 @@ +// Name: Nestable +// Description: Defines styles for nestable lists +// +// Component: `uk-nestable` +// +// Sub-objects: `uk-nestable-list` +// `uk-nestable-item` +// `uk-nestable-handle` +// `uk-nestable-moving` +// `uk-nestable-toggle` +// `uk-nestable-panel` +// +// Modifier: `uk-nestable-dragged` +// `uk-nestable-placeholder` +// +// States: `uk-parent` +// `uk-collapsed` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@nestable-padding-left: 40px; + +@nestable-item-margin: 10px; + +@nestable-dragged-z-index: 1050; + +@nestable-placeholder-border: #ddd; + +@nestable-empty-height: 30px; + +@nestable-toggle-icon: "\f147"; +@nestable-toggle-collapsed-icon: "\f196"; + +@nestable-panel-padding: 5px; +@nestable-panel-background: #f5f5f5; + + +/* ======================================================================== + Component: Nestable + ========================================================================== */ + +.uk-nestable { + padding: 0; + list-style: none; + .hook-nestable; +} + +/* + * Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ + +.uk-nestable a, +.uk-nestable img { -webkit-touch-callout: none; } + + +/* Sub-object `uk-nestable-list` + ========================================================================== */ + +.uk-nestable-list { + margin: 0; + padding-left: @nestable-padding-left; + list-style: none; +} + + +/* Sub-modifier `uk-nestable-item` + ========================================================================== */ + +/* + * 1. Deactivate browser touch actions in IE11 + */ + +.uk-nestable-item { + /* 1 */ + touch-action: none; + .hook-nestable-item; +} + +.uk-nestable-item + .uk-nestable-item { margin-top: @nestable-item-margin; } + +.uk-nestable-list:not(.uk-nestable-dragged) > .uk-nestable-item:first-child { margin-top: @nestable-item-margin; } + + +/* Sub-modifier `uk-nestable-dragged` + ========================================================================== */ + +/* + * 1. Reset style + */ + +.uk-nestable-dragged { + position: absolute; + z-index: @nestable-dragged-z-index; + pointer-events: none; + /* 1 */ + padding-left: 0; + .hook-nestable-dragged; +} + + +/* Sub-modifier `uk-nestable-placeholder` + ========================================================================== */ + +.uk-nestable-placeholder { position: relative; } + +.uk-nestable-placeholder > * { opacity: 0; } + +.uk-nestable-placeholder:after { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + border: 1px dashed @nestable-placeholder-border; + opacity: 1; + .hook-nestable-placeholder; +} + + +/* Empty List + ========================================================================== */ + +.uk-nestable-empty { + min-height: @nestable-empty-height; + .hook-nestable-empty; +} + + +/* Sub-object `uk-nestable-handle` + ========================================================================== */ + +/* + * Deactivate browser touch actions in IE11 + */ + +.uk-nestable-handle { touch-action: none; } + +/* Hover */ +.uk-nestable-handle:hover { cursor: move; } + + +/* Sub-object `uk-nestable-moving` + ========================================================================== */ + +.uk-nestable-moving, +/* Needed if moving over links or buttons */ +.uk-nestable-moving * { cursor: move; } +/* Fixes dragging items over iframes */ +.uk-nestable-moving iframe { pointer-events: none; } + + +/* [data-nestable-action='toggle'] + ========================================================================== */ + +/* + * 1. Makes text unselectable. Happens if double clicked by mistake + */ + +[data-nestable-action='toggle'] { + cursor: pointer; + /* 1 */ + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/* Sub-object `.uk-nestable-toggle` + ========================================================================== */ + +.uk-nestable-toggle { + display: inline-block; + visibility: hidden; + .hook-nestable-toggle; +} + +.uk-nestable-toggle:after { + content: @nestable-toggle-icon; + font-family: FontAwesome; +} + +.uk-parent > :not(.uk-nestable-list) .uk-nestable-toggle { visibility: visible; } + +/* + * Collapsed + */ + +.uk-collapsed .uk-nestable-list { display: none; } + +.uk-collapsed .uk-nestable-toggle:after { content: @nestable-toggle-collapsed-icon; } + + +/* Sub-object `uk-nestable-panel` + ========================================================================== */ + +.uk-nestable-panel { + padding: @nestable-panel-padding; + background: @nestable-panel-background; + .hook-nestable-panel; +} + + +// Hooks +// ======================================================================== + +.hook-nestable-misc; + +.hook-nestable() {} +.hook-nestable-item() {} +.hook-nestable-dragged() {} +.hook-nestable-placeholder() {} +.hook-nestable-empty() {} +.hook-nestable-handle() {} +.hook-nestable-toggle() {} +.hook-nestable-panel() {} +.hook-nestable-misc() {} diff --git a/bower_components/uikit/less/components/notify.less b/bower_components/uikit/less/components/notify.less new file mode 100644 index 0000000..991ba59 --- /dev/null +++ b/bower_components/uikit/less/components/notify.less @@ -0,0 +1,190 @@ +// Name: Notify +// Description: Defines styles for toggleable notifications +// +// Component: `uk-notify` +// +// Sub-objects: `uk-notify-message` +// +// Modifiers: `uk-notify-top-center` +// `uk-notify-top-right` +// `uk-notify-bottom-left` +// `uk-notify-bottom-center` +// `uk-notify-bottom-right` +// `uk-notify-message-primary` +// `uk-notify-message-success` +// `uk-notify-message-warning` +// `uk-notify-message-danger` +// +// Uses: Close: `uk-close` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@notify-position: 10px; +@notify-z-index: 1040; +@notify-width: 350px; + +@notify-message-margin-bottom: 10px; +@notify-message-padding: 15px; +@notify-message-background: #444; +@notify-message-color: #fff; +@notify-message-font-size: 16px; +@notify-message-line-height: 22px; + +@notify-message-primary-background: #ebf7fd; +@notify-message-primary-color: #2d7091; + +@notify-message-success-background: #f2fae3; +@notify-message-success-color: #659f13; + +@notify-message-warning-background: #fffceb; +@notify-message-warning-color: #e28327; + +@notify-message-danger-background: #fff1f0; +@notify-message-danger-color: #d85030; + + +/* ======================================================================== + Component: Notify + ========================================================================== */ + +/* + * Message container for positioning + */ + +.uk-notify { + position: fixed; + top: @notify-position; + left: @notify-position; + z-index: @notify-z-index; + box-sizing: border-box; + width: @notify-width; + .hook-notify; +} + + +/* Position modifiers +========================================================================== */ + +.uk-notify-top-right, +.uk-notify-bottom-right { + left: auto; + right: @notify-position; +} + +.uk-notify-top-center, +.uk-notify-bottom-center { + left: 50%; + margin-left: (@notify-width / -2); +} + +.uk-notify-bottom-left, +.uk-notify-bottom-right, +.uk-notify-bottom-center { + top: auto; + bottom: @notify-position; +} + + +/* Responsiveness +========================================================================== */ + +/* Phones portrait and smaller */ +@media (max-width: @breakpoint-mini-max) { + + /* + * Fit in small screen + */ + + .uk-notify { + left: 10px; + right: 10px; + width: auto; + margin: 0; + } + +} + + +/* Sub-object: `uk-notify-message` +========================================================================== */ + +.uk-notify-message { + position: relative; + margin-bottom: @notify-message-margin-bottom; + padding: @notify-message-padding; + background: @notify-message-background; + color: @notify-message-color; + font-size: @notify-message-font-size; + line-height: @notify-message-line-height; + cursor: pointer; + .hook-notify-message; +} + + +/* Close in notify + ========================================================================== */ + +.uk-notify-message > .uk-close { + visibility: hidden; + float: right; +} + +.uk-notify-message:hover > .uk-close { visibility: visible; } + + +/* Modifier: `uk-notify-message-primary` + ========================================================================== */ + +.uk-notify-message-primary { + background: @notify-message-primary-background; + color: @notify-message-primary-color; + .hook-notify-message-primary; +} + + +/* Modifier: `uk-notify-message-success` + ========================================================================== */ + +.uk-notify-message-success { + background: @notify-message-success-background; + color: @notify-message-success-color; + .hook-notify-message-success; +} + + +/* Modifier: `uk-notify-message-warning` + ========================================================================== */ + +.uk-notify-message-warning { + background: @notify-message-warning-background; + color: @notify-message-warning-color; + .hook-notify-message-warning; +} + + +/* Modifier: `uk-notify-message-danger` + ========================================================================== */ + +.uk-notify-message-danger { + background: @notify-message-danger-background; + color: @notify-message-danger-color; + .hook-notify-message-danger; +} + + +// Hooks +// ======================================================================== + +.hook-notify-misc; + +.hook-notify() {} +.hook-notify-message() {} +.hook-notify-message-primary() {} +.hook-notify-message-success() {} +.hook-notify-message-warning() {} +.hook-notify-message-danger() {} +.hook-notify-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/placeholder.less b/bower_components/uikit/less/components/placeholder.less new file mode 100644 index 0000000..d7a10b9 --- /dev/null +++ b/bower_components/uikit/less/components/placeholder.less @@ -0,0 +1,66 @@ +// Name: Placeholder +// Description: Defines styles for placeholder boxes +// +// Component: `uk-placeholder` +// +// Modifiers: `uk-placeholder-large` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@placeholder-margin-vertical: 15px; +@placeholder-padding: 20px; +@placeholder-border: #ddd; +@placeholder-background: #fafafa; +@placeholder-color: #444; + +@placeholder-large-padding-vertical: 80px; + + +/* ======================================================================== + Component: Placeholder + ========================================================================== */ + +.uk-placeholder { + margin-bottom: @placeholder-margin-vertical; + padding: @placeholder-padding; + border: 1px dashed @placeholder-border; + background: @placeholder-background; + color: @placeholder-color; + .hook-placeholder; +} + +/* + * Add margin if adjacent element + */ + +* + .uk-placeholder { margin-top: @placeholder-margin-vertical; } + +/* + * Remove margin from the last-child + */ + +.uk-placeholder > :last-child { margin-bottom: 0; } + + +/* Modifier: `uk-placeholder-large` + ========================================================================== */ + +.uk-placeholder-large { + padding-top: @placeholder-large-padding-vertical; + padding-bottom: @placeholder-large-padding-vertical; + .hook-placeholder-large; +} + + +// Hooks +// ======================================================================== + +.hook-placeholder-misc; + +.hook-placeholder() {} +.hook-placeholder-large() {} +.hook-placeholder-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/progress.less b/bower_components/uikit/less/components/progress.less new file mode 100644 index 0000000..297807a --- /dev/null +++ b/bower_components/uikit/less/components/progress.less @@ -0,0 +1,173 @@ +// Name: Progress +// Description: Defines styles for progress bars +// +// Component: `uk-progress` +// +// Sub-objects: `uk-progress-bar` +// +// Modifiers: `uk-progress-mini` +// `uk-progress-small` +// `uk-progress-success` +// `uk-progress-warning` +// `uk-progress-danger` +// `uk-progress-striped` +// +// Markup: +// +// +//
                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@progress-height: 20px; +@progress-mini-height: 6px; +@progress-small-height: 12px; + +@progress-margin-vertical: 15px; +@progress-background: #eee; + +@progress-bar-background: #00a8e6; +@progress-bar-font-size: 12px; +@progress-bar-color: #fff; + +@progress-bar-success-background: #8cc14c; +@progress-bar-warning-background: #faa732; +@progress-bar-danger-background: #da314b; + + +/* ======================================================================== + Component: Progress + ========================================================================== */ + +/* + * 1. Clearing + * 2. Vertical alignment if text is used + */ + +.uk-progress { + box-sizing: border-box; + height: @progress-height; + margin-bottom: @progress-margin-vertical; + background: @progress-background; + /* 1 */ + overflow: hidden; + /* 2 */ + line-height: @progress-height; + .hook-progress; +} + +/* + * Add margin if adjacent element + */ + +* + .uk-progress { margin-top: @progress-margin-vertical; } + + +/* Sub-object: `uk-progress-bar` + ========================================================================== */ + +/* + * 1. Transition + * 2. Needed for text + */ + +.uk-progress-bar { + width: 0; + height: 100%; + background: @progress-bar-background; + float: left; + /* 1 */ + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; + /* 2 */ + font-size: @progress-bar-font-size; + color: @progress-bar-color; + text-align: center; + .hook-progress-bar; +} + + +/* Size modifiers + ========================================================================== */ + +/* Mini */ +.uk-progress-mini { + height: @progress-mini-height; + .hook-progress-mini; +} + + +/* Small */ +.uk-progress-small { + height: @progress-small-height; + .hook-progress-small; +} + + +/* Color modifiers + ========================================================================== */ + +.uk-progress-success .uk-progress-bar { + background-color: @progress-bar-success-background; + .hook-progress-bar-success; +} + +.uk-progress-warning .uk-progress-bar { + background-color: @progress-bar-warning-background; + .hook-progress-bar-warning; +} + +.uk-progress-danger .uk-progress-bar { + background-color: @progress-bar-danger-background; + .hook-progress-bar-danger; +} + + +/* Modifier: `uk-progress-striped` + ========================================================================== */ + +.uk-progress-striped .uk-progress-bar { + background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 30px 30px; +} + +/* + * Animation + */ + +.uk-progress-striped.uk-active .uk-progress-bar { + -webkit-animation: uk-progress-bar-stripes 2s linear infinite; + animation: uk-progress-bar-stripes 2s linear infinite; +} + +@-webkit-keyframes uk-progress-bar-stripes { + 0% { background-position: 0 0;} + 100% { background-position: 30px 0; } +} + +@keyframes uk-progress-bar-stripes { + 0% { background-position: 0 0;} + 100% { background-position: 30px 0; } +} + + +// Hooks +// ======================================================================== + +.hook-progress-misc; + +.hook-progress() {} +.hook-progress-bar() {} +.hook-progress-mini() {} +.hook-progress-small() {} +.hook-progress-bar-success() {} +.hook-progress-bar-warning() {} +.hook-progress-bar-danger() {} +.hook-progress-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/search.less b/bower_components/uikit/less/components/search.less new file mode 100644 index 0000000..d735ba6 --- /dev/null +++ b/bower_components/uikit/less/components/search.less @@ -0,0 +1,309 @@ +// Name: Search +// Description: Defines a search component +// +// Component: `uk-search` +// +// Sub-objects: `uk-search-field` +// +// Modifier: (Nav) `uk-nav-search` +// (Dropdown) `uk-dropdown-search` +// +// States: `uk-active` +// `uk-loading` +// +// Uses: Animation +// Icon: FontAwesome +// Navbar: `uk-navbar-flip` +// +// Used by: Off-canvas +// +// Markup: +// +// +// +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@search-width: 120px; +@search-focus-width: 180px; +@search-height: 30px; +@search-padding: 30px; +@search-border: rgba(0,0,0,0); +@search-border-width: 1px; +@search-background: rgba(0,0,0,0); +@search-color: #444; +@search-placeholder-color: #999; + +@search-icon: "\f002"; +@search-icon-size: 14px; +@search-icon-color: rgba(0,0,0,0.2); + +// Dropdown modifier +@dropdown-search-width: 300px; +@dropdown-search-margin-top: 0; +@dropdown-search-background: #f5f5f5; +@dropdown-search-color: #444; +@dropdown-search-animation: uk-slide-top-fixed; +@dropdown-search-navbar-margin-top: 5px; +@dropdown-search-navbar-margin-right: -15px; + +// Nav modifier +@nav-search-color: #444; +@nav-search-active-background: #00a8e6; +@nav-search-active-color: #fff; +@nav-search-header-color: #999; +@nav-search-divider-border: #ddd; +@nav-search-divider-border-width: 1px; +@nav-search-nested-color: #07D; +@nav-search-nested-hover-color: #059; + +// Search in offcanvas +@offcanvas-search-margin: 20px 15px; +@offcanvas-search-background: #1a1a1a; +@offcanvas-search-border: rgba(0,0,0,0); +@offcanvas-search-color: #ccc; +@offcanvas-search-placeholder-color: #777; +@offcanvas-search-icon-color: #777; + + +/* ======================================================================== + Component: Search + ========================================================================== */ + +/* + * 1. Create position context for dropdowns + * 2. Needed for `form` element + */ + +.uk-search { + display: inline-block; + /* 1 */ + position: relative; + /* 2 */ + margin: 0; + .hook-search; +} + +/* + * Icon + */ + +.uk-search:before { + content: @search-icon; + position: absolute; + top: 0; + left: 0; + width: @search-padding; + line-height: @search-height; + text-align: center; + font-family: FontAwesome; + font-size: @search-icon-size; + color: @search-icon-color; + .hook-search-icon; +} + + +/* Sub-object `uk-search-field` + ========================================================================== */ + +/* + * Removes inner padding and border in Firefox 4+. + */ + +.uk-search-field::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X. + */ + +.uk-search-field::-webkit-search-cancel-button, +.uk-search-field::-webkit-search-decoration { -webkit-appearance: none; } + +/* + * Removes cancel button in IE10 + */ + +.uk-search-field::-ms-clear { display: none; } + +/* + * Removes placeholder transparency in Firefox. + */ + +.uk-search-field::-moz-placeholder { opacity: 1; } + +/* + * 1. Define consistent box sizing. + * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera. + * 3. Remove `border-radius` in iOS. + * 4. Correct `font` properties and `color` not being inherited. + * 5. Remove default style in iOS. + * 6. Style + */ + +.uk-search-field { + /* 1 */ + box-sizing: border-box; + /* 2 */ + margin: 0; + /* 3 */ + border-radius: 0; + /* 4 */ + font: inherit; + color: @search-color; + /* 5 */ + -webkit-appearance: none; + /* 6 */ + width: @search-width; + height: @search-height; + padding: 0 0 0 @search-padding; + border: @search-border-width solid @search-border; + background: @search-background; + -webkit-transition: all 0.2s linear; + transition: all 0.2s linear; + vertical-align: middle; + .hook-search-field; +} + +/* Placeholder */ +.uk-search-field:-ms-input-placeholder { color: @search-placeholder-color !important; } +.uk-search-field::-moz-placeholder { color: @search-placeholder-color; } +.uk-search-field::-webkit-input-placeholder { color: @search-placeholder-color; } + +/* Focus */ +.uk-search-field:focus { + outline: 0; + .hook-search-field-focus; +} + +/* Focus + Active */ +.uk-search-field:focus, +.uk-search.uk-active .uk-search-field { width: @search-focus-width; } + + +/* Dropdown modifier: `uk-dropdown-search` + ========================================================================== */ + +.uk-dropdown-search { + width: @dropdown-search-width; + margin-top: @dropdown-search-margin-top; + background: @dropdown-search-background; + color: @dropdown-search-color; + .hook-dropdown-search; +} + +.uk-open > .uk-dropdown-search { + -webkit-animation: @dropdown-search-animation 0.2s ease-in-out; + animation: @dropdown-search-animation 0.2s ease-in-out; +} + +/* + * Dependency `uk-navbar-flip` + */ + +.uk-navbar-flip .uk-dropdown-search { + margin-top: @dropdown-search-navbar-margin-top; + margin-right: @dropdown-search-navbar-margin-right; +} + + +/* Nav modifier `uk-nav-search` + ========================================================================== */ + +/* + * Items + */ + +.uk-nav-search > li > a { + color: @nav-search-color; + .hook-nav-search; +} + +/* + * Active + * 1. Remove default focus style + */ + +.uk-nav-search > li.uk-active > a { + background: @nav-search-active-background; + color: @nav-search-active-color; + /* 1 */ + outline: none; + .hook-nav-search-active; +} + +/* + * Sub-object: `uk-nav-header` + */ + +.uk-nav-search .uk-nav-header { + color: @nav-search-header-color; + .hook-nav-search-header; +} + +/* + * Sub-object: `uk-nav-divider` + */ + +.uk-nav-search .uk-nav-divider { + border-top: @nav-search-divider-border-width solid @nav-search-divider-border; + .hook-nav-search-divider; +} + +/* + * Nested items + */ + +.uk-nav-search ul a { color: @nav-search-nested-color; } +.uk-nav-search ul a:hover { color: @nav-search-nested-hover-color; } + + +/* Search in offcanvas + ========================================================================== */ + +.uk-offcanvas .uk-search { + display: block; + margin: @offcanvas-search-margin; +} + +.uk-offcanvas .uk-search:before { color: @offcanvas-search-icon-color; } + +.uk-offcanvas .uk-search-field { + width: 100%; + border-color: @offcanvas-search-border; + background: @offcanvas-search-background; + color: @offcanvas-search-color; + .hook-offcanvas-search-field; +} + +.uk-offcanvas .uk-search-field:-ms-input-placeholder { color: @offcanvas-search-placeholder-color !important; } +.uk-offcanvas .uk-search-field::-moz-placeholder { color: @offcanvas-search-placeholder-color; } +.uk-offcanvas .uk-search-field::-webkit-input-placeholder { color: @offcanvas-search-placeholder-color; } + + +// Hooks +// ======================================================================== + +.hook-search-misc; + +.hook-search() {} +.hook-search-icon() {} +.hook-search-field() {} +.hook-search-field-focus() {} + +.hook-dropdown-search() {} +.hook-nav-search() {} +.hook-nav-search-active() {} +.hook-nav-search-header() {} +.hook-nav-search-divider() {} +.hook-offcanvas-search-field() {} + +.hook-search-misc() {} diff --git a/bower_components/uikit/less/components/slidenav.less b/bower_components/uikit/less/components/slidenav.less new file mode 100644 index 0000000..ece807f --- /dev/null +++ b/bower_components/uikit/less/components/slidenav.less @@ -0,0 +1,183 @@ +// Name: Slidenav +// Description: Defines styles for a previous/next navigation between slides +// +// Component: `uk-slidenav` +// +// Modifiers: `uk-slidenav-previous` +// `uk-slidenav-next` +// `uk-slidenav-contrast` +// +// Sub-objects: `uk-slidenav-position` +// +// Uses: Icon: FontAwesome +// +// Markup: +// +// +// +// +// +// +//
                  +// +// +// +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@slidenav-width: 60px; +@slidenav-height: @slidenav-width; +@slidenav-color: rgba(50,50,50,0.4); +@slidenav-font-size: 60px; +@slidenav-line-height: @slidenav-height; +@slidenav-previous-icon: "\f104"; +@slidenav-next-icon: "\f105"; + +@slidenav-hover-color: rgba(50,50,50,0.7); + +@slidenav-active-color: rgba(50,50,50,0.9); + +@slidenav-position-previous: 20px; +@slidenav-position-next: @slidenav-position-previous; + +@slidenav-contrast-color: rgba(255,255,255,0.5); +@slidenav-contrast-hover-color: rgba(255,255,255,0.7); +@slidenav-contrast-active-color: rgba(255,255,255,0.9); + + +/* ======================================================================== + Component: Slidenav + ========================================================================== */ + +/* + * 1. Required for `a` elements + * 2. Dimension + * 3. Style + */ + +.uk-slidenav { + /* 1 */ + display: inline-block; + /* 2 */ + box-sizing: border-box; + width: @slidenav-width; + height: @slidenav-height; + /* 3 */ + line-height: @slidenav-line-height; + color: @slidenav-color; + font-size: @slidenav-font-size; + text-align: center; + .hook-slidenav; +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + * 4. Style + */ + +.uk-slidenav:hover, +.uk-slidenav:focus { // 1 + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + /* 4 */ + color: @slidenav-hover-color; + cursor: pointer; + .hook-slidenav-hover; +} + +/* Active */ +.uk-slidenav:active { + color: @slidenav-active-color; + .hook-slidenav-active; +} + +/* + * Icons + */ + +.uk-slidenav-previous:before { + content: @slidenav-previous-icon; + font-family: FontAwesome; +} + +.uk-slidenav-next:before { + content: @slidenav-next-icon; + font-family: FontAwesome; +} + + +/* Sub-object: `uk-slidenav-position` + ========================================================================== */ + +/* + * Create position context + */ + +.uk-slidenav-position { position: relative; } + +/* + * Center vertically + */ + +.uk-slidenav-position .uk-slidenav { + display: none; + position: absolute; + top: 50%; + z-index: 1; + margin-top: -(@slidenav-height / 2); +} + +.uk-slidenav-position:hover .uk-slidenav { display: block; } + +.uk-slidenav-position .uk-slidenav-previous { left: @slidenav-position-previous; } +.uk-slidenav-position .uk-slidenav-next { right: @slidenav-position-next; } + + +/* Modifier: `uk-slidenav-contrast` + ========================================================================== */ + +.uk-slidenav-contrast { + color: @slidenav-contrast-color; + .hook-slidenav-contrast; +} + +/* + * Hover + * 1. Apply hover style also to focus state + */ + +.uk-slidenav-contrast:hover, +.uk-slidenav-contrast:focus { // 1 + color: @slidenav-contrast-hover-color; + .hook-slidenav-contrast-hover; +} + +/* Active */ +.uk-slidenav-contrast:active { + color: @slidenav-contrast-active-color; + .hook-slidenav-contrast-active; +} + + +// Hooks +// ======================================================================== + +.hook-slidenav-misc; + +.hook-slidenav() {} +.hook-slidenav-hover() {} +.hook-slidenav-active() {} +.hook-slidenav-contrast() {} +.hook-slidenav-contrast-hover() {} +.hook-slidenav-contrast-active() {} +.hook-slidenav-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/slider.less b/bower_components/uikit/less/components/slider.less new file mode 100644 index 0000000..049173e --- /dev/null +++ b/bower_components/uikit/less/components/slider.less @@ -0,0 +1,139 @@ +// Name: Slider +// Description: Defines styles for a horizontal slider +// +// Component: `uk-slider` +// +// Sub-objects: `uk-slider-container` +// +// Modifier: `uk-slider-fullscreen` +// +// States: `uk-drag` +// +// Markup: +// +// +//
                  +//
                  +//
                    +//
                  • +//
                  • +//
                  +//
                  +//
                  +// +// ======================================================================== + + +/* ======================================================================== + Component: Slider + ========================================================================== */ + +/* + * RTL Compatibility + */ + +[data-uk-slider] { direction: ltr; } + +html[dir="rtl"] .uk-slider > * { direction: rtl; } + +/* + * 1. Create position context + * 2. Create stacking context to prevent z-index issues with other components + * 3. Deactivate browser history navigation in IE11 + */ + +.uk-slider { + /* 1 */ + position: relative; + /* 2 */ + z-index: 0; + /* 3 */ + touch-action: pan-y; +} + +/* + * 1. Reset list style without interfering with grid + */ + +.uk-slider:not(.uk-grid) { + /* 1 */ + margin: 0; + padding: 0; + list-style: none; +} + +/* + * Sub-object item + * 1. Position items above each other + */ + +.uk-slider > * { + /* 1 */ + position: absolute; + top: 0; + left: 0; +} + +/* + * Clip child elements + */ + +.uk-slider-container { overflow: hidden; } + +/* + * Dragged + */ + +.uk-slider:not(.uk-drag) { + -webkit-transition: -webkit-transform 200ms linear; + transition: transform 200ms linear; +} + +/* + * 1. Makes text unselectable + */ + +.uk-slider.uk-drag { + cursor: col-resize; + /* 1 */ + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* + * 1. Prevents images and links from being dragged (default browser behavior) + * 2. Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ + +.uk-slider a, +.uk-slider img { + /* 1 */ + -webkit-user-drag: none; + user-drag: none; + /* 2 */ + -webkit-touch-callout: none; +} + +/* + * 1. Prevents images and links from being dragged in Firefox + */ + +.uk-slider img { pointer-events: none; } + + +/* Modifier: `uk-slider-fullscreen` + ========================================================================== */ + +.uk-slider-fullscreen, +.uk-slider-fullscreen > li { height: 100vh; } + + +// Hooks +// ======================================================================== + +.hook-slider-misc; + +.hook-slider-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/components/slideshow.less b/bower_components/uikit/less/components/slideshow.less new file mode 100644 index 0000000..22b3b4d --- /dev/null +++ b/bower_components/uikit/less/components/slideshow.less @@ -0,0 +1,208 @@ +// Name: Slideshow +// Description: Defines styles for a slideshow +// +// Component: `uk-slideshow` +// +// Modifier: `uk-slideshow-fullscreen` +// +// Sub-modifier: `uk-slideshow-fade-out` +// `uk-slideshow-scroll-forward-in` +// `uk-slideshow-scroll-forward-out` +// `uk-slideshow-scroll-backward-in` +// `uk-slideshow-scroll-backward-out` +// `uk-slideshow-scale-out` +// `uk-slideshow-swipe-forward-in` +// `uk-slideshow-swipe-forward-out` +// `uk-slideshow-swipe-backward-in` +// `uk-slideshow-swipe-backward-out` +// +// States: `uk-active` +// +// Uses: Cover (JS) +// +// Markup: +// +// +//
                    +//
                  • +//
                  +// +// ======================================================================== + + +/* ======================================================================== + Component: Slideshow + ========================================================================== */ + +/* + * 1. Create position context + * 2. Create stacking context to prevent z-index issues with other components + * 3. Set width because child elements are positioned absolute. Height is set via JS + * 4. Reset list style + * 5. Clip child elements + * 6. Deactivate browser history navigation in IE11 + */ + +.uk-slideshow { + /* 1 */ + position: relative; + /* 2 */ + z-index: 0; + /* 3 */ + width: 100%; + /* 4 */ + margin: 0; + padding: 0; + list-style: none; + /* 5 */ + overflow: hidden; + /* 6 */ + touch-action: pan-y; +} + +/* + * Sub-object item + * 1. Position items above each other + * 2. Expand to parent container width + * 3. Hide by default + */ + +.uk-slideshow > li { + /* 1 */ + position: absolute; + top: 0; + left: 0; + /* 2 */ + width: 100%; + /* 3 */ + opacity: 0; +} + +/* + * Active + * 1. Stack at first + * 2. Show slide + */ + +.uk-slideshow > .uk-active { + /* 1 */ + z-index: 10; + /* 2 */ + opacity: 1; +} + +/* + * Hide default images which is only relevant to keep existing proportions + */ + +.uk-slideshow > li > img { visibility: hidden; } + +/* + * Pointer for controls + */ + +[data-uk-slideshow-slide] { cursor: pointer; } + + +/* Modifier: `uk-slideshow-fullscreen` + ========================================================================== */ + +.uk-slideshow-fullscreen, +.uk-slideshow-fullscreen > li { height: 100vh; } + + +/* Animations + ========================================================================== */ + +/* + * Fade + */ + + .uk-slideshow-fade-in { + -webkit-animation: uk-fade 0.5s linear; + animation: uk-fade 0.5s linear; + } + +.uk-slideshow-fade-out { + -webkit-animation: uk-fade 0.5s linear reverse; + animation: uk-fade 0.5s linear reverse; +} + +/* + * Scroll + */ + +.uk-slideshow-scroll-forward-in { + -webkit-animation: uk-slide-right 0.5s ease-in-out; + animation: uk-slide-right 0.5s ease-in-out; +} + +.uk-slideshow-scroll-forward-out { + -webkit-animation: uk-slide-left 0.5s ease-in-out reverse; + animation: uk-slide-left 0.5s ease-in-out reverse; +} + +.uk-slideshow-scroll-backward-in { + -webkit-animation: uk-slide-left 0.5s ease-in-out; + animation: uk-slide-left 0.5s ease-in-out; +} + +.uk-slideshow-scroll-backward-out { + -webkit-animation: uk-slide-right 0.5s ease-in-out reverse; + animation: uk-slide-right 0.5s ease-in-out reverse; +} + +/* + * Scale + */ + +.uk-slideshow-scale-out { + -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse; + animation: uk-fade-scale-15 0.5s ease-in-out reverse; +} + +/* + * Swipe + */ + +.uk-slideshow-swipe-forward-in { + -webkit-animation: uk-slide-left-33 0.5s ease-in-out; + animation: uk-slide-left-33 0.5s ease-in-out; +} + +.uk-slideshow-swipe-forward-out { + -webkit-animation: uk-slide-left 0.5s ease-in-out reverse; + animation: uk-slide-left 0.5s ease-in-out reverse; +} + +.uk-slideshow-swipe-backward-in { + -webkit-animation: uk-slide-right-33 0.5s ease-in-out; + animation: uk-slide-right-33 0.5s ease-in-out; +} + +.uk-slideshow-swipe-backward-out { + -webkit-animation: uk-slide-right 0.5s ease-in-out reverse; + animation: uk-slide-right 0.5s ease-in-out reverse; +} + +.uk-slideshow-swipe-forward-in:before, +.uk-slideshow-swipe-backward-in:before { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 1; + background: rgba(0,0,0,0.6); + -webkit-animation: uk-fade 0.5s ease-in-out reverse; + animation: uk-fade 0.5s ease-in-out reverse; +} + + +// Hooks +// ======================================================================== + +.hook-slideshow-misc; + +.hook-slideshow-misc() {} diff --git a/bower_components/uikit/less/components/sortable.less b/bower_components/uikit/less/components/sortable.less new file mode 100644 index 0000000..a35a239 --- /dev/null +++ b/bower_components/uikit/less/components/sortable.less @@ -0,0 +1,124 @@ +// Name: Sortable +// Description: Defines styles for sortable grids and lists +// +// Component: `uk-sortable` +// +// Sub-objects: `uk-sortable-handle` +// `uk-sortable-moving` +// +// Modifier: `uk-sortable-dragged` +// `uk-sortable-placeholder` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@sortable-dragged-z-index: 1050; + +@sortable-placeholder-opacity: 0; + +@sortable-empty-height: 30px; + + +/* ======================================================================== + Component: Sortable + ========================================================================== */ + +.uk-sortable { + position: relative; + .hook-sortable; +} + +/* + * Deactivate browser touch actions in IE11 + */ + +.uk-sortable > * { touch-action: none; } + +/* + * Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ + +.uk-sortable a, +.uk-sortable img { -webkit-touch-callout: none; } + +/* + * Remove margin from the last-child + */ + +.uk-sortable > :last-child { margin-bottom: 0; } + + +/* Sub-modifier `uk-sortable-dragged` + ========================================================================== */ + +.uk-sortable-dragged { + position: absolute; + z-index: @sortable-dragged-z-index; + pointer-events: none; + .hook-sortable-dragged; +} + + +/* Sub-modifier `uk-sortable-placeholder` + ========================================================================== */ + +.uk-sortable-placeholder { + opacity: @sortable-placeholder-opacity; + .hook-sortable-placeholder; +} + + +/* Empty List + ========================================================================== */ + +.uk-sortable-empty { + min-height: @sortable-empty-height; + .hook-sortable-empty; +} + + +/* Sub-object `uk-sortable-handle` + ========================================================================== */ + +/* + * Deactivate browser touch actions in IE11 + */ + +.uk-sortable-handle { touch-action: none; } + +/* Hover */ +.uk-sortable-handle:hover { cursor: move; } + + +/* Sub-object `uk-sortable-moving` + ========================================================================== */ + +.uk-sortable-moving, +/* Needed if moving over links or buttons */ +.uk-sortable-moving * { cursor: move; } +/* Fixes dragging items over iframes */ +.uk-sortable-moving iframe { pointer-events: none; } + + +// Hooks +// ======================================================================== + +.hook-sortable-misc; + +.hook-sortable() {} +.hook-sortable-dragged() {} +.hook-sortable-placeholder() {} +.hook-sortable-empty() {} +.hook-sortable-misc() {} diff --git a/bower_components/uikit/less/components/sticky.less b/bower_components/uikit/less/components/sticky.less new file mode 100644 index 0000000..2ab5d9d --- /dev/null +++ b/bower_components/uikit/less/components/sticky.less @@ -0,0 +1,57 @@ +// Name: Sticky +// Description: Make elements remain at the top of the viewport +// +// Component: `data-uk-sticky` +// +// States: `uk-active` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@sticky-z-index: 980; + +@sticky-animation-duration: 0.2s; +@sticky-reverse-animation-duration: 0.2s; + + +/* ======================================================================== + Component: Sticky + ========================================================================== */ + +/* + * 1. More robust if padding and border are used + * 2. Enable hardware acceleration for iOS browsers, resolves scrolling issue + */ + +[data-uk-sticky].uk-active { + z-index: @sticky-z-index; + /* 1 */ + box-sizing: border-box; + /* 2 */ + -webkit-backface-visibility: hidden +} + +/* + * Faster animations + */ + +[data-uk-sticky][class*='uk-animation-'] { + -webkit-animation-duration: @sticky-animation-duration; + animation-duration: @sticky-animation-duration; +} + +[data-uk-sticky].uk-animation-reverse { + -webkit-animation-duration: @sticky-reverse-animation-duration; + animation-duration: @sticky-reverse-animation-duration; +} + + +// Hooks +// ======================================================================== + +.hook-sticky-misc; + +.hook-sticky-misc() {} diff --git a/bower_components/uikit/less/components/tooltip.less b/bower_components/uikit/less/components/tooltip.less new file mode 100644 index 0000000..3e2b76f --- /dev/null +++ b/bower_components/uikit/less/components/tooltip.less @@ -0,0 +1,177 @@ +// Name: Tooltip +// Description: Defines styles for tooltips +// +// Component: `uk-tooltip` +// +// Modifiers `uk-tooltip-top` +// `uk-tooltip-top-left` +// `uk-tooltip-top-right` +// `uk-tooltip-bottom` +// `uk-tooltip-bottom-left` +// `uk-tooltip-bottom-right` +// `uk-tooltip-left` +// `uk-tooltip-right` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@tooltip-z-index: 1030; +@tooltip-max-width: 200px; +@tooltip-padding-vertical: 5px; +@tooltip-padding-horizontal: 8px; +@tooltip-background: #333; +@tooltip-triangle-size: 5px; + +@tooltip-color: rgba(255,255,255,0.7); +@tooltip-font-size: 12px; +@tooltip-line-height: 18px; + +@tooltip-offset-horizontal: 10px; + + +/* ======================================================================== + Component: Tooltip + ========================================================================== */ + +/* + * 1. Hide by default + * 2. Set fixed position + * 3. Set dimensions + * 4. Set style + */ + +.uk-tooltip { + /* 1 */ + display: none; + /* 2 */ + position: absolute; + z-index: @tooltip-z-index; + /* 3 */ + box-sizing: border-box; + max-width: @tooltip-max-width; + padding: @tooltip-padding-vertical @tooltip-padding-horizontal; + /* 4 */ + background: @tooltip-background; + color: @tooltip-color; + font-size: @tooltip-font-size; + line-height: @tooltip-line-height; + .hook-tooltip; +} + + +/* Triangle + ========================================================================== */ + +/* + * 1. Dashed is less antialised than solid + */ + +.uk-tooltip:after { + content: ""; + display: block; + position: absolute; + width: 0; + height: 0; + /* 1 */ + border: @tooltip-triangle-size dashed @tooltip-background; +} + + +/* Direction modifiers + ========================================================================== */ + +/* + * Top + */ + +.uk-tooltip-top:after, +.uk-tooltip-top-left:after, +.uk-tooltip-top-right:after { + bottom: -@tooltip-triangle-size; + border-top-style: solid; + border-bottom: none; + border-left-color: transparent; + border-right-color: transparent; + border-top-color: @tooltip-background; +} + +/* + * Bottom + */ + +.uk-tooltip-bottom:after, +.uk-tooltip-bottom-left:after, +.uk-tooltip-bottom-right:after { + top: -@tooltip-triangle-size; + border-bottom-style: solid; + border-top: none; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-color: @tooltip-background; +} + +/* + * Top/Bottom center + */ + +.uk-tooltip-top:after, +.uk-tooltip-bottom:after { + left: 50%; + margin-left: -@tooltip-triangle-size; +} + +/* + * Top/Bottom left + */ + +.uk-tooltip-top-left:after, +.uk-tooltip-bottom-left:after { left: @tooltip-offset-horizontal; } + +/* + * Top/Bottom right + */ + +.uk-tooltip-top-right:after, +.uk-tooltip-bottom-right:after { right: @tooltip-offset-horizontal; } + +/* + * Left + */ + +.uk-tooltip-left:after { + right: -@tooltip-triangle-size; + top: 50%; + margin-top: -@tooltip-triangle-size; + border-left-style: solid; + border-right: none; + border-top-color: transparent; + border-bottom-color: transparent; + border-left-color: @tooltip-background; +} + +/* + * Right + */ + +.uk-tooltip-right:after { + left: -@tooltip-triangle-size; + top: 50%; + margin-top: -@tooltip-triangle-size; + border-right-style: solid; + border-left: none; + border-top-color: transparent; + border-bottom-color: transparent; + border-right-color: @tooltip-background; +} + + +// Hooks +// ======================================================================== + +.hook-tooltip-misc; + +.hook-tooltip() {} +.hook-tooltip-misc() {} diff --git a/bower_components/uikit/less/components/upload.less b/bower_components/uikit/less/components/upload.less new file mode 100644 index 0000000..31a5f8f --- /dev/null +++ b/bower_components/uikit/less/components/upload.less @@ -0,0 +1,34 @@ +// Name: Upload +// Description: Provides a dragover state for uploads +// +// Component: `uk-upload` +// +// States: `uk-dragover` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@uk-upload-dragover-box-shadow: rgba(100,100,100,0.3); +@uk-upload-dragover-box-shadow-blur: 20px; + + +/* ======================================================================== + Component: Upload + ========================================================================== */ + +/* + * Create a box-shadow when dragging a file over the upload area + */ + +.uk-dragover { box-shadow: 0 0 @uk-upload-dragover-box-shadow-blur @uk-upload-dragover-box-shadow; } + + +// Hooks +// ======================================================================== + +.hook-upload-misc; + +.hook-upload-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/alert.less b/bower_components/uikit/less/core/alert.less new file mode 100644 index 0000000..9137eb1 --- /dev/null +++ b/bower_components/uikit/less/core/alert.less @@ -0,0 +1,141 @@ +// Name: Alert +// Description: Defines styles for alert messages +// +// Component: `uk-alert` +// +// Sub-objects: `uk-alert-close` +// +// Modifiers: `uk-alert-success` +// `uk-alert-warning` +// `uk-alert-danger` +// `uk-alert-large` +// +// Uses: Close: `uk-close` +// +// Markup: +// +// +//
                  +// +//

                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@alert-margin-vertical: 15px; +@alert-padding: 10px; +@alert-background: #ebf7fd; +@alert-color: #2d7091; + +@alert-success-background: #f2fae3; +@alert-success-color: #659f13; + +@alert-warning-background: #fffceb; +@alert-warning-color: #e28327; + +@alert-danger-background: #fff1f0; +@alert-danger-color: #d85030; + +@alert-large-padding: 20px; + + +/* ======================================================================== + Component: Alert + ========================================================================== */ + +.uk-alert { + margin-bottom: @alert-margin-vertical; + padding: @alert-padding; + background: @alert-background; + color: @alert-color; + .hook-alert; +} + +/* + * Add margin if adjacent element + */ + +* + .uk-alert { margin-top: @alert-margin-vertical; } + +/* + * Remove margin from the last-child + */ + +.uk-alert > :last-child { margin-bottom: 0; } + +/* + * Keep color for headings if the default heading color is changed + */ + +.uk-alert h1, +.uk-alert h2, +.uk-alert h3, +.uk-alert h4, +.uk-alert h5, +.uk-alert h6 { color: inherit; } + + +/* Close in alert + ========================================================================== */ + +.uk-alert > .uk-close:first-child { float: right; } + +/* + * Remove margin from adjacent element + */ + +.uk-alert > .uk-close:first-child + * { margin-top: 0; } + + +/* Modifier: `uk-alert-success` + ========================================================================== */ + +.uk-alert-success { + background: @alert-success-background; + color: @alert-success-color; + .hook-alert-success; +} + + +/* Modifier: `uk-alert-warning` + ========================================================================== */ + +.uk-alert-warning { + background: @alert-warning-background; + color: @alert-warning-color; + .hook-alert-warning; +} + + +/* Modifier: `uk-alert-danger` + ========================================================================== */ + +.uk-alert-danger { + background: @alert-danger-background; + color: @alert-danger-color; + .hook-alert-danger; +} + + +/* Modifier: `uk-alert-large` + ========================================================================== */ + +.uk-alert-large { padding: @alert-large-padding; } + +.uk-alert-large > .uk-close:first-child { margin: -10px -10px 0 0; } + + +// Hooks +// ======================================================================== + +.hook-alert-misc; + +.hook-alert() {} +.hook-alert-success() {} +.hook-alert-warning() {} +.hook-alert-danger() {} +.hook-alert-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/animation.less b/bower_components/uikit/less/core/animation.less new file mode 100644 index 0000000..756f110 --- /dev/null +++ b/bower_components/uikit/less/core/animation.less @@ -0,0 +1,599 @@ +// Name: Animation +// Description: Provides a useful set of keyframe animations +// +// Component: `uk-animation-*` +// +// Modifiers: `uk-animation-fade` +// `uk-animation-scale-up` +// `uk-animation-scale-down` +// `uk-animation-slide-top` +// `uk-animation-slide-bottom` +// `uk-animation-slide-left` +// `uk-animation-slide-right` +// `uk-animation-scale` +// `uk-animation-shake` +// `uk-animation-reverse` +// `uk-animation-15` +// `uk-animation-top-left` +// `uk-animation-top-center` +// `uk-animation-top-right` +// `uk-animation-middle-left` +// `uk-animation-middle-right` +// `uk-animation-bottom-left` +// `uk-animation-bottom-center` +// `uk-animation-bottom-right` +// +// Sub-objects: `uk-animation-hover` +// +// Uses: Scrollspy +// +// Used by: Dropdown +// Icon +// Search +// Datepicker +// Slideshow +// +// ======================================================================== + + +/* ======================================================================== + Component: Animation + ========================================================================== */ + +[class*='uk-animation-'] { + -webkit-animation-duration: 0.5s; + animation-duration: 0.5s; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +/* Hide animated element if scrollspy is used */ +@media screen { + + [data-uk-scrollspy*='uk-animation-']:not([data-uk-scrollspy*='target']) { opacity: 0; } + +} + +/* + * Fade + * Higher specificity (!important) needed because of reverse modifier + */ + +.uk-animation-fade { + -webkit-animation-name: uk-fade; + animation-name: uk-fade; + -webkit-animation-duration: 0.8s; + animation-duration: 0.8s; + -webkit-animation-timing-function: linear !important; + animation-timing-function: linear !important; +} + +/* + * Fade with scale + */ + +.uk-animation-scale-up { + -webkit-animation-name: uk-fade-scale-02; + animation-name: uk-fade-scale-02; +} + +.uk-animation-scale-down { + -webkit-animation-name: uk-fade-scale-18; + animation-name: uk-fade-scale-18; +} + +/* + * Fade with slide + */ + +.uk-animation-slide-top { + -webkit-animation-name: uk-fade-top; + animation-name: uk-fade-top; +} + +.uk-animation-slide-bottom { + -webkit-animation-name: uk-fade-bottom; + animation-name: uk-fade-bottom; +} + +.uk-animation-slide-left { + -webkit-animation-name: uk-fade-left; + animation-name: uk-fade-left; +} + +.uk-animation-slide-right { + -webkit-animation-name: uk-fade-right; + animation-name: uk-fade-right; +} + +/* + * Scale + */ + +.uk-animation-scale { + -webkit-animation-name: uk-scale-12; + animation-name: uk-scale-12; +} + +/* + * Shake + */ + +.uk-animation-shake { + -webkit-animation-name: uk-shake; + animation-name: uk-shake; +} + + +/* Direction modifiers + ========================================================================== */ + +.uk-animation-reverse { + -webkit-animation-direction: reverse; + animation-direction: reverse; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + + +/* Duration modifiers +========================================================================== */ + +.uk-animation-15 { + -webkit-animation-duration: 15s; + animation-duration: 15s; +} + + +/* Origin modifiers +========================================================================== */ + +.uk-animation-top-left { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} + +.uk-animation-top-center { + -webkit-transform-origin: 50% 0; + transform-origin: 50% 0; +} + +.uk-animation-top-right { + -webkit-transform-origin: 100% 0; + transform-origin: 100% 0; +} + +.uk-animation-middle-left { + -webkit-transform-origin: 0 50%; + transform-origin: 0 50%; +} + +.uk-animation-middle-right { + -webkit-transform-origin: 100% 50%; + transform-origin: 100% 50%; +} + +.uk-animation-bottom-left { + -webkit-transform-origin: 0 100%; + transform-origin: 0 100%; +} + +.uk-animation-bottom-center { + -webkit-transform-origin: 50% 100%; + transform-origin: 50% 100%; +} + +.uk-animation-bottom-right { + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100%; +} + + +/* Sub-object: `uk-animation-hover` +========================================================================== */ + +/* + * Enable animation only on hover + * Note: Firefox also needs this because animations are not triggered when switching between display `hidden` and `block` + */ + +.uk-animation-hover:not(:hover), +.uk-animation-hover:not(:hover) [class*='uk-animation-'], +.uk-touch .uk-animation-hover:not(.uk-hover), +.uk-touch .uk-animation-hover:not(.uk-hover) [class*='uk-animation-'] { + -webkit-animation-name: none; + animation-name: none; +} + + +/* Keyframes: Fade + * Used by dropdown, datepicker and slideshow component + ========================================================================== */ + +@-webkit-keyframes uk-fade { + 0% { opacity: 0; } + 100% { opacity: 1; } +} + +@keyframes uk-fade { + 0% { opacity: 0; } + 100% { opacity: 1; } +} + + +/* Keyframes: Fade with slide + ========================================================================== */ + +/* + * Top + */ + +@-webkit-keyframes uk-fade-top { + 0% { + opacity: 0; + -webkit-transform: translateY(-100%); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} + +@keyframes uk-fade-top { + 0% { + opacity: 0; + transform: translateY(-100%); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} + +/* + * Bottom + */ + +@-webkit-keyframes uk-fade-bottom { + 0% { + opacity: 0; + -webkit-transform: translateY(100%); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} + +@keyframes uk-fade-bottom { + 0% { + opacity: 0; + transform: translateY(100%); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} + +/* + * Left + */ + +@-webkit-keyframes uk-fade-left { + 0% { + opacity: 0; + -webkit-transform: translateX(-100%); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} + +@keyframes uk-fade-left { + 0% { + opacity: 0; + transform: translateX(-100%); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} + +/* + * Right + */ + +@-webkit-keyframes uk-fade-right { + 0% { + opacity: 0; + -webkit-transform: translateX(100%); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} + +@keyframes uk-fade-right { + 0% { + opacity: 0; + transform: translateX(100%); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} + + +/* Keyframes: Fade with scale + ========================================================================== */ + +/* + * Scale by 0.2 + */ + +@-webkit-keyframes uk-fade-scale-02 { + 0% { + opacity: 0; + -webkit-transform: scale(0.2); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} + +@keyframes uk-fade-scale-02 { + 0% { + opacity: 0; + transform: scale(0.2); + } + 100% { + opacity: 1; + transform: scale(1); + } +} + +/* + * Scale by 1.5 + * Used by slideshow component + */ + +@-webkit-keyframes uk-fade-scale-15 { + 0% { + opacity: 0; + -webkit-transform: scale(1.5); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} + +@keyframes uk-fade-scale-15 { + 0% { + opacity: 0; + transform: scale(1.5); + } + 100% { + opacity: 1; + transform: scale(1); + } +} + +/* + * Scale by 1.8 + */ + +@-webkit-keyframes uk-fade-scale-18 { + 0% { + opacity: 0; + -webkit-transform: scale(1.8); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} + +@keyframes uk-fade-scale-18 { + 0% { + opacity: 0; + transform: scale(1.8); + } + 100% { + opacity: 1; + transform: scale(1); + } +} + + +/* Keyframes: Slide + * Used by slideshow component + ========================================================================== */ + +/* + * Left + */ + +@-webkit-keyframes uk-slide-left { + 0% { -webkit-transform: translateX(-100%); } + 100% { -webkit-transform: translateX(0); } +} + +@keyframes uk-slide-left { + 0% { transform: translateX(-100%); } + 100% { transform: translateX(0); } +} + +/* + * Right + */ + +@-webkit-keyframes uk-slide-right { + 0% { -webkit-transform: translateX(100%); } + 100% { -webkit-transform: translateX(0); } +} + +@keyframes uk-slide-right { + 0% { transform: translateX(100%); } + 100% { transform: translateX(0); } +} + +/* + * Left third + */ + +@-webkit-keyframes uk-slide-left-33 { + 0% { -webkit-transform: translateX(33%); } + 100% { -webkit-transform: translateX(0); } +} + +@keyframes uk-slide-left-33 { + 0% { transform: translateX(33%); } + 100% { transform: translateX(0); } +} + +/* + * Right third + */ + +@-webkit-keyframes uk-slide-right-33 { + 0% { -webkit-transform: translateX(-33%); } + 100% { -webkit-transform: translateX(0); } +} + +@keyframes uk-slide-right-33 { + 0% { transform: translateX(-33%); } + 100% { transform: translateX(0); } +} + + +/* Keyframes: Scale + ========================================================================== */ + +@-webkit-keyframes uk-scale-12 { + 0% { -webkit-transform: scale(1.2); } + 100% { -webkit-transform: scale(1); } +} + +@keyframes uk-scale-12 { + 0% { transform: scale(1.2); } + 100% { transform: scale(1); } +} + + +/* Keyframes: Rotate + * Used by icon component + ========================================================================== */ + +@-webkit-keyframes uk-rotate { + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(359deg); } +} + +@keyframes uk-rotate { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(359deg); } +} + + +/* Keyframes: Shake + ========================================================================== */ + +@-webkit-keyframes uk-shake { + 0%, 100% { -webkit-transform: translateX(0); } + 10% { -webkit-transform: translateX(-9px); } + 20% { -webkit-transform: translateX(8px); } + 30% { -webkit-transform: translateX(-7px); } + 40% { -webkit-transform: translateX(6px); } + 50% { -webkit-transform: translateX(-5px); } + 60% { -webkit-transform: translateX(4px); } + 70% { -webkit-transform: translateX(-3px); } + 80% { -webkit-transform: translateX(2px); } + 90% { -webkit-transform: translateX(-1px); } +} + +@keyframes uk-shake { + 0%, 100% { transform: translateX(0); } + 10% { transform: translateX(-9px); } + 20% { transform: translateX(8px); } + 30% { transform: translateX(-7px); } + 40% { transform: translateX(6px); } + 50% { transform: translateX(-5px); } + 60% { transform: translateX(4px); } + 70% { transform: translateX(-3px); } + 80% { transform: translateX(2px); } + 90% { transform: translateX(-1px); } +} + + +/* Keyframes: Fade with slide fixed + * Used by dropdown and search component + ========================================================================== */ + +/* + * Top fixed + */ + +@-webkit-keyframes uk-slide-top-fixed { + 0% { + opacity: 0; + -webkit-transform: translateY(-10px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} + +@keyframes uk-slide-top-fixed { + 0% { + opacity: 0; + transform: translateY(-10px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} + +/* + * Bottom fixed + */ + +@-webkit-keyframes uk-slide-bottom-fixed { + 0% { + opacity: 0; + -webkit-transform: translateY(10px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} + +@keyframes uk-slide-bottom-fixed { + 0% { + opacity: 0; + transform: translateY(10px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} + + +// Hooks +// ======================================================================== + +.hook-animation-misc; + +.hook-animation-misc() {} diff --git a/bower_components/uikit/less/core/article.less b/bower_components/uikit/less/core/article.less new file mode 100644 index 0000000..04f630b --- /dev/null +++ b/bower_components/uikit/less/core/article.less @@ -0,0 +1,139 @@ +// Name: Article +// Description: Defines styles for articles within your page +// +// Component: `uk-article` +// +// Sub-objects: `uk-article-title` +// `uk-article-meta` +// `uk-article-lead` +// `uk-article-divider` +// +// Markup: +// +// +//
                  +//

                  +// +//

                  +//

                  +//
                  +//

                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@article-margin-top: 25px; + +@article-title-font-size: 36px; +@article-title-line-height: 42px; +@article-title-font-weight: normal; +@article-title-text-transform: none; + +@article-meta-font-size: 12px; +@article-meta-line-height: 18px; +@article-meta-color: #999; + +@article-lead-color: #444; +@article-lead-font-size: 18px; +@article-lead-line-height: 24px; +@article-lead-font-weight: normal; + +@article-divider-margin: 25px; +@article-divider-border: #ddd; + + +/* ======================================================================== + Component: Article + ========================================================================== */ + +/* + * Micro clearfix to make articles more robust + */ + +.uk-article:before, +.uk-article:after { + content: ""; + display: table; +} + +.uk-article:after { clear: both; } + +/* + * Remove margin from the last-child + */ + +.uk-article > :last-child { margin-bottom: 0; } + +/* + * Vertical gutter for articles + */ + +.uk-article + .uk-article { margin-top: @article-margin-top; } + + +/* Sub-object `uk-article-title` + ========================================================================== */ + +.uk-article-title { + font-size: @article-title-font-size; + line-height: @article-title-line-height; + font-weight: @article-title-font-weight; + text-transform: @article-title-text-transform; + .hook-article-title; +} + +.uk-article-title a { + color: inherit; + text-decoration: none; +} + + +/* Sub-object `uk-article-meta` + ========================================================================== */ + +.uk-article-meta { + font-size: @article-meta-font-size; + line-height: @article-meta-line-height; + color: @article-meta-color; + .hook-article-meta; +} + + +/* Sub-object `uk-article-lead` + ========================================================================== */ + +.uk-article-lead { + color: @article-lead-color; + font-size: @article-lead-font-size; + line-height: @article-lead-line-height; + font-weight: @article-lead-font-weight; + .hook-article-lead; +} + + +/* Sub-object `uk-article-divider` + ========================================================================== */ + +.uk-article-divider { + margin-bottom: @article-divider-margin; + border-color: @article-divider-border; + .hook-article-divider; +} + +* + .uk-article-divider { margin-top: @article-divider-margin; } + + +// Hooks +// ======================================================================== + +.hook-article-misc; + +.hook-article-title() {} +.hook-article-meta() {} +.hook-article-lead() {} +.hook-article-divider() {} +.hook-article-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/badge.less b/bower_components/uikit/less/core/badge.less new file mode 100644 index 0000000..b182f71 --- /dev/null +++ b/bower_components/uikit/less/core/badge.less @@ -0,0 +1,110 @@ +// Name: Badge +// Description: Defines styles for badges +// +// Component: `uk-badge` +// +// Modifiers: `uk-badge-notification` +// `uk-badge-success` +// `uk-badge-danger` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@badge-background: #00a8e6; +@badge-padding-horizontal: 5px; +@badge-font-size: 10px; +@badge-font-weight: bold; +@badge-line-height: 14px; +@badge-color: #fff; +@badge-text-transform: none; +@badge-hover-color: #fff; + +@badge-notification-font-size: 12px; +@badge-notification-line-height: 18px; + +@badge-success-background: #8cc14c; +@badge-warning-background: #faa732; +@badge-danger-background: #da314b; + + +/* ======================================================================== + Component: Badge + ========================================================================== */ + +.uk-badge { + display: inline-block; + padding: 0 @badge-padding-horizontal; + background: @badge-background; + font-size: @badge-font-size; + font-weight: @badge-font-weight; + line-height: @badge-line-height; + color: @badge-color; + text-align: center; + vertical-align: middle; + text-transform: @badge-text-transform; + .hook-badge; +} + +/* + * Keep color when badge is a link + */ + +a.uk-badge:hover { color: @badge-hover-color; } + + +/* Modifier: `uk-badge-notification`; + ========================================================================== */ + +.uk-badge-notification { + box-sizing: border-box; + min-width: @badge-notification-line-height; + border-radius: 500px; + font-size: @badge-notification-font-size; + line-height: @badge-notification-line-height; +} + + +/* Color modifier + ========================================================================== */ + +/* + * Modifier: `uk-badge-success` + */ + +.uk-badge-success { + background-color: @badge-success-background; + .hook-badge-success; +} + +/* + * Modifier: `uk-badge-warning` + */ + +.uk-badge-warning { + background-color: @badge-warning-background; + .hook-badge-warning; +} + +/* + * Modifier: `uk-badge-danger` + */ + +.uk-badge-danger { + background-color: @badge-danger-background; + .hook-badge-danger; +} + + +// Hooks +// ======================================================================== + +.hook-badge-misc; + +.hook-badge() {} +.hook-badge-success() {} +.hook-badge-warning() {} +.hook-badge-danger() {} +.hook-badge-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/base.less b/bower_components/uikit/less/core/base.less new file mode 100644 index 0000000..1740d0a --- /dev/null +++ b/bower_components/uikit/less/core/base.less @@ -0,0 +1,563 @@ +// Name: Base +// Description: Sets default values for HTML elements +// +// Component: `uk-h1`, `uk-h2`, `uk-h3`, `uk-h4`, `uk-h5`, `uk-h6` +// `uk-link` +// `uk-img-preserve` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@base-body-background: #fff; +@base-body-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +@base-body-font-weight: normal; +@base-body-font-size: 14px; +@base-body-line-height: 20px; +@base-body-color: #444; + +@base-link-color: #07D; +@base-link-text-decoration: none; +@base-link-hover-color: #059; +@base-link-hover-text-decoration: underline; + +@base-code-color: #D05; +@base-code-font-size: 12px; +@base-code-font-family: Consolas, monospace, serif; +@base-em-color: #D05; +@base-ins-background: #ffa; +@base-ins-color: #444; +@base-mark-background: #ffa; +@base-mark-color: #444; +@base-quote-font-style: italic; + +@base-margin-vertical: 15px; + +@base-heading-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +@base-heading-font-weight: normal; +@base-heading-color: #444; +@base-heading-text-transform: none; +@base-heading-margin-top: 25px; +@base-h1-font-size: 36px; +@base-h1-line-height: 42px; +@base-h2-font-size: 24px; +@base-h2-line-height: 30px; +@base-h3-font-size: 18px; +@base-h3-line-height: 24px; +@base-h4-font-size: 16px; +@base-h4-line-height: 22px; +@base-h5-font-size: 14px; +@base-h5-line-height: 20px; +@base-h6-font-size: 12px; +@base-h6-line-height: 18px; + +@base-list-padding-left: 30px; + +@base-hr-margin-vertical: @base-margin-vertical; +@base-hr-border: #ddd; +@base-hr-border-width: 1px; + +@base-blockquote-padding-left: 15px; +@base-blockquote-border: #ddd; +@base-blockquote-border-width: 5px; +@base-blockquote-font-size: 16px; +@base-blockquote-line-height: 22px; +@base-blockquote-font-style: italic; + +@base-pre-padding: 10px; +@base-pre-background: #f5f5f5; +@base-pre-color: #444; +@base-pre-font-size: 12px; +@base-pre-line-height: 18px; +@base-pre-font-family: @base-code-font-family; + +@base-selection-background: #39f; +@base-selection-color: #fff; + + +/* ======================================================================== + Component: Base + ========================================================================== */ + +/* + * 1. Normalize default `font-family` and set `font-size` to support `rem` units + * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom + * 3. Style + */ + +html { + /* 1 */ + font: @base-body-font-weight @base-body-font-size e("/") @base-body-line-height @base-body-font-family; + /* 2 */ + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + /* 3 */ + background: @base-body-background; + color: @base-body-color; + .hook-base-body; +} + +/* + * Removes default margin. + */ + +body { margin: 0; } + + +/* Links + ========================================================================== */ + +/* + * Remove the gray background color from active links in IE 10. + */ + +a { background: transparent; } + +/* + * Improve readability of focused elements when they are also in an active/hover state. + */ + +a:active, +a:hover { outline: 0; } + +/* + * Style + */ + +a, +.uk-link { + color: @base-link-color; + text-decoration: @base-link-text-decoration; + cursor: pointer; + .hook-base-link; +} + +a:hover, +.uk-link:hover { + color: @base-link-hover-color; + text-decoration: @base-link-hover-text-decoration; + .hook-base-link-hover; +} + + +/* Text-level semantics + ========================================================================== */ + +/* + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { border-bottom: 1px dotted; } + +/* + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { font-weight: bold; } + +/* + * 1. Address odd `em`-unit font size rendering in all browsers. + * 2. Consolas has a better baseline in running text compared to `Courier` + */ + +:not(pre) > code, +:not(pre) > kbd, +:not(pre) > samp { + /* 1 */ + font-size: @base-code-font-size; + /* 2 */ + font-family: @base-code-font-family; + /* 3 */ + color: @base-code-color; + white-space: nowrap; + .hook-base-code; +} + +/* + * Emphasize + */ + +em { color: @base-em-color; } + +/* + * Insert + */ + +ins { + background: @base-ins-background; + color: @base-ins-color; + text-decoration: none; +} + +/* + * Mark + * Note: Addresses styling not present in IE 8/9. + */ + +mark { + background: @base-mark-background; + color: @base-mark-color; +} + +/* + * Quote + */ + +q { font-style: @base-quote-font-style; } + +/* + * Addresses inconsistent and variable font size in all browsers. + */ + +small { font-size: 80%; } + +/* + * Prevents `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { top: -0.5em; } +sub { bottom: -0.25em; } + + +/* Embedded content + ========================================================================== */ + +/* + * Remove the gap between embedded content and the bottom of their containers. + */ + +audio, +canvas, +iframe, +img, +svg, +video { vertical-align: middle; } + +/* + * Responsiveness + * 1. Sets a maximum width relative to the parent and auto scales the height + * 2. Corrects `max-width` behavior if padding and border are used + */ + +audio, +canvas, +img, +svg, +video { + /* 1 */ + max-width: 100%; + height: auto; + /* 2 */ + box-sizing: border-box; +} + +/* + * Preserve original dimensions + */ + +.uk-img-preserve, +.uk-img-preserve audio, +.uk-img-preserve canvas, +.uk-img-preserve img, +.uk-img-preserve svg, +.uk-img-preserve video { max-width: none; } + +/* + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { border: 0; } + +/* + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { overflow: hidden; } + + +/* Block elements + ========================================================================== */ + +/* + * Reset margin + */ + +blockquote, +figure { margin: 0; } + +/* + * Margins + */ + +p, +ul, +ol, +dl, +blockquote, +pre, +address, +fieldset, +figure { margin: 0 0 @base-margin-vertical 0; } + +* + p, +* + ul, +* + ol, +* + dl, +* + blockquote, +* + pre, +* + address, +* + fieldset, +* + figure { margin-top: @base-margin-vertical; } + + +/* Headings + ========================================================================== */ + +h1, h2, h3, h4, h5, h6 { + margin: 0 0 @base-margin-vertical 0; + font-family: @base-heading-font-family; + font-weight: @base-heading-font-weight; + color: @base-heading-color; + text-transform: @base-heading-text-transform; + .hook-base-h; +} + +/* + * Margins + */ + +* + h1, +* + h2, +* + h3, +* + h4, +* + h5, +* + h6 { margin-top: @base-heading-margin-top; } + +/* + * Sizes + */ + +h1, .uk-h1 { + font-size: @base-h1-font-size; + line-height: @base-h1-line-height; + .hook-base-h1; +} + +h2, .uk-h2 { + font-size: @base-h2-font-size; + line-height: @base-h2-line-height; + .hook-base-h2; +} + +h3, .uk-h3 { + font-size: @base-h3-font-size; + line-height: @base-h3-line-height; + .hook-base-h3; +} + +h4, .uk-h4 { + font-size: @base-h4-font-size; + line-height: @base-h4-line-height; + .hook-base-h4; +} + +h5, .uk-h5 { + font-size: @base-h5-font-size; + line-height: @base-h5-line-height; + .hook-base-h5; +} + +h6, .uk-h6 { + font-size: @base-h6-font-size; + line-height: @base-h6-line-height; + .hook-base-h6; +} + + +/* Lists + ========================================================================== */ + +ul, +ol { padding-left: @base-list-padding-left; } + +/* + * Reset margin for nested lists + */ + +ul > li > ul, +ul > li > ol, +ol > li > ol, +ol > li > ul { margin: 0; } + + +/* Description lists + ========================================================================== */ + +dt { font-weight: bold; } +dd { margin-left: 0; } + + +/* Horizontal rules + ========================================================================== */ + +/* + * 1. Address differences between Firefox and other browsers. + * 2. Style + */ + +hr { + /* 1 */ + box-sizing: content-box; + height: 0; + /* 2 */ + margin: @base-hr-margin-vertical 0; + border: 0; + border-top: @base-hr-border-width solid @base-hr-border; + .hook-base-hr; +} + + +/* Address + ========================================================================== */ + +address { font-style: normal; } + + +/* Blockquotes + ========================================================================== */ + +blockquote { + padding-left: @base-blockquote-padding-left; + border-left: @base-blockquote-border-width solid @base-blockquote-border; + font-size: @base-blockquote-font-size; + line-height: @base-blockquote-line-height; + font-style: @base-blockquote-font-style; + .hook-base-blockquote; +} + + +/* Preformatted text + ========================================================================== */ + +/* + * 1. Contain overflow in all browsers. + */ + +pre { + padding: @base-pre-padding; + background: @base-pre-background; + font: @base-pre-font-size e("/") @base-pre-line-height @base-pre-font-family; + color: @base-pre-color; + -moz-tab-size: 4; + tab-size: 4; + /* 1 */ + overflow: auto; + .hook-base-pre; +} + + +/* Selection pseudo-element + ========================================================================== */ + +::-moz-selection { + background: @base-selection-background; + color: @base-selection-color; + text-shadow: none; +} + +::selection { + background: @base-selection-background; + color: @base-selection-color; + text-shadow: none; +} + + +/* HTML5 elements + ========================================================================== */ + +/* + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +nav, +section, +summary { display: block; } + +/* + * Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +progress { vertical-align: baseline; } + +/* + * Prevent displaying `audio` without controls in Chrome, Safari and Opera + */ + +audio:not([controls]) { display: none; } + +/* + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + */ + +[hidden], +template { display: none; } + + +/* Iframe + ========================================================================== */ + +iframe { border: 0; } + + +/* Fix viewport for IE10 snap mode + ========================================================================== */ + +@media screen and (max-width: 400px) { + @-ms-viewport{ + width: device-width; + } +} + + +// Hooks +// ======================================================================== + +.hook-base-misc; + +.hook-base-body() {} +.hook-base-link() {} +.hook-base-link-hover() {} +.hook-base-code() {} +.hook-base-h() {} +.hook-base-h1() {} +.hook-base-h2() {} +.hook-base-h3() {} +.hook-base-h4() {} +.hook-base-h5() {} +.hook-base-h6() {} +.hook-base-hr() {} +.hook-base-blockquote() {} +.hook-base-pre() {} +.hook-base-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/block.less b/bower_components/uikit/less/core/block.less new file mode 100644 index 0000000..68255d1 --- /dev/null +++ b/bower_components/uikit/less/core/block.less @@ -0,0 +1,155 @@ +// Name: Block +// Description: Defines styles to create horizontal layout blocks +// +// Component: `uk-block` +// +// Modifiers: `uk-block-large` +// `uk-block-default` +// `uk-block-muted` +// `uk-block-primary` +// `uk-block-secondary` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@block-padding-vertical: 20px; +@block-padding-vertical-large: 50px; + +@block-large-padding-vertical: @block-padding-vertical; +@block-large-padding-vertical-medium: @block-padding-vertical-large; +@block-large-padding-vertical-large: 100px; + +@block-default-background: #fff; +@block-muted-background: #f9f9f9; +@block-primary-background: #00a8e6; +@block-secondary-background: #222; + + +/* ======================================================================== + Component: Block + ========================================================================== */ + +.uk-block { + position: relative; + box-sizing: border-box; + padding-top: @block-padding-vertical; + padding-bottom: @block-padding-vertical; + .hook-block; +} + +/* Phone landscape and bigger */ +@media (min-width: @breakpoint-medium) { + + .uk-block { + padding-top: @block-padding-vertical-large; + padding-bottom: @block-padding-vertical-large; + } + +} + +/* + * Micro clearfix to make blocks more robust + */ + +.uk-block:before, +.uk-block:after { + content: ""; + display: table; +} + +.uk-block:after { clear: both; } + +/* + * Remove margin from the last-child + */ + +.uk-block > :last-child { margin-bottom: 0; } + + +/* Padding Modifier + ========================================================================== */ + +/* + * Large padding + */ + +.uk-block-large { + padding-top: @block-large-padding-vertical; + padding-bottom: @block-large-padding-vertical; +} + +/* Tablets and bigger */ +@media (min-width: @breakpoint-medium) { + + .uk-block-large { + padding-top: @block-large-padding-vertical-medium; + padding-bottom: @block-large-padding-vertical-medium; + } + +} + +/* Desktop and bigger */ +@media (min-width: @breakpoint-large) { + + .uk-block-large { + padding-top: @block-large-padding-vertical-large; + padding-bottom: @block-large-padding-vertical-large; + } + +} + + +/* Color Modifier + ========================================================================== */ + +/* + * Default + */ + +.uk-block-default { + background: @block-default-background; + .hook-block-default; +} + +/* + * Muted + */ + +.uk-block-muted { + background: @block-muted-background; + .hook-block-muted; +} + +/* + * Primary + */ + +.uk-block-primary { + background: @block-primary-background; + .hook-block-primary; +} + +/* + * Secondary + */ + +.uk-block-secondary { + background: @block-secondary-background; + .hook-block-secondary; +} + + +// Hooks +// ======================================================================== + +.hook-block-misc; + +.hook-block() {} +.hook-block-default() {} +.hook-block-muted() {} +.hook-block-secondary() {} +.hook-block-primary() {} +.hook-block-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/breadcrumb.less b/bower_components/uikit/less/core/breadcrumb.less new file mode 100644 index 0000000..918febb --- /dev/null +++ b/bower_components/uikit/less/core/breadcrumb.less @@ -0,0 +1,86 @@ +// Name: Breadcrumb +// Description: Defines styles for a breadcrumb navigation +// +// Component: `uk-breadcrumb` +// +// States: `uk-active` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@breadcrumb-font-size: 1rem; + +@breadcrumb-divider: "/"; +@breadcrumb-divider-margin: 8px; +@breadcrumb-disabled-color: #999; + + +/* ======================================================================== + Component: Breadcrumb + ========================================================================== */ + +/* + * 1. Remove default list style + * 2. Remove whitespace between child elements when using `inline-block` + */ + +.uk-breadcrumb { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + font-size: 0.001px; + .hook-breadcrumb; +} + + +/* Items + ========================================================================== */ + +/* + * Reset whitespace hack + */ + +.uk-breadcrumb > li { + font-size: @breadcrumb-font-size; + vertical-align: top; +} + +.uk-breadcrumb > li, +.uk-breadcrumb > li > a, +.uk-breadcrumb > li > span { display: inline-block; } + +.uk-breadcrumb > li:nth-child(n+2):before { + content: @breadcrumb-divider; + display: inline-block; + margin: 0 @breadcrumb-divider-margin; + .hook-breadcrumb-divider; +} + +/* + * Disabled + */ + +.uk-breadcrumb > li:not(.uk-active) > span { color: @breadcrumb-disabled-color; } + + +// Hooks +// ======================================================================== + +.hook-breadcrumb-misc; + +.hook-breadcrumb() {} +.hook-breadcrumb-divider() {} +.hook-breadcrumb-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/button.less b/bower_components/uikit/less/core/button.less new file mode 100644 index 0000000..794cdea --- /dev/null +++ b/bower_components/uikit/less/core/button.less @@ -0,0 +1,406 @@ +// Name: Button +// Description: Defines styles for buttons +// +// Component: `uk-button` +// +// Sub-objects: `uk-button-group` +// `uk-button-dropdown` +// +// Modifiers: `uk-button-primary` +// `uk-button-success` +// `uk-button-danger` +// `uk-button-link` +// `uk-button-mini` +// `uk-button-small` +// `uk-button-large` +// +// States: `uk-active` +// +// Markup: +// +// +//
                  +// +// +//
                  +// +// +//
                  +// +//
                  +//
                    +//
                  • +//
                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@button-height: 30px; +@button-mini-height: 20px; +@button-small-height: 25px; +@button-large-height: 40px; + +@button-line-height: 30px; +@button-mini-line-height: 20px; +@button-small-line-height: 25px; +@button-large-line-height: 40px; + +@button-mini-font-size: 11px; +@button-small-font-size: 12px; +@button-large-font-size: 16px; + +@button-padding-horizontal: 12px; +@button-mini-padding-horizontal: 6px; +@button-small-padding-horizontal: 10px; +@button-large-padding-horizontal: 15px; + +@button-font-size: 1rem; +@button-background: #eee; +@button-color: #444; +@button-hover-background: #f5f5f5; +@button-hover-color: #444; +@button-active-background: #ddd; +@button-active-color: #444; + +@button-primary-background: #00a8e6; +@button-primary-color: #fff; +@button-primary-hover-background: #35b3ee; +@button-primary-hover-color: #fff; +@button-primary-active-background: #0091ca; +@button-primary-active-color: #fff; + +@button-success-background: #8cc14c; +@button-success-color: #fff; +@button-success-hover-background: #8ec73b; +@button-success-hover-color: #fff; +@button-success-active-background: #72ae41; +@button-success-active-color: #fff; + +@button-danger-background: #da314b; +@button-danger-color: #fff; +@button-danger-hover-background: #e4354f; +@button-danger-hover-color: #fff; +@button-danger-active-background: #c91032; +@button-danger-active-color: #fff; + +@button-disabled-background: #f5f5f5; +@button-disabled-color: #999; + +@button-link-color: #07D; +@button-link-hover-color: #059; +@button-link-hover-text-decoration: underline; +@button-link-disabled-color: #999; + + +/* ======================================================================== + Component: Button + ========================================================================== */ + +/* + * Removes inner padding and border in Firefox 4+. + */ + +.uk-button::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * 1. Correct inability to style clickable `input` types in iOS. + * 2. Remove margins in Chrome, Safari and Opera. + * 3. Remove borders for `button`. + * 4. Address `overflow` set to `hidden` in IE 8/9/10/11. + * 5. Correct `font` properties and `color` not being inherited for `button`. + * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE + * 7. Style + * 8. `line-height` is used to create a height + * 9. `min-height` is necessary for `input` elements in Firefox and Opera because `line-height` is not working. + * 10. Reset button group whitespace hack + * 11. Required for `a`. + */ + +.uk-button { + /* 1 */ + -webkit-appearance: none; + /* 2 */ + margin: 0; + /* 3 */ + border: none; + /* 4 */ + overflow: visible; + /* 5 */ + font: inherit; + color: @button-color; + /* 6 */ + text-transform: none; + /* 7 */ + display: inline-block; + box-sizing: border-box; + padding: 0 @button-padding-horizontal; + background: @button-background; + vertical-align: middle; + /* 8 */ + line-height: @button-line-height; + /* 9 */ + min-height: @button-height; + /* 10 */ + font-size: @button-font-size; + /* 11 */ + text-decoration: none; + text-align: center; + .hook-button; +} + +.uk-button:not(:disabled) { cursor: pointer; } + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + */ + +.uk-button:hover, +.uk-button:focus { // 1 + background-color: @button-hover-background; + color: @button-hover-color; + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + .hook-button-hover; +} + +/* Active */ +.uk-button:active, +.uk-button.uk-active { + background-color: @button-active-background; + color: @button-active-color; + .hook-button-active; +} + + +/* Color modifiers + ========================================================================== */ + +/* + * Modifier: `uk-button-primary` + */ + +.uk-button-primary { + background-color: @button-primary-background; + color: @button-primary-color; + .hook-button-primary; +} + +/* Hover */ +.uk-button-primary:hover, +.uk-button-primary:focus { + background-color: @button-primary-hover-background; + color: @button-primary-hover-color; + .hook-button-primary-hover; +} + +/* Active */ +.uk-button-primary:active, +.uk-button-primary.uk-active { + background-color: @button-primary-active-background; + color: @button-primary-active-color; + .hook-button-primary-active; +} + +/* + * Modifier: `uk-button-success` + */ + +.uk-button-success { + background-color: @button-success-background; + color: @button-success-color; + .hook-button-success; +} + +/* Hover */ +.uk-button-success:hover, +.uk-button-success:focus { + background-color: @button-success-hover-background; + color: @button-success-hover-color; + .hook-button-success-hover; +} + +/* Active */ +.uk-button-success:active, +.uk-button-success.uk-active { + background-color: @button-success-active-background; + color: @button-success-active-color; + .hook-button-success-active; +} + +/* + * Modifier: `uk-button-danger` + */ + +.uk-button-danger { + background-color: @button-danger-background; + color: @button-danger-color; + .hook-button-danger; +} + +/* Hover */ +.uk-button-danger:hover, +.uk-button-danger:focus { + background-color: @button-danger-hover-background; + color: @button-danger-hover-color; + .hook-button-danger-hover; +} + +/* Active */ +.uk-button-danger:active, +.uk-button-danger.uk-active { + background-color: @button-danger-active-background; + color: @button-danger-active-color; + .hook-button-danger-active; +} + + +/* Disabled state + * Overrides also the color modifiers + ========================================================================== */ + +/* Equal for all button types */ +.uk-button:disabled { + background-color: @button-disabled-background; + color: @button-disabled-color; + .hook-button-disable; +} + + +/* Modifier: `uk-button-link` + ========================================================================== */ + + /* Reset */ +.uk-button-link, +.uk-button-link:hover, +.uk-button-link:focus, +.uk-button-link:active, +.uk-button-link.uk-active, +.uk-button-link:disabled { + border-color: transparent; + background: none; + .hook-button-link; +} + +/* Color */ +.uk-button-link { color: @button-link-color; } + +.uk-button-link:hover, +.uk-button-link:focus, +.uk-button-link:active, +.uk-button-link.uk-active { + color: @button-link-hover-color; + text-decoration: @button-link-hover-text-decoration; +} + +.uk-button-link:disabled { color: @button-link-disabled-color; } + +/* Focus */ +.uk-button-link:focus { outline: 1px dotted; } + + +/* Size modifiers + ========================================================================== */ + +.uk-button-mini { + min-height: @button-mini-height; + padding: 0 @button-mini-padding-horizontal; + line-height: @button-mini-line-height; + font-size: @button-mini-font-size; +} + +.uk-button-small { + min-height: @button-small-height; + padding: 0 @button-small-padding-horizontal; + line-height: @button-small-line-height; + font-size: @button-small-font-size; +} + +.uk-button-large { + min-height: @button-large-height; + padding: 0 @button-large-padding-horizontal; + line-height: @button-large-line-height; + font-size: @button-large-font-size; + .hook-button-large; +} + + +/* Sub-object `uk-button-group` + ========================================================================== */ + +/* + * 1. Behave like buttons + * 2. Create position context for dropdowns + * 3. Remove whitespace between child elements when using `inline-block` + * 4. Prevent buttons from wrapping + * 5. Remove whitespace between child elements when using `inline-block` + */ + +.uk-button-group { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + font-size: 0.001px; + /* 4 */ + white-space: nowrap; +} + +.uk-button-group > * { display: inline-block; } + +/* 5 */ +.uk-button-group .uk-button { vertical-align: top; } + + +/* Sub-object: `uk-button-dropdown` + ========================================================================== */ + +/* + * 1. Behave like buttons + * 2. Create position context for dropdowns + */ + +.uk-button-dropdown { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; +} + + +// Hooks +// ======================================================================== + +.hook-button-misc; + +.hook-button() {} +.hook-button-hover() {} +.hook-button-active() {} +.hook-button-primary() {} +.hook-button-primary-hover() {} +.hook-button-primary-active() {} +.hook-button-success() {} +.hook-button-success-hover() {} +.hook-button-success-active() {} +.hook-button-danger() {} +.hook-button-danger-hover() {} +.hook-button-danger-active() {} +.hook-button-disable() {} +.hook-button-link() {} +.hook-button-large() {} +.hook-button-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/close.less b/bower_components/uikit/less/core/close.less new file mode 100644 index 0000000..bf28c95 --- /dev/null +++ b/bower_components/uikit/less/core/close.less @@ -0,0 +1,132 @@ +// Name: Close +// Description: Defines styles for a close button +// +// Component: `uk-close` +// +// Modifiers: `uk-close-alt` +// +// Uses: Icon: FontAwesome +// +// Used by: Alert +// Modal +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@close-size: 20px; + +@close-alt-padding: 2px; +@close-alt-background: #eee; + + +/* ======================================================================== + Component: Close + ========================================================================== */ + +/* + * Removes inner padding and border in Firefox 4+. + */ + +.uk-close::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * 1. Correct inability to style clickable `input` types in iOS. + * 2. Remove margins in Chrome, Safari and Opera. + * 3. Remove borders for `button`. + * 4. Address `overflow` set to `hidden` in IE 8/9/10/11. + * 5. Correct `font` properties and `color` not being inherited for `button`. + * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE + * 7. Remove default `button` padding and background color + * 8. Style + */ + +.uk-close { + /* 1 */ + -webkit-appearance: none; + /* 2 */ + margin: 0; + /* 3 */ + border: none; + /* 4 */ + overflow: visible; + /* 5 */ + font: inherit; + color: inherit; + /* 6 */ + text-transform: none; + /* 7. */ + padding: 0; + background: transparent; + /* 8 */ + display: inline-block; + box-sizing: content-box; + width: @close-size; + line-height: @close-size; + text-align: center; + vertical-align: middle; + opacity: 0.3; + .hook-close; +} + +/* Icon */ +.uk-close:after { + display: block; + content: "\f00d"; + font-family: FontAwesome; +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + */ + +.uk-close:hover, +.uk-close:focus { // 1 + opacity: 0.5; + /* 2 */ + outline: none; + /* 3 */ + color: inherit; + text-decoration: none; + cursor: pointer; +} + + +/* Modifier + ========================================================================== */ + +.uk-close-alt { + padding: @close-alt-padding; + border-radius: 50%; + background: @close-alt-background; + opacity: 1; + .hook-close-alt; +} + +/* Hover */ +.uk-close-alt:hover, +.uk-close-alt:focus { opacity: 1; } + +/* Icon */ +.uk-close-alt:after { opacity: 0.5; } + +.uk-close-alt:hover:after, +.uk-close-alt:focus:after { opacity: 0.8; } + + +// Hooks +// ======================================================================== + +.hook-close-misc; + +.hook-close() {} +.hook-close-alt() {} +.hook-close-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/column.less b/bower_components/uikit/less/core/column.less new file mode 100644 index 0000000..32ee1bb --- /dev/null +++ b/bower_components/uikit/less/core/column.less @@ -0,0 +1,209 @@ +// Name: Column +// Description: Provides a responsive, fluid and nestable columns for text and inline elements +// +// Component: `uk-column` +// +// Modifiers: `uk-column-small` +// `uk-column-medium-*` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@column-gutter: 25px; + + +/* ======================================================================== + Component: Column + ========================================================================== */ + +[class*='uk-column-'] { + -webkit-column-gap: @column-gutter; + -moz-column-gap: @column-gutter; + column-gap: @column-gutter; + .hook-column; +} + + +/* Width modifiers + ========================================================================== */ + +.uk-column-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; +} + +.uk-column-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; +} + +.uk-column-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; +} + +.uk-column-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; +} + +.uk-column-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; +} + +/* Phone landscape and bigger */ +@media (min-width: @breakpoint-small) { + + .uk-column-small-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + + .uk-column-small-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + + .uk-column-small-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + + .uk-column-small-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + + .uk-column-small-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } + +} + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + .uk-column-medium-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + + .uk-column-medium-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + + .uk-column-medium-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + + .uk-column-medium-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + + .uk-column-medium-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } + +} + +/* Desktop and bigger */ +@media (min-width: @breakpoint-large) { + + .uk-column-large-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + + .uk-column-large-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + + .uk-column-large-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + + .uk-column-large-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + + .uk-column-large-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } + +} + +/* Large screen and bigger */ +@media (min-width: @breakpoint-xlarge) { + + .uk-column-xlarge-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + + .uk-column-xlarge-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + + .uk-column-xlarge-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + + .uk-column-xlarge-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + + .uk-column-xlarge-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} + + +// Hooks +// ======================================================================== + +.hook-column-misc; + +.hook-column() {} +.hook-column-misc() {} diff --git a/bower_components/uikit/less/core/comment.less b/bower_components/uikit/less/core/comment.less new file mode 100644 index 0000000..9b13168 --- /dev/null +++ b/bower_components/uikit/less/core/comment.less @@ -0,0 +1,172 @@ +// Name: Comment +// Description: Defines styles for comment threads +// +// Component: `uk-comment` +// +// Sub-objects: `uk-comment-header` +// `uk-comment-avatar` +// `uk-comment-title` +// `uk-comment-meta` +// `uk-comment-body` +// `uk-comment-list` +// `uk-comment-primary` +// +// Markup: +// +// +//
                  +//
                  +// +//

                  +//
                  +//
                  +//
                  +//

                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@comment-header-margin-bottom: 15px; + +@comment-avatar-margin-right: 15px; + +@comment-title-margin-top: 5px; +@comment-title-font-size: 16px; +@comment-title-line-height: 22px; + +@comment-meta-margin-top: 2px; +@comment-meta-color: #999; +@comment-meta-font-size: 11px; +@comment-meta-line-height: 16px; + +@comment-list-margin-top: 15px; +@comment-list-padding-left: 100px; + + +/* ======================================================================== + Component: Comment + ========================================================================== */ + +.uk-comment { + .hook-comment; +} + + +/* Sub-object `uk-comment-header` + ========================================================================== */ + +.uk-comment-header { + margin-bottom: @comment-header-margin-bottom; + .hook-comment-header; +} + +/* + * Micro clearfix + */ + +.uk-comment-header:before, +.uk-comment-header:after { + content: ""; + display: table; +} + +.uk-comment-header:after { clear: both; } + + +/* Sub-object `uk-comment-avatar` + ========================================================================== */ + +.uk-comment-avatar { + margin-right: @comment-avatar-margin-right; + float: left; + .hook-comment-avatar; +} + + +/* Sub-object `uk-comment-title` + ========================================================================== */ + +.uk-comment-title { + margin: @comment-title-margin-top 0 0 0; + font-size: @comment-title-font-size; + line-height: @comment-title-line-height; + .hook-comment-title; +} + + +/* Sub-object `uk-comment-meta` + ========================================================================== */ + +.uk-comment-meta { + margin: @comment-meta-margin-top 0 0 0; + font-size: @comment-meta-font-size; + line-height: @comment-meta-line-height; + color: @comment-meta-color; + .hook-comment-meta; +} + + +/* Sub-object `uk-comment-body` + ========================================================================== */ + +.uk-comment-body { + .hook-comment-body; +} + +/* + * Remove margin from the last-child + */ + + .uk-comment-body > :last-child { margin-bottom: 0; } + + +/* Sub-object `uk-comment-list` + ========================================================================== */ + +.uk-comment-list { + padding: 0; + list-style: none; +} + +.uk-comment-list .uk-comment + ul { + margin: @comment-list-margin-top 0 0 0; + list-style: none; +} + +.uk-comment-list > li:nth-child(n+2), +.uk-comment-list .uk-comment + ul > li:nth-child(n+2) { margin-top: @comment-list-margin-top; } + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + .uk-comment-list .uk-comment + ul { padding-left: @comment-list-padding-left; } + +} + + +/* Modifier `uk-comment-primary` + ========================================================================== */ + +.uk-comment-primary { + .hook-comment-primary; +} + + +// Hooks +// ======================================================================== + +.hook-comment-misc; + +.hook-comment() {} +.hook-comment-header() {} +.hook-comment-avatar() {} +.hook-comment-title() {} +.hook-comment-meta() {} +.hook-comment-body() {} +.hook-comment-primary() {} +.hook-comment-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/contrast.less b/bower_components/uikit/less/core/contrast.less new file mode 100644 index 0000000..f0bad95 --- /dev/null +++ b/bower_components/uikit/less/core/contrast.less @@ -0,0 +1,493 @@ +// Name: Contrast +// Description: Utility class to adjust colors for dark or colored blocks +// +// Component: `uk-contrast` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@contrast-color: #fff; +@contrast-inverted-color: #444; + +// +// Components +// + +@contrast-base-color: @contrast-color; + +@contrast-base-link-color: fade(@contrast-color, 70%); +@contrast-base-link-text-decoration: none; +@contrast-base-link-hover-color: @contrast-color; +@contrast-base-link-hover-text-decoration: underline; + +@contrast-base-code-color: @contrast-color; +@contrast-base-em-color: @contrast-color; + +@contrast-base-heading-color: @contrast-color; + +@contrast-base-hr-border: fade(@contrast-color, 20%); + +@contrast-nav-side-color: @contrast-color; +@contrast-nav-side-hover-background: fade(@contrast-color, 10%); +@contrast-nav-side-hover-color: @contrast-color; +@contrast-nav-side-active-background: @contrast-color; +@contrast-nav-side-active-color: @contrast-inverted-color; +@contrast-nav-side-header-color: @contrast-color; +@contrast-nav-side-divider-border: fade(@contrast-color, 20%); +@contrast-nav-side-nested-color: fade(@contrast-color, 70%); +@contrast-nav-side-nested-hover-color: @contrast-color; + +@contrast-subnav-color: fade(@contrast-color, 70%); +@contrast-subnav-hover-color: @contrast-color; +@contrast-subnav-hover-text-decoration: none; +@contrast-subnav-active-color: @contrast-color; + +@contrast-subnav-line-border: fade(@contrast-color, 20%); + +@contrast-subnav-pill-hover-background: fade(@contrast-color, 70%); +@contrast-subnav-pill-hover-color: @contrast-inverted-color; +@contrast-subnav-pill-active-background: @contrast-color; +@contrast-subnav-pill-active-color: @contrast-inverted-color; + +@contrast-tab-border: fade(@contrast-color, 20%); +@contrast-tab-color: fade(@contrast-color, 70%); +@contrast-tab-hover-border: fade(@contrast-color, 70%); +@contrast-tab-hover-background: fade(@contrast-color, 70%); +@contrast-tab-hover-color: @contrast-inverted-color; +@contrast-tab-active-border: fade(@contrast-color, 20%); +@contrast-tab-active-background: @contrast-color; +@contrast-tab-active-color: @contrast-inverted-color; + +@contrast-list-line-border: fade(@contrast-color, 20%); + +@contrast-form-border: fade(@contrast-color, 80%); +@contrast-form-background: fade(@contrast-color, 80%); +@contrast-form-color: @contrast-inverted-color; +@contrast-form-focus-border: @contrast-color; +@contrast-form-focus-background: @contrast-color; +@contrast-form-focus-color: @contrast-inverted-color; + +@contrast-form-placeholder-color: fade(@contrast-inverted-color, 70%); + +@contrast-button-background: @contrast-color; +@contrast-button-color: @contrast-inverted-color; +@contrast-button-hover-background: fade(@contrast-color, 80%); +@contrast-button-hover-color: @contrast-inverted-color; +@contrast-button-active-background: fade(@contrast-color, 70%); +@contrast-button-active-color: @contrast-inverted-color; + +@contrast-button-primary-background: #00a8e6; +@contrast-button-primary-color: @contrast-color; +@contrast-button-primary-hover-background: #35b3ee; +@contrast-button-primary-hover-color: @contrast-color; +@contrast-button-primary-active-background: #0091ca; +@contrast-button-primary-active-color: @contrast-color; + +@contrast-icon-hover-color: fade(@contrast-color, 70%); +@contrast-icon-hover-hover-color: @contrast-color; + +@contrast-icon-button-background: @contrast-color; +@contrast-icon-button-color: @contrast-inverted-color; +@contrast-icon-button-hover-background: fade(@contrast-color, 80%); +@contrast-icon-button-hover-color: @contrast-inverted-color; +@contrast-icon-button-active-background: fade(@contrast-color, 70%); +@contrast-icon-button-active-color: @contrast-inverted-color; + +@contrast-text-muted-color: fade(@contrast-color, 60%); +@contrast-text-primary-color: #2d7091; + + +/* ======================================================================== + Component: Contrast + ========================================================================== */ + +.uk-contrast { + + color: @contrast-base-color; + + // Base + // ======================================================================== + + // + // Link + // + + a:not([class]), + .uk-link { + color: @contrast-base-link-color; + text-decoration: @contrast-base-link-text-decoration; + } + + a:not([class]):hover, + .uk-link:hover { + color: @contrast-base-link-hover-color; + text-decoration: @contrast-base-link-hover-text-decoration; + } + + // + // Code + // + + :not(pre) > code, + :not(pre) > kbd, + :not(pre) > samp { + color: @contrast-base-code-color; + .hook-contrast-base-code; + } + + // + // Emphasize + // + + em { color: @contrast-base-em-color; } + + // + // Headings + // + + h1, h2, h3, h4, h5, h6 { color: @contrast-base-heading-color; } + + // + // Horizontal rules + // + + hr { border-top-color: @contrast-base-hr-border; } + + + // Nav + // ======================================================================== + + .uk-nav li > a, + .uk-nav li > a:hover { text-decoration: none; } + + // + // Nav Site + // + + .uk-nav-side > li > a { + color: @contrast-nav-side-color; + .hook-contrast-nav-side; + } + + .uk-nav-side > li > a:hover, + .uk-nav-side > li > a:focus { + background: @contrast-nav-side-hover-background; + color: @contrast-nav-side-hover-color; + .hook-contrast-nav-side-hover; + } + + .uk-nav-side > li.uk-active > a { + background: @contrast-nav-side-active-background; + color: @contrast-nav-side-active-color; + .hook-contrast-nav-side-active; + } + + // Nav header + .uk-nav-side .uk-nav-header { + color: @contrast-nav-side-header-color; + .hook-contrast-nav-side-header; + } + + // Nav divider + .uk-nav-side .uk-nav-divider { + border-top-color: @contrast-nav-side-divider-border; + .hook-contrast-nav-side-divider; + } + + // Nested items + .uk-nav-side ul a { color: @contrast-nav-side-nested-color; } + .uk-nav-side ul a:hover { color: @contrast-nav-side-nested-hover-color; } + + + // Subnav + // ======================================================================== + + .uk-subnav > * > a { + color: @contrast-subnav-color; + text-decoration: none; + .hook-contrast-subnav; + } + + .uk-subnav > * > a:hover, + .uk-subnav > * > a:focus { + color: @contrast-subnav-hover-color; + text-decoration: @contrast-subnav-hover-text-decoration; + .hook-contrast-subnav-hover; + } + + .uk-subnav > .uk-active > a { + color: @contrast-subnav-active-color; + .hook-contrast-subnav-active; + } + + // + // Subnav line + // + + .uk-subnav-line > :nth-child(n+2):before { + border-left-color: @contrast-subnav-line-border; + .hook-contrast-subnav-line-divider; + } + + // + // Subnav pill + // + + .uk-subnav-pill > * > a:hover, + .uk-subnav-pill > * > a:focus { + background: @contrast-subnav-pill-hover-background; + color: @contrast-subnav-pill-hover-color; + text-decoration: none; + .hook-contrast-subnav-pill-hover; + } + + .uk-subnav-pill > .uk-active > a { + background: @contrast-subnav-pill-active-background; + color: @contrast-subnav-pill-active-color; + .hook-contrast-subnav-pill-active; + } + + + // Tab + // ======================================================================== + + .uk-tab { border-bottom-color: @contrast-tab-border; } + + .uk-tab > li > a { + border-color: transparent; + color: @contrast-tab-color; + .hook-contrast-tab; + } + + .uk-tab > li > a:hover, + .uk-tab > li > a:focus, + .uk-tab > li.uk-open > a { + border-color: @contrast-tab-hover-border; + background: @contrast-tab-hover-background; + color: @contrast-tab-hover-color; + text-decoration: none; + .hook-contrast-tab-hover; + } + + /* Active */ + .uk-tab > li.uk-active > a { + border-color: @contrast-tab-active-border; + border-bottom-color: transparent; + background: @contrast-tab-active-background; + color: @contrast-tab-active-color; + .hook-contrast-tab-active; + } + + // + // Tab center + // + + .uk-tab-center { border-bottom-color: @contrast-tab-border; } + + // + // Tab grid + // + + .uk-tab-grid:before { border-top-color: @contrast-tab-border; } + + + // List + // ======================================================================== + + .uk-list-line > li:nth-child(n+2) { + border-top-color: @contrast-list-line-border; + .hook-contrast-list-line; + } + + + // Form + // ======================================================================== + + .uk-form select, + .uk-form textarea, + .uk-form input:not([type]), + .uk-form input[type="text"], + .uk-form input[type="password"], + .uk-form input[type="datetime"], + .uk-form input[type="datetime-local"], + .uk-form input[type="date"], + .uk-form input[type="month"], + .uk-form input[type="time"], + .uk-form input[type="week"], + .uk-form input[type="number"], + .uk-form input[type="email"], + .uk-form input[type="url"], + .uk-form input[type="search"], + .uk-form input[type="tel"], + .uk-form input[type="color"] { + border-color: @contrast-form-border; + background: @contrast-form-background; + color: @contrast-form-color; + background-clip: padding-box; + .hook-contrast-form; + + &:focus { + border-color: @contrast-form-focus-border; + background: @contrast-form-focus-background; + color: @contrast-form-focus-color; + .hook-contrast-form-focus; + } + } + + // + // Placeholder + // + + .uk-form :-ms-input-placeholder { color: @contrast-form-placeholder-color !important; } + .uk-form ::-moz-placeholder { color: @contrast-form-placeholder-color; } + .uk-form ::-webkit-input-placeholder { color: @contrast-form-placeholder-color; } + + + // Button + // ======================================================================== + + .uk-button { + color: @contrast-button-color; + background: @contrast-button-background; + .hook-contrast-button; + } + + .uk-button:hover, + .uk-button:focus { + background-color: @contrast-button-hover-background; + color: @contrast-button-hover-color; + .hook-contrast-button-hover; + } + + .uk-button:active, + .uk-button.uk-active { + background-color: @contrast-button-active-background; + color: @contrast-button-active-color; + .hook-contrast-button-active; + } + + // + // Button primary + // + + .uk-button-primary { + background-color: @contrast-button-primary-background; + color: @contrast-button-primary-color; + .hook-contrast-button-primary; + } + + .uk-button-primary:hover, + .uk-button-primary:focus { + background-color: @contrast-button-primary-hover-background; + color: @contrast-button-primary-hover-color; + .hook-contrast-button-primary-hover; + } + + .uk-button-primary:active, + .uk-button-primary.uk-active { + background-color: @contrast-button-primary-active-background; + color: @contrast-button-primary-active-color; + .hook-contrast-button-primary-active; + } + + + // Icon + // ======================================================================== + + // + // Icon hover + // + + .uk-icon-hover { + color: @contrast-icon-hover-color; + .hook-contrast-icon-hover; + } + + .uk-icon-hover:hover { + color: @contrast-icon-hover-hover-color; + .hook-contrast-icon-hover-hover; + } + + // + // Icon button + // + + .uk-icon-button { + background: @contrast-icon-button-background; + color: @contrast-icon-button-color; + .hook-contrast-icon-button; + } + + .uk-icon-button:hover, + .uk-icon-button:focus { + background-color: @contrast-icon-button-hover-background; + color: @contrast-icon-button-hover-color; + .hook-contrast-icon-button-hover; + } + + .uk-icon-button:active { + background-color: @contrast-icon-button-active-background; + color: @contrast-icon-button-active-color; + .hook-contrast-icon-button-active; + } + + + // Text + // ======================================================================== + + .uk-text-muted { color: @contrast-text-muted-color !important; } + .uk-text-primary { color: @contrast-text-primary-color !important; } + + + // Misc hook + // ======================================================================== + + .hook-contrast-misc; + +} + + +// Hooks +// ======================================================================== + +.hook-contrast-base-code() {} + +.hook-contrast-nav-side() {} +.hook-contrast-nav-side-hover() {} +.hook-contrast-nav-side-active() {} +.hook-contrast-nav-side-header() {} +.hook-contrast-nav-side-divider() {} + +.hook-contrast-subnav() {} +.hook-contrast-subnav-hover() {} +.hook-contrast-subnav-active() {} +.hook-contrast-subnav-line-divider() {} +.hook-contrast-subnav-pill-hover() {} +.hook-contrast-subnav-pill-active() {} + +.hook-contrast-tab() {} +.hook-contrast-tab-hover() {} +.hook-contrast-tab-active() {} + +.hook-contrast-list-line() {} + +.hook-contrast-form() {} +.hook-contrast-form-focus() {} + +.hook-contrast-button() {} +.hook-contrast-button-hover() {} +.hook-contrast-button-active() {} +.hook-contrast-button-primary() {} +.hook-contrast-button-primary-hover() {} +.hook-contrast-button-primary-active() {} + +.hook-contrast-icon-hover() {} +.hook-contrast-icon-hover-hover() {} +.hook-contrast-icon-button() {} +.hook-contrast-icon-button-hover() {} +.hook-contrast-icon-button-active() {} + +.hook-contrast-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/cover.less b/bower_components/uikit/less/core/cover.less new file mode 100644 index 0000000..3d601ce --- /dev/null +++ b/bower_components/uikit/less/core/cover.less @@ -0,0 +1,70 @@ +// Name: Cover +// Description: Defines styles for images and videos to cover their container in a centered position +// +// Component: `uk-cover-*` +// +// Used by: Slideshow +// +// ======================================================================== + + +/* ======================================================================== + Component: Cover + ========================================================================== */ + +/* + * Background image always covers and centers its element + */ + +.uk-cover-background { + background-position: 50% 50%; + background-size: cover; + background-repeat: no-repeat; +} + +/* + * Emulates image cover, works with video and image elements + * 1. Parent container which clips resized object + * 2. Resizes the object to always covers its container + * 3. Reset the responsive image CSS + * 4. Center object + */ + +/* 1 */ +.uk-cover { overflow: hidden; } + +.uk-cover-object { + /* 2 */ + width: auto; + height: auto; + min-width: 100%; + min-height: 100%; + /* 3 */ + max-width: none; + /* 4 */ + position: relative; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); +} + +/* + * To center iframes use `data-uk-cover` JavaScript + */ + +[data-uk-cover] { + position: relative; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); +} + + +// Hooks +// ======================================================================== + +.hook-cover-misc; + +.hook-cover-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/description-list.less b/bower_components/uikit/less/core/description-list.less new file mode 100644 index 0000000..4cc3090 --- /dev/null +++ b/bower_components/uikit/less/core/description-list.less @@ -0,0 +1,71 @@ +// Name: Description list +// Description: Defines styles for description lists +// +// Component: `uk-description-list` +// +// Modifiers: `uk-description-list-horizontal` +// `uk-description-list-line` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@description-list-horizontal-width: 160px; +@description-list-horizontal-margin-left: 180px; + +@description-list-line-margin-top: 5px; +@description-list-line-border-width: 1px; +@description-list-line-border: #ddd; +@description-list-line-color: #999; + +@description-list-line-font-weight: normal; + + +/* ======================================================================== + Component: Description list + ========================================================================== */ + + +/* Modifier: `uk-description-list-horizontal` + ========================================================================== */ + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + .uk-description-list-horizontal { overflow: hidden; } + + .uk-description-list-horizontal > dt { + width: @description-list-horizontal-width; + float: left; + clear: both; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .uk-description-list-horizontal > dd { margin-left: @description-list-horizontal-margin-left; } +} + + +/* Modifier: `uk-description-list-line` + ========================================================================== */ + +.uk-description-list-line > dt { font-weight: @description-list-line-font-weight; } + +.uk-description-list-line > dt:nth-child(n+2) { + margin-top: @description-list-line-margin-top; + padding-top: @description-list-line-margin-top; + border-top: @description-list-line-border-width solid @description-list-line-border; +} + +.uk-description-list-line > dd { color: @description-list-line-color; } + + +// Hooks +// ======================================================================== + +.hook-description-list-misc; + +.hook-description-list-misc() {} diff --git a/bower_components/uikit/less/core/dropdown.less b/bower_components/uikit/less/core/dropdown.less new file mode 100644 index 0000000..008e15b --- /dev/null +++ b/bower_components/uikit/less/core/dropdown.less @@ -0,0 +1,283 @@ +// Name: Dropdown +// Description: Defines styles for a toggleable dropdown +// +// Component: `uk-dropdown` +// +// Sub-objects: `uk-dropdown-overlay` +// +// Modifiers: `uk-dropdown-blank` +// `uk-dropdown-top` +// `uk-dropdown-bottom` +// `uk-dropdown-left` +// `uk-dropdown-right` +// `uk-dropdown-justify` +// `uk-dropdown-grid` +// `uk-dropdown-width-2` +// `uk-dropdown-width-3` +// `uk-dropdown-width-4` +// `uk-dropdown-width-5` +// `uk-dropdown-stack` +// `uk-dropdown-small` +// `uk-dropdown-navbar` +// `uk-dropdown-scrollable` +// +// States: `uk-open` +// +// Uses: Animation +// Grid: `uk-width-*` +// Panel: `uk-panel` +// Nav: `uk-nav` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@dropdown-z-index: 970; +@dropdown-width: 200px; +@dropdown-margin-top: 5px; +@dropdown-padding: 15px; +@dropdown-background: #f5f5f5; +@dropdown-color: #444; +@dropdown-font-size: 1rem; +@dropdown-animation: uk-fade; + +@dropdown-divider-border-width: 1px; +@dropdown-divider-border: #ddd; + +@dropdown-small-padding: 5px; + +@dropdown-navbar-margin: 0; +@dropdown-navbar-background: #f5f5f5; +@dropdown-navbar-color: #444; +@dropdown-navbar-animation: uk-slide-top-fixed; + +@dropdown-scrollable-height: 200px; + + +/* ======================================================================== + Component: Dropdown + ========================================================================== */ + +/* + * 1. Hide by default + * 2. Set position + * 3. Box-sizing is needed for `uk-dropdown-justify` + * 4. Set width + */ + +.uk-dropdown, +.uk-dropdown-blank { + /* 1 */ + display: none; + /* 2 */ + position: absolute; + z-index: @dropdown-z-index; + /* 3 */ + box-sizing: border-box; + /* 4 */ + width: @dropdown-width; +} + +/* + * Dropdown style + * 1. Reset button group whitespace hack + */ + +.uk-dropdown { + padding: @dropdown-padding; + background: @dropdown-background; + color: @dropdown-color; + /* 1 */ + font-size: @dropdown-font-size; + vertical-align: top; + .hook-dropdown; +} + +/* Focus */ +.uk-dropdown:focus { outline: none; } + +/* + * 1. Show dropdown + * 2. Set animation + * 3. Needed for scale animation + */ + +.uk-open > .uk-dropdown, +.uk-open > .uk-dropdown-blank { + /* 1 */ + display: block; + /* 2 */ + -webkit-animation: @dropdown-animation 0.2s ease-in-out; + animation: @dropdown-animation 0.2s ease-in-out; + /* 3 */ + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} + +/* Alignment modifiers + ========================================================================== */ + +/* + * Modifier + */ + +.uk-dropdown-top { margin-top: (-1 * @dropdown-margin-top); } +.uk-dropdown-bottom { margin-top: @dropdown-margin-top; } +.uk-dropdown-left { margin-left: (-1 * @dropdown-margin-top); } +.uk-dropdown-right { margin-left: @dropdown-margin-top; } + + +/* Nav in dropdown + ========================================================================== */ + +.uk-dropdown .uk-nav { margin: 0 (-@dropdown-padding); } + + +/* Grid and panel in dropdown + ========================================================================== */ + +/* +* Vertical gutter +*/ + +/* + * Grid + * Higher specificity to override large gutter + */ + +.uk-grid .uk-dropdown-grid + .uk-dropdown-grid { margin-top: @dropdown-padding; } + +/* Panels */ +.uk-dropdown-grid > [class*='uk-width-'] > .uk-panel + .uk-panel { margin-top: @dropdown-padding; } + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + /* + * Horizontal gutter + */ + + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid { + margin-left: -@dropdown-padding ; + margin-right: -@dropdown-padding; + } + + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-'] { + padding-left: @dropdown-padding; + padding-right: @dropdown-padding; + } + + /* + * Column divider + */ + + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { border-left: @dropdown-divider-border-width solid @dropdown-divider-border; } + + /* + * Width multiplier for dropdown columns + */ + + .uk-dropdown-width-2:not(.uk-dropdown-stack) { width: (@dropdown-width * 2); } + .uk-dropdown-width-3:not(.uk-dropdown-stack) { width: (@dropdown-width * 3); } + .uk-dropdown-width-4:not(.uk-dropdown-stack) { width: (@dropdown-width * 4); } + .uk-dropdown-width-5:not(.uk-dropdown-stack) { width: (@dropdown-width * 5); } + +} + +/* Phone landscape and smaller */ +@media (max-width: @breakpoint-small-max) { + + /* + * Stack columns and take full width + */ + + .uk-dropdown-grid > [class*='uk-width-'] { width: 100%; } + + /* + * Vertical gutter + */ + + .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { margin-top: @dropdown-padding; } + +} + +/* +* Stack grid columns +*/ + +.uk-dropdown-stack > .uk-dropdown-grid > [class*='uk-width-'] { width: 100%; } + +.uk-dropdown-stack > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { margin-top: @dropdown-padding; } + + + +/* Modifier `uk-dropdown-small` + ========================================================================== */ + +/* + * Set min-width and text expands dropdown if needed + */ + +.uk-dropdown-small { + min-width: 150px; + width: auto; + padding: @dropdown-small-padding; + white-space: nowrap; +} + +/* + * Nav in dropdown + */ + +.uk-dropdown-small .uk-nav { margin: 0 (-@dropdown-small-padding); } + + +/* Modifier: `uk-dropdown-navbar` + ========================================================================== */ + +.uk-dropdown-navbar { + margin-top: @dropdown-navbar-margin; + background: @dropdown-navbar-background; + color: @dropdown-navbar-color; + .hook-dropdown-navbar; +} + +.uk-open > .uk-dropdown-navbar { + -webkit-animation: @dropdown-navbar-animation 0.2s ease-in-out; + animation: @dropdown-navbar-animation 0.2s ease-in-out; +} + + +/* Modifier `uk-dropdown-scrollable` + ========================================================================== */ + +/* + * Usefull for long lists + */ + +.uk-dropdown-scrollable { + overflow-y: auto; + max-height: @dropdown-scrollable-height; +} + + +/* Sub-object: `uk-dropdown-overlay` + ========================================================================== */ + +.uk-dropdown-overlay { + .hook-dropdown-overlay; +} + + + +// Hooks +// ======================================================================== + +.hook-dropdown-misc; + +.hook-dropdown() {} +.hook-dropdown-navbar() {} +.hook-dropdown-overlay() {} +.hook-dropdown-misc() {} diff --git a/bower_components/uikit/less/core/flex.less b/bower_components/uikit/less/core/flex.less new file mode 100644 index 0000000..f53703a --- /dev/null +++ b/bower_components/uikit/less/core/flex.less @@ -0,0 +1,320 @@ +// Name: Flex +// Description: Defines styles to create layouts with flexbox +// +// Component: `uk-flex-*` +// +// Used by: Caption +// +// +// ======================================================================== + + +/* ======================================================================== + Component: Flex + ========================================================================== */ + +.uk-flex { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; +} + +.uk-flex-inline { + display: -ms-inline-flexbox; + display: -webkit-inline-flex; + display: inline-flex; +} + +/* + * Fixes initial flex-shrink value in IE10 + */ + +.uk-flex > *, +.uk-flex-inline > * { -ms-flex-negative: 1; } + + +/* Alignment + ========================================================================== */ + +/* + * Vertical alignment + * Default value is `stretch` + */ + +// .uk-flex-stretch { align-items: stretch; } + +.uk-flex-top { + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; +} + +.uk-flex-middle { + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} + +.uk-flex-bottom { + -ms-flex-align: end; + -webkit-align-items: flex-end; + align-items: flex-end; +} + +/* + * Horizontal alignment + * Default value is `flex-start` + */ + +// .uk-flex-left { justify-content: flex-start; } + +.uk-flex-center { + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} + +.uk-flex-right { + -ms-flex-pack: end; + -webkit-justify-content: flex-end; + justify-content: flex-end; +} + +.uk-flex-space-between { + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} + +.uk-flex-space-around { + -ms-flex-pack: distribute; + -webkit-justify-content: space-around; + justify-content: space-around; +} + + +/* Direction + ========================================================================== */ + +// .uk-flex-row { flex-direction: row; } + +.uk-flex-row-reverse { + -ms-flex-direction: row-reverse; + -webkit-flex-direction: row-reverse; + flex-direction: row-reverse; +} + +.uk-flex-column { + -ms-flex-direction: column; + -webkit-flex-direction: column; + flex-direction: column; +} + +.uk-flex-column-reverse { + -ms-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + flex-direction: column-reverse; +} + + +/* Wrap + ========================================================================== */ + +// Default +.uk-flex-nowrap { + -ms-flex-wrap: nowrap; + -webkit-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +.uk-flex-wrap { + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; +} + +.uk-flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse; + -webkit-flex-wrap: wrap-reverse; + flex-wrap: wrap-reverse; +} + +/* + * Horizontal alignment + * Default value is `stretch` + */ + +// .uk-flex-wrap-stretch { align-content: stretch; } + +.uk-flex-wrap-top { + -ms-flex-line-pack: start; + -webkit-align-content: flex-start; + align-content: flex-start; +} + +.uk-flex-wrap-middle { + -ms-flex-line-pack: center; + -webkit-align-content: center; + align-content: center; +} + +.uk-flex-wrap-bottom { + -ms-flex-line-pack: end; + -webkit-align-content: flex-end; + align-content: flex-end; +} + +.uk-flex-wrap-space-between { + -ms-flex-line-pack: justify; + -webkit-align-content: space-between; + align-content: space-between; +} + +.uk-flex-wrap-space-around { + -ms-flex-line-pack: distribute; + -webkit-align-content: space-around; + align-content: space-around; +} + + +/* Item ordering + ========================================================================== */ + +/* + * Default is 0 + */ + +.uk-flex-order-first { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; +} + +.uk-flex-order-last { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; +} + + +/* Phone landscape and bigger */ +@media (min-width: @breakpoint-small) { + + .uk-flex-order-first-small { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + + .uk-flex-order-last-small { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } + +} + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + .uk-flex-order-first-medium { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + + .uk-flex-order-last-medium { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } + +} + +/* Desktop and bigger */ +@media (min-width: @breakpoint-large) { + + .uk-flex-order-first-large { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + + .uk-flex-order-last-large { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } + +} + +/* Large screen and bigger */ +@media (min-width: @breakpoint-xlarge) { + + .uk-flex-order-first-xlarge { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + + .uk-flex-order-last-xlarge { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } + +} + + + +/* Item dimensions + ========================================================================== */ + +/* + * Initial: 0 1 auto + * Content dimensions, but shrinks + */ + +/* + * No Flex: 0 0 auto + * Content dimensions + */ + +.uk-flex-item-none { + -ms-flex: none; + -webkit-flex: none; + flex: none; +} + +/* + * Relative Flex: 1 1 auto + * Space is allocated considering content + * 1. Fixes flex-shrink value in IE10 + */ + +.uk-flex-item-auto { + -ms-flex: auto; + -webkit-flex: auto; + flex: auto; + /* 1 */ + -ms-flex-negative: 1; +} + +/* + * Absolute Flex: 1 1 0% + * Space is allocated solely based on flex + */ + +.uk-flex-item-1 { + -ms-flex: 1; + -webkit-flex: 1; + flex: 1; +} + + +// Hooks +// ======================================================================== + +.hook-flex-misc; + +.hook-flex-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/form.less b/bower_components/uikit/less/core/form.less new file mode 100644 index 0000000..5868373 --- /dev/null +++ b/bower_components/uikit/less/core/form.less @@ -0,0 +1,629 @@ +// Name: Form +// Description: Defines styles for forms +// +// Component: `uk-form` +// +// Sub-objects: `uk-form-row` +// `uk-form-help-inline` +// `uk-form-help-block` +// `uk-form-label` +// `uk-form-controls` +// `uk-form-controls-condensed` +// `uk-form-icon` +// +// Modifiers: `uk-form-stacked` +// `uk-form-horizontal` +// +// Sub-modifiers: `uk-form-danger` +// `uk-form-success` +// `uk-form-small` +// `uk-form-large` +// `uk-form-blank` +// `uk-form-width-mini` +// `uk-form-width-small` +// `uk-form-width-medium` +// `uk-form-width-large` +// `uk-form-controls-text` +// +// Markup: +// +// +//
                  +//
                  +// +//
                  +// +//
                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@form-height: 30px; +@form-padding: 4px 6px; +@form-border: #ddd; +@form-border-width: 1px; +@form-background: #fff; +@form-color: #444; + +@form-focus-border: #99baca; +@form-focus-background: #f5fbfe; +@form-focus-color: #444; + +@form-disabled-border: #ddd; +@form-disabled-background: #f5f5f5; +@form-disabled-color: #999; + +@form-placeholder-color: #999; + +@form-gutter: 15px; + +@form-legend-border: #ddd; +@form-legend-border-width: 1px; +@form-legend-font-size: 18px; +@form-legend-line-height: 30px; + +@form-small-height: 25px; +@form-large-height: 40px; +@form-small-padding: 3px 3px; +@form-large-padding: 8px 6px; +@form-small-font-size: 12px; +@form-large-font-size: 16px; + +@form-danger-border: #dc8d99; +@form-danger-background: #fff7f8; +@form-danger-color: #d85030; + +@form-success-border: #8ec73b; +@form-success-background: #fafff2; +@form-success-color: #659f13; + +@form-blank-border: #ddd; +@form-blank-border-style: dashed; + +@form-mini-width: 40px; +@form-small-width: 130px; +@form-medium-width: 200px; +@form-large-width: 500px; + +@form-help-inline-margin-left: 10px; +@form-help-block-margin-top: 5px; + +@form-controls-condensed-margin-vertical: 5px; + +@form-stacked-margin-bottom: 5px; +@form-stacked-font-weight: bold; + +@form-horizontal-label-width: 200px; +@form-horizontal-label-margin-top: 5px; +@form-horizontal-controls-margin-left: 215px; +@form-horizontal-controls-text-padding-top: 5px; + +@form-icon-width: 30px; +@form-icon-font-size: 14px; +@form-icon-color: #999; + + +/* ======================================================================== + Component: Form + ========================================================================== */ + +/* + * 1. Define consistent box sizing. + * Default is `content-box` with following exceptions set to `border-box` + * `button`, `select`, `input[type="checkbox"]` and `input[type="radio"]` + * `input[type="search"]` in Chrome, Safari and Opera + * `input[type="color"]` in Firefox + * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera. + * 3. Remove `border-radius` in iOS. + * 4. Correct `font` properties and `color` not being inherited. + */ + +.uk-form input, +.uk-form select, +.uk-form textarea { + /* 1 */ + box-sizing: border-box; + /* 2 */ + margin: 0; + /* 3 */ + border-radius: 0; + /* 4 */ + font: inherit; + color: inherit; +} + +/* + * Address inconsistent `text-transform` inheritance which is only inherit in Firefox + */ + +.uk-form select { text-transform: none; } + +/* + * 1. Correct `font` properties not being inherited. + * 2. Don't inherit the `font-weight` and use `bold` instead. + * NOTE: Both declarations don't work in Chrome, Safari and Opera. + */ + +.uk-form optgroup { + /* 1 */ + font: inherit; + /* 2 */ + font-weight: bold; +} + +/* + * Removes inner padding and border in Firefox 4+. + */ + +.uk-form input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * Removes excess padding in IE 8/9/10. + */ + +.uk-form input[type="checkbox"], +.uk-form input[type="radio"] { padding: 0; } + +/* + * Improves consistency of cursor style for clickable elements + */ + +.uk-form input[type="checkbox"]:not(:disabled), +.uk-form input[type="radio"]:not(:disabled) { cursor: pointer; } + +/* + * Remove default style in iOS. + */ + +.uk-form textarea, +.uk-form input:not([type]), +.uk-form input[type="text"], +.uk-form input[type="password"], +.uk-form input[type="email"], +.uk-form input[type="url"], +.uk-form input[type="search"], +.uk-form input[type="tel"], +.uk-form input[type="number"], +.uk-form input[type="datetime"] { -webkit-appearance: none; } + +/* + * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X. + */ + +.uk-form input[type="search"]::-webkit-search-cancel-button, +.uk-form input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/* + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +.uk-form input[type="number"]::-webkit-inner-spin-button, +.uk-form input[type="number"]::-webkit-outer-spin-button { height: auto; } + +/* + * Define consistent border, margin, and padding. + */ + +.uk-form fieldset { + border: none; + margin: 0; + padding: 0; +} + +/* + * 1. Remove default vertical scrollbar in IE 8/9/10/11. + * 2. Improve readability and alignment in all browsers. + */ + +.uk-form textarea { + /* 1 */ + overflow: auto; + /* 2 */ + vertical-align: top; +} + +/* + * Removes placeholder transparency in Firefox. + */ + +.uk-form ::-moz-placeholder { opacity: 1; } + +/* + * Removes `box-shadow` for invalid controls in Firefox. + */ + +.uk-form :invalid { box-shadow: none; } + +/* + * Vertical alignment + */ + +.uk-form input:not([type="radio"]):not([type="checkbox"]), +.uk-form select { vertical-align: middle; } + + +/* Style + ========================================================================== */ + +/* + * Remove margin from the last-child + */ + +.uk-form > :last-child { margin-bottom: 0; } + +/* + * Controls + * Except for `range`, `radio`, `checkbox`, `file`, `submit`, `reset`, `button` and `image` + * 1. Must be `height` because `min-height` is not working in OSX + * 2. Responsiveness: Sets a maximum width relative to the parent to scale on narrower viewports + * 3. Vertical `padding` needed for `select` elements in Firefox + * 4. Style + */ + +.uk-form select, +.uk-form textarea, +.uk-form input:not([type]), +.uk-form input[type="text"], +.uk-form input[type="password"], +.uk-form input[type="datetime"], +.uk-form input[type="datetime-local"], +.uk-form input[type="date"], +.uk-form input[type="month"], +.uk-form input[type="time"], +.uk-form input[type="week"], +.uk-form input[type="number"], +.uk-form input[type="email"], +.uk-form input[type="url"], +.uk-form input[type="search"], +.uk-form input[type="tel"], +.uk-form input[type="color"] { + /* 1 */ + height: @form-height; + /* 2 */ + max-width: 100%; + /* 3 */ + padding: @form-padding; + /* 4 */ + border: @form-border-width solid @form-border; + background: @form-background; + color: @form-color; + -webkit-transition: all 0.2s linear; + -webkit-transition-property: border, background, color, box-shadow, padding; + transition: all 0.2s linear; + transition-property: border, background, color, box-shadow, padding; + .hook-form; + + // Focus state + &:focus { + border-color: @form-focus-border; + outline: 0; + background: @form-focus-background; + color: @form-focus-color; + .hook-form-focus; + } + + // Disabled state + &:disabled { + border-color: @form-disabled-border; + background-color: @form-disabled-background; + color: @form-disabled-color; + .hook-form-disabled; + } +} + +/* + * Placeholder + */ + +.uk-form :-ms-input-placeholder { color: @form-placeholder-color !important; } +.uk-form ::-moz-placeholder { color: @form-placeholder-color; } +.uk-form ::-webkit-input-placeholder { color: @form-placeholder-color; } + +.uk-form :disabled:-ms-input-placeholder { color: @form-disabled-color !important; } +.uk-form :disabled::-moz-placeholder { color: @form-disabled-color; } +.uk-form :disabled::-webkit-input-placeholder { color: @form-disabled-color; } + +/* + * Legend + * 1. Behave like block element + * 2. Correct `color` not being inherited in IE 8/9/10/11. + * 3. Remove padding + * 4. `margin-bottom` is not working in Safari and Opera. + * Using `padding` and :after instead to create the border + * 5. Style + */ + +.uk-form legend { + /* 1 */ + width: 100%; + /* 2 */ + border: 0; + /* 3 */ + padding: 0; + /* 4 */ + padding-bottom: @form-gutter; + /* 5 */ + font-size: @form-legend-font-size; + line-height: @form-legend-line-height; + .hook-form-legend; +} + +/* + * 1. Fixes IE9 + */ + +.uk-form legend:after { + content: ""; + display: block; + border-bottom: @form-legend-border-width solid @form-legend-border; + /* 1 */ + width: 100%; +} + + +/* Size modifiers + * Higher specificity needed to override defaults + ========================================================================== */ + +select.uk-form-small, +textarea.uk-form-small, +input[type].uk-form-small, +input:not([type]).uk-form-small { + height: @form-small-height; + padding: @form-small-padding; + font-size: @form-small-font-size; +} + +select.uk-form-large, +textarea.uk-form-large, +input[type].uk-form-large, +input:not([type]).uk-form-large { + height: @form-large-height; + padding: @form-large-padding; + font-size: @form-large-font-size; +} + + +/* Reset height + * Must be after size modifiers + ========================================================================== */ + +.uk-form textarea, +.uk-form select[multiple], +.uk-form select[size] { height: auto; } + + +/* Validation states + * Using !important to keep the selector simple + ========================================================================== */ + +/* + * Error state + */ + +.uk-form-danger { + border-color: @form-danger-border !important; + background: @form-danger-background !important; + color: @form-danger-color !important; + .hook-form-danger; +} + +/* + * Success state + */ + +.uk-form-success { + border-color: @form-success-border !important; + background: @form-success-background !important; + color: @form-success-color !important; + .hook-form-success; +} + + +/* Style modifiers + * Using !important to keep the selector simple + ========================================================================== */ + +/* + * Blank form + */ + +.uk-form-blank { + border-color: transparent !important; + border-style: @form-blank-border-style !important; + background: none !important; + .hook-form-blank; +} + +.uk-form-blank:focus { + border-color: @form-blank-border !important; + .hook-form-blank-focus; +} + + +/* Size sub-modifiers + ========================================================================== */ + +/* + * Fixed widths + * Different widths for mini sized `input` and `select` elements + */ + +input.uk-form-width-mini { width: @form-mini-width; } +select.uk-form-width-mini { width: (@form-mini-width + 25px); } +.uk-form-width-small { width: @form-small-width; } +.uk-form-width-medium { width: @form-medium-width; } +.uk-form-width-large { width: @form-large-width; } + + +/* Sub-objects: `uk-form-row` + * Groups labels and controls in rows + ========================================================================== */ + +/* + * Micro clearfix + * Needed for `uk-form-horizontal` modifier + */ + +.uk-form-row:before, +.uk-form-row:after { + content: ""; + display: table; +} + +.uk-form-row:after { clear: both; } + +/* + * Vertical gutter + */ + +.uk-form-row + .uk-form-row { margin-top: @form-gutter; } + + +/* Help text + * Sub-object: `uk-form-help-inline`, `uk-form-help-block` + ========================================================================== */ + +.uk-form-help-inline { + display: inline-block; + margin: 0 0 0 @form-help-inline-margin-left; +} + +.uk-form-help-block { margin: @form-help-block-margin-top 0 0 0; } + + +/* Controls content + * Sub-object: `uk-form-controls`, `uk-form-controls-condensed` + ========================================================================== */ + +/* + * Remove margins + */ + +.uk-form-controls > :first-child { margin-top: 0; } +.uk-form-controls > :last-child { margin-bottom: 0; } + +/* + * Group controls and text into blocks with a small spacing between blocks + */ + +.uk-form-controls-condensed { margin: @form-controls-condensed-margin-vertical 0; } + + +/* Modifier: `uk-form-stacked` + * Requires sub-object: `uk-form-label` + ========================================================================== */ + +.uk-form-stacked .uk-form-label { + display: block; + margin-bottom: @form-stacked-margin-bottom; + font-weight: @form-stacked-font-weight; + .hook-form-stacked-label; +} + + +/* Modifier: `uk-form-horizontal` + * Requires sub-objects: `uk-form-label`, `uk-form-controls` + ========================================================================== */ + +/* Tablet portrait and smaller */ +@media (max-width: @breakpoint-medium-max) { + + /* Behave like `uk-form-stacked` */ + .uk-form-horizontal .uk-form-label { + display: block; + margin-bottom: @form-stacked-margin-bottom; + font-weight: @form-stacked-font-weight; + .hook-form-stacked-label; + } + +} + +/* Desktop and bigger */ +@media (min-width: @breakpoint-large) { + + .uk-form-horizontal .uk-form-label { + width: @form-horizontal-label-width; + margin-top: @form-horizontal-label-margin-top; + float: left; + .hook-form-horizontal-label; + } + + .uk-form-horizontal .uk-form-controls { margin-left: @form-horizontal-controls-margin-left; } + + /* Better vertical alignment if controls are checkboxes and radio buttons with text */ + .uk-form-horizontal .uk-form-controls-text { padding-top: @form-horizontal-controls-text-padding-top; } + +} + + +/* Sub-object: `uk-form-icon` + ========================================================================== */ + +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + */ + +.uk-form-icon { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; +} + +/* + * 1. Make form element clickable through icon + */ + +.uk-form-icon > [class*='uk-icon-'] { + position: absolute; + top: 50%; + width: @form-icon-width; + margin-top: round(@form-icon-font-size / -2); + font-size: @form-icon-font-size; + color: @form-icon-color; + text-align: center; + /* 1 */ + pointer-events: none; +} + +.uk-form-icon:not(.uk-form-icon-flip) > input { padding-left: @form-icon-width !important; } + +/* + * Sub-modifier: `uk-form-icon-flip` + */ + +.uk-form-icon-flip > [class*='uk-icon-'] { right: 0; } +.uk-form-icon-flip > input { padding-right: @form-icon-width !important; } + + +// Hooks +// ======================================================================== + +.hook-form-misc; + +.hook-form() {} +.hook-form-focus() {} +.hook-form-disabled() {} +.hook-form-legend() {} +.hook-form-danger() {} +.hook-form-success() {} +.hook-form-blank() {} +.hook-form-blank-focus() {} +.hook-form-stacked-label() {} +.hook-form-horizontal-label() {} +.hook-form-misc() {} diff --git a/bower_components/uikit/less/core/grid.less b/bower_components/uikit/less/core/grid.less new file mode 100644 index 0000000..81aea64 --- /dev/null +++ b/bower_components/uikit/less/core/grid.less @@ -0,0 +1,731 @@ +// Name: Grid +// Description: Provides a responsive, fluid and nestable grid +// +// Component: `uk-grid` +// `uk-width-*` +// `uk-push-*` +// `uk-pull-*` +// +// Modifiers: `uk-grid-collapse` +// `uk-grid-small` +// `uk-grid-medium` +// `uk-grid-large` +// `uk-grid-divider` +// `uk-grid-margin` +// `uk-grid-match` +// `uk-grid-width-*` +// +// Uses: Panel: `uk-panel` +// +// Used by: Dropdown +// +// Markup: +// +// +//
                  +//
                  +//
                  +//
                  +// +// +//
                  +//
                  +//
                  +//
                  +//
                  +//
                  +//
                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@grid-gutter-horizontal: 25px; +@grid-gutter-vertical: 25px; + +@grid-gutter-large-horizontal: 35px; +@grid-gutter-large-vertical: 35px; + +@grid-gutter-xlarge-horizontal: 50px; +@grid-gutter-xlarge-vertical: 50px; + +@grid-gutter-small-horizontal: 10px; +@grid-gutter-small-vertical: 10px; + +@grid-divider-border: #ddd; +@grid-divider-border-width: 1px; + + +/* ======================================================================== + Component: Grid + ========================================================================== */ + +/* + * 1. Makes grid more robust so that it can be used with other block elements like lists + */ + +.uk-grid { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin: 0; + padding: 0; + list-style: none; +} + +/* + * DEPRECATED + * Micro clearfix + * Can't use `table` because it creates a 1px gap when it becomes a flex item, only in Webkit + */ + +.uk-grid:before, +.uk-grid:after { + content: ""; + display: block; + overflow: hidden; +} + +.uk-grid:after { clear: both; } + +/* + * Grid cell + * 1. Space is allocated solely based on content dimensions + * 2. Makes grid more robust so that it can be used with other block elements + * 3. DEPRECATED Using `float` to support IE9 + */ + +.uk-grid > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + margin: 0; + /* 3 */ + float: left; +} + +/* + * Remove margin from the last-child + */ + +.uk-grid > * > :last-child { margin-bottom: 0; } + + +/* Grid gutter + ========================================================================== */ + +/* + * Default gutter + */ + +/* Horizontal */ +.uk-grid { margin-left: -@grid-gutter-horizontal; } +.uk-grid > * { padding-left: @grid-gutter-horizontal; } + +/* Vertical */ +.uk-grid + .uk-grid, +.uk-grid-margin, +.uk-grid > * > .uk-panel + .uk-panel { margin-top: @grid-gutter-vertical; } + +/* Large screen and bigger */ +@media (min-width: @breakpoint-xlarge) { + + /* Horizontal */ + .uk-grid { margin-left: -@grid-gutter-large-horizontal; } + .uk-grid > * { padding-left: @grid-gutter-large-horizontal; } + + /* Vertical */ + .uk-grid + .uk-grid, + .uk-grid-margin, + .uk-grid > * > .uk-panel + .uk-panel { margin-top: @grid-gutter-large-vertical; } + +} + +/* + * Collapse gutter + */ + +/* Horizontal */ +.uk-grid-collapse { margin-left: 0; } +.uk-grid-collapse > * { padding-left: 0; } + +/* Vertical */ +.uk-grid-collapse + .uk-grid-collapse, +.uk-grid-collapse > .uk-grid-margin, +.uk-grid-collapse > * > .uk-panel + .uk-panel { margin-top: 0; } + +/* + * Small gutter + */ + +/* Horizontal */ +.uk-grid-small { margin-left: -@grid-gutter-small-horizontal; } +.uk-grid-small > * { padding-left: @grid-gutter-small-horizontal; } + +/* Vertical */ +.uk-grid-small + .uk-grid-small, +.uk-grid-small > .uk-grid-margin, +.uk-grid-small > * > .uk-panel + .uk-panel { margin-top: @grid-gutter-small-vertical; } + +/* + * Medium gutter + */ + +/* Horizontal */ +.uk-grid-medium { margin-left: -@grid-gutter-horizontal; } +.uk-grid-medium > * { padding-left: @grid-gutter-horizontal; } + +/* Vertical */ +.uk-grid-medium + .uk-grid-medium, +.uk-grid-medium > .uk-grid-margin, +.uk-grid-medium > * > .uk-panel + .uk-panel { margin-top: @grid-gutter-vertical; } + + +/* + * Large gutter + */ + +/* Large screen and bigger */ +@media (min-width: @breakpoint-large) { + + /* Horizontal */ + .uk-grid-large { margin-left: -@grid-gutter-large-horizontal; } + .uk-grid-large > * { padding-left: @grid-gutter-large-horizontal; } + + /* Vertical */ + .uk-grid-large + .uk-grid-large, + .uk-grid-large-margin, + .uk-grid-large > * > .uk-panel + .uk-panel { margin-top: @grid-gutter-large-vertical; } + +} + +/* Extra Large screens */ +@media (min-width: @breakpoint-xlarge) { + + /* Horizontal */ + .uk-grid-large { margin-left: -@grid-gutter-xlarge-horizontal; } + .uk-grid-large > * { padding-left: @grid-gutter-xlarge-horizontal; } + + /* Vertical */ + .uk-grid-large + .uk-grid-large, + .uk-grid-large-margin, + .uk-grid-large > * > .uk-panel + .uk-panel { margin-top: @grid-gutter-xlarge-vertical; } + +} + + +/* Modifier: `uk-grid-divider` + ========================================================================== */ + +/* + * Horizontal divider + * Only works with the default gutter. Does not work with gutter collapse, small or large. + * Does not work with `uk-push-*`, `uk-pull-*` and not if the columns float into the next row. + */ + +.uk-grid-divider:not(:empty) { + margin-left: -@grid-gutter-horizontal; + margin-right: -@grid-gutter-horizontal; +} + +.uk-grid-divider > * { + padding-left: @grid-gutter-horizontal; + padding-right: @grid-gutter-horizontal; +} + +.uk-grid-divider > [class*='uk-width-1-']:not(.uk-width-1-1):nth-child(n+2), +.uk-grid-divider > [class*='uk-width-2-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-3-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-4-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-5-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-6-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-7-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-8-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-9-']:nth-child(n+2) { border-left: @grid-divider-border-width solid @grid-divider-border; } + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + .uk-grid-divider > [class*='uk-width-medium-']:not(.uk-width-medium-1-1):nth-child(n+2) { border-left: @grid-divider-border-width solid @grid-divider-border; } + +} + +/* Desktop and bigger */ +@media (min-width: @breakpoint-large) { + + .uk-grid-divider > [class*='uk-width-large-']:not(.uk-width-large-1-1):nth-child(n+2) { border-left: @grid-divider-border-width solid @grid-divider-border; } + +} + +/* Large screen and bigger */ +@media (min-width: @breakpoint-xlarge) { + + /* + * Large gutter + */ + + .uk-grid-divider:not(:empty) { + margin-left: -@grid-gutter-large-horizontal; + margin-right: -@grid-gutter-large-horizontal; + } + + .uk-grid-divider > * { + padding-left: @grid-gutter-large-horizontal; + padding-right: @grid-gutter-large-horizontal; + } + + .uk-grid-divider:empty { + margin-top: @grid-gutter-large-vertical; + margin-bottom: @grid-gutter-large-vertical; + } + +} + +/* + * Vertical divider + */ + +.uk-grid-divider:empty { + margin-top: @grid-gutter-vertical; + margin-bottom: @grid-gutter-vertical; + border-top: @grid-divider-border-width solid @grid-divider-border; +} + +/* Match panels in grids + ========================================================================== */ + +/* + * 1. Behave like a block element + */ + +.uk-grid-match > * { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + /* 1 */ + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; +} + +.uk-grid-match > * > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + box-sizing: border-box; + width: 100%; +} + + +/* Even grid cell widths + ========================================================================== */ + +[class*='uk-grid-width'] > * { + box-sizing: border-box; + width: 100%; +} + +.uk-grid-width-1-2 > * { width: 50%; } +.uk-grid-width-1-3 > * { width: 33.333%; } +.uk-grid-width-1-4 > * { width: 25%; } +.uk-grid-width-1-5 > * { width: 20%; } +.uk-grid-width-1-6 > * { width: 16.666%; } +.uk-grid-width-1-10 > * { width: 10%; } + +.uk-grid-width-auto > * { width: auto; } + +/* Phone landscape and bigger */ +@media (min-width: @breakpoint-small) { + + .uk-grid-width-small-1-1 > * { width: 100%; } + .uk-grid-width-small-1-2 > * { width: 50%; } + .uk-grid-width-small-1-3 > * { width: 33.333%; } + .uk-grid-width-small-1-4 > * { width: 25%; } + .uk-grid-width-small-1-5 > * { width: 20%; } + .uk-grid-width-small-1-6 > * { width: 16.666%; } + .uk-grid-width-small-1-10 > * { width: 10%; } + +} + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + .uk-grid-width-medium-1-1 > * { width: 100%; } + .uk-grid-width-medium-1-2 > * { width: 50%; } + .uk-grid-width-medium-1-3 > * { width: 33.333%; } + .uk-grid-width-medium-1-4 > * { width: 25%; } + .uk-grid-width-medium-1-5 > * { width: 20%; } + .uk-grid-width-medium-1-6 > * { width: 16.666%; } + .uk-grid-width-medium-1-10 > * { width: 10%; } + +} + +/* Desktop and bigger */ +@media (min-width: @breakpoint-large) { + + .uk-grid-width-large-1-1 > * { width: 100%; } + .uk-grid-width-large-1-2 > * { width: 50%; } + .uk-grid-width-large-1-3 > * { width: 33.333%; } + .uk-grid-width-large-1-4 > * { width: 25%; } + .uk-grid-width-large-1-5 > * { width: 20%; } + .uk-grid-width-large-1-6 > * { width: 16.666%; } + .uk-grid-width-large-1-10 > * { width: 10%; } + +} + +/* Large screen and bigger */ +@media (min-width: @breakpoint-xlarge) { + + .uk-grid-width-xlarge-1-1 > * { width: 100%; } + .uk-grid-width-xlarge-1-2 > * { width: 50%; } + .uk-grid-width-xlarge-1-3 > * { width: 33.333%; } + .uk-grid-width-xlarge-1-4 > * { width: 25%; } + .uk-grid-width-xlarge-1-5 > * { width: 20%; } + .uk-grid-width-xlarge-1-6 > * { width: 16.666%; } + .uk-grid-width-xlarge-1-10 > * { width: 10%; } + +} + + +/* Sub-objects: `uk-width-*` + ========================================================================== */ + +[class*='uk-width'] { + box-sizing: border-box; + width: 100%; +} + +/* + * Widths + */ + +/* Whole */ +.uk-width-1-1 { width: 100%; } + +/* Halves */ +.uk-width-1-2, +.uk-width-2-4, +.uk-width-3-6, +.uk-width-5-10 { width: 50%; } + +/* Thirds */ +.uk-width-1-3, +.uk-width-2-6 { width: 33.333%; } +.uk-width-2-3, +.uk-width-4-6 { width: 66.666%; } + +/* Quarters */ +.uk-width-1-4 { width: 25%; } +.uk-width-3-4 { width: 75%; } + +/* Fifths */ +.uk-width-1-5, +.uk-width-2-10 { width: 20%; } +.uk-width-2-5, +.uk-width-4-10 { width: 40%; } +.uk-width-3-5, +.uk-width-6-10 { width: 60%; } +.uk-width-4-5, +.uk-width-8-10 { width: 80%; } + +/* Sixths */ +.uk-width-1-6 { width: 16.666%; } +.uk-width-5-6 { width: 83.333%; } + +/* Tenths */ +.uk-width-1-10 { width: 10%; } +.uk-width-3-10 { width: 30%; } +.uk-width-7-10 { width: 70%; } +.uk-width-9-10 { width: 90%; } + +/* Phone landscape and bigger */ +@media (min-width: @breakpoint-small) { + + /* Whole */ + .uk-width-small-1-1 { width: 100%; } + + /* Halves */ + .uk-width-small-1-2, + .uk-width-small-2-4, + .uk-width-small-3-6, + .uk-width-small-5-10 { width: 50%; } + + /* Thirds */ + .uk-width-small-1-3, + .uk-width-small-2-6 { width: 33.333%; } + .uk-width-small-2-3, + .uk-width-small-4-6 { width: 66.666%; } + + /* Quarters */ + .uk-width-small-1-4 { width: 25%; } + .uk-width-small-3-4 { width: 75%; } + + /* Fifths */ + .uk-width-small-1-5, + .uk-width-small-2-10 { width: 20%; } + .uk-width-small-2-5, + .uk-width-small-4-10 { width: 40%; } + .uk-width-small-3-5, + .uk-width-small-6-10 { width: 60%; } + .uk-width-small-4-5, + .uk-width-small-8-10 { width: 80%; } + + /* Sixths */ + .uk-width-small-1-6 { width: 16.666%; } + .uk-width-small-5-6 { width: 83.333%; } + + /* Tenths */ + .uk-width-small-1-10 { width: 10%; } + .uk-width-small-3-10 { width: 30%; } + .uk-width-small-7-10 { width: 70%; } + .uk-width-small-9-10 { width: 90%; } + +} + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + /* Whole */ + .uk-width-medium-1-1 { width: 100%; } + + /* Halves */ + .uk-width-medium-1-2, + .uk-width-medium-2-4, + .uk-width-medium-3-6, + .uk-width-medium-5-10 { width: 50%; } + + /* Thirds */ + .uk-width-medium-1-3, + .uk-width-medium-2-6 { width: 33.333%; } + .uk-width-medium-2-3, + .uk-width-medium-4-6 { width: 66.666%; } + + /* Quarters */ + .uk-width-medium-1-4 { width: 25%; } + .uk-width-medium-3-4 { width: 75%; } + + /* Fifths */ + .uk-width-medium-1-5, + .uk-width-medium-2-10 { width: 20%; } + .uk-width-medium-2-5, + .uk-width-medium-4-10 { width: 40%; } + .uk-width-medium-3-5, + .uk-width-medium-6-10 { width: 60%; } + .uk-width-medium-4-5, + .uk-width-medium-8-10 { width: 80%; } + + /* Sixths */ + .uk-width-medium-1-6 { width: 16.666%; } + .uk-width-medium-5-6 { width: 83.333%; } + + /* Tenths */ + .uk-width-medium-1-10 { width: 10%; } + .uk-width-medium-3-10 { width: 30%; } + .uk-width-medium-7-10 { width: 70%; } + .uk-width-medium-9-10 { width: 90%; } + +} + +/* Desktop and bigger */ +@media (min-width: @breakpoint-large) { + + /* Whole */ + .uk-width-large-1-1 { width: 100%; } + + /* Halves */ + .uk-width-large-1-2, + .uk-width-large-2-4, + .uk-width-large-3-6, + .uk-width-large-5-10 { width: 50%; } + + /* Thirds */ + .uk-width-large-1-3, + .uk-width-large-2-6 { width: 33.333%; } + .uk-width-large-2-3, + .uk-width-large-4-6 { width: 66.666%; } + + /* Quarters */ + .uk-width-large-1-4 { width: 25%; } + .uk-width-large-3-4 { width: 75%; } + + /* Fifths */ + .uk-width-large-1-5, + .uk-width-large-2-10 { width: 20%; } + .uk-width-large-2-5, + .uk-width-large-4-10 { width: 40%; } + .uk-width-large-3-5, + .uk-width-large-6-10 { width: 60%; } + .uk-width-large-4-5, + .uk-width-large-8-10 { width: 80%; } + + /* Sixths */ + .uk-width-large-1-6 { width: 16.666%; } + .uk-width-large-5-6 { width: 83.333%; } + + /* Tenths */ + .uk-width-large-1-10 { width: 10%; } + .uk-width-large-3-10 { width: 30%; } + .uk-width-large-7-10 { width: 70%; } + .uk-width-large-9-10 { width: 90%; } + +} + +/* Large screen and bigger */ +@media (min-width: @breakpoint-xlarge) { + + /* Whole */ + .uk-width-xlarge-1-1 { width: 100%; } + + /* Halves */ + .uk-width-xlarge-1-2, + .uk-width-xlarge-2-4, + .uk-width-xlarge-3-6, + .uk-width-xlarge-5-10 { width: 50%; } + + /* Thirds */ + .uk-width-xlarge-1-3, + .uk-width-xlarge-2-6 { width: 33.333%; } + .uk-width-xlarge-2-3, + .uk-width-xlarge-4-6 { width: 66.666%; } + + /* Quarters */ + .uk-width-xlarge-1-4 { width: 25%; } + .uk-width-xlarge-3-4 { width: 75%; } + + /* Fifths */ + .uk-width-xlarge-1-5, + .uk-width-xlarge-2-10 { width: 20%; } + .uk-width-xlarge-2-5, + .uk-width-xlarge-4-10 { width: 40%; } + .uk-width-xlarge-3-5, + .uk-width-xlarge-6-10 { width: 60%; } + .uk-width-xlarge-4-5, + .uk-width-xlarge-8-10 { width: 80%; } + + /* Sixths */ + .uk-width-xlarge-1-6 { width: 16.666%; } + .uk-width-xlarge-5-6 { width: 83.333%; } + + /* Tenths */ + .uk-width-xlarge-1-10 { width: 10%; } + .uk-width-xlarge-3-10 { width: 30%; } + .uk-width-xlarge-7-10 { width: 70%; } + .uk-width-xlarge-9-10 { width: 90%; } + +} + + +/* Sub-object: `uk-push-*` and `uk-pull-*` + ========================================================================== */ + +/* + * Source ordering + * Works only with `uk-width-medium-*` + */ + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + [class*='uk-push-'], + [class*='uk-pull-'] { position: relative; } + + /* + * Push + */ + + /* Halves */ + .uk-push-1-2, + .uk-push-2-4, + .uk-push-3-6, + .uk-push-5-10 { left: 50%; } + + /* Thirds */ + .uk-push-1-3, + .uk-push-2-6 { left: 33.333%; } + .uk-push-2-3, + .uk-push-4-6 { left: 66.666%; } + + /* Quarters */ + .uk-push-1-4 { left: 25%; } + .uk-push-3-4 { left: 75%; } + + /* Fifths */ + .uk-push-1-5, + .uk-push-2-10 { left: 20%; } + .uk-push-2-5, + .uk-push-4-10 { left: 40%; } + .uk-push-3-5, + .uk-push-6-10 { left: 60%; } + .uk-push-4-5, + .uk-push-8-10 { left: 80%; } + + /* Sixths */ + .uk-push-1-6 { left: 16.666%; } + .uk-push-5-6 { left: 83.333%; } + + /* Tenths */ + .uk-push-1-10 { left: 10%; } + .uk-push-3-10 { left: 30%; } + .uk-push-7-10 { left: 70%; } + .uk-push-9-10 { left: 90%; } + + /* + * Pull + */ + + /* Halves */ + .uk-pull-1-2, + .uk-pull-2-4, + .uk-pull-3-6, + .uk-pull-5-10 { left: -50%; } + + /* Thirds */ + .uk-pull-1-3, + .uk-pull-2-6 { left: -33.333%; } + .uk-pull-2-3, + .uk-pull-4-6 { left: -66.666%; } + + /* Quarters */ + .uk-pull-1-4 { left: -25%; } + .uk-pull-3-4 { left: -75%; } + + /* Fifths */ + .uk-pull-1-5, + .uk-pull-2-10 { left: -20%; } + .uk-pull-2-5, + .uk-pull-4-10 { left: -40%; } + .uk-pull-3-5, + .uk-pull-6-10 { left: -60%; } + .uk-pull-4-5, + .uk-pull-8-10 { left: -80%; } + + /* Sixths */ + .uk-pull-1-6 { left: -16.666%; } + .uk-pull-5-6 { left: -83.333%; } + + /* Tenths */ + .uk-pull-1-10 { left: -10%; } + .uk-pull-3-10 { left: -30%; } + .uk-pull-7-10 { left: -70%; } + .uk-pull-9-10 { left: -90%; } + +} + + +// Hooks +// ======================================================================== + +.hook-grid-misc; + +.hook-grid-misc() {} diff --git a/bower_components/uikit/less/core/icon.less b/bower_components/uikit/less/core/icon.less new file mode 100644 index 0000000..89976a3 --- /dev/null +++ b/bower_components/uikit/less/core/icon.less @@ -0,0 +1,989 @@ +// Name: Icon +// Description: Defines styles for icons +// +// Adapted from http://fortawesome.github.com/Font-Awesome (Version 4.6.0) +// +// Component: `uk-icon-*` +// +// Sub-objects: `uk-icon-hover` +// `uk-icon-button` +// +// Modifiers: `uk-icon-small` +// `uk-icon-medium` +// `uk-icon-large` +// `uk-icon-justify` +// `uk-icon-spin` +// +// Uses: Animation +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@icon-font-path: "../fonts"; + +@icon-small-font-size: 150%; +@icon-medium-font-size: 200%; +@icon-large-font-size: 250%; + +@icon-small-vertical-align: -10%; +@icon-medium-vertical-align: -16%; +@icon-large-vertical-align: -22%; + +@icon-hover-color: #999; +@icon-hover-hover-color: #444; + +@icon-button-width: 35px; +@icon-button-height: @icon-button-width; +@icon-button-border-radius: 100%; +@icon-button-background: #eee; +@icon-button-font-size: round((@icon-button-width * 0.5)); +@icon-button-color: #444; + +@icon-button-hover-background: #f5f5f5; +@icon-button-hover-color: #444; + +@icon-button-active-background: #ddd; +@icon-button-active-color: #444; + + +/* ======================================================================== + Component: Icon + ========================================================================== */ + +@font-face { + font-family: 'FontAwesome'; + src: url("@{icon-font-path}/fontawesome-webfont.woff2") format('woff2'), + url("@{icon-font-path}/fontawesome-webfont.woff") format("woff"), + url("@{icon-font-path}/fontawesome-webfont.ttf") format("truetype"); + font-weight: normal; + font-style: normal; +} + +/* + * 1. Allow margin + * 2. Prevent inherit font style + * 4. Correct line-height + * 5. Better font rendering + * 6. Remove `text-decoration` for anchors + */ + +[class*='uk-icon-'] { + font-family: FontAwesome; + /* 1 */ + display: inline-block; + /* 2 */ + font-weight: normal; + font-style: normal; + /* 4 */ + line-height: 1; + /* 5 */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* 6 */ +[class*='uk-icon-'], +[class*='uk-icon-']:hover, +[class*='uk-icon-']:focus { text-decoration: none; } + + +/* Size modifiers + ========================================================================== */ + +.uk-icon-small { + font-size: @icon-small-font-size; + vertical-align: @icon-small-vertical-align; +} + +.uk-icon-medium { + font-size: @icon-medium-font-size; + vertical-align: @icon-medium-vertical-align; +} + +.uk-icon-large { + font-size: @icon-large-font-size; + vertical-align: @icon-large-vertical-align; +} + + +/* Modifier: `uk-icon-justify` + ========================================================================== */ + +.uk-icon-justify { + width: 1em; + text-align: center; +} + + +/* Modifier: `uk-icon-spin` + ========================================================================== */ + +.uk-icon-spin { + display: inline-block; + -webkit-animation: uk-rotate 2s infinite linear; + animation: uk-rotate 2s infinite linear; +} + + +/* Modifier: `uk-icon-hover` + ========================================================================== */ + +.uk-icon-hover { + color: @icon-hover-color; + .hook-icon-hover; +} + +/* + * Hover + */ + +.uk-icon-hover:hover { + color: @icon-hover-hover-color; + .hook-icon-hover-hover; +} + + +/* Modifier: `uk-icon-button` + ========================================================================== */ + +.uk-icon-button { + box-sizing: border-box; + display: inline-block; + width: @icon-button-width; + height: @icon-button-height; + border-radius: @icon-button-border-radius; + background: @icon-button-background; + line-height: @icon-button-height; + color: @icon-button-color; + font-size: @icon-button-font-size; + text-align: center; + .hook-icon-button; +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-icon-button:hover, +.uk-icon-button:focus { // 1 + background-color: @icon-button-hover-background; + color: @icon-button-hover-color; + /* 2 */ + outline: none; + .hook-icon-button-hover; +} + +/* Active */ +.uk-icon-button:active { + background-color: @icon-button-active-background; + color: @icon-button-active-color; + .hook-icon-button-active; +} + + +/* Icon mapping + ========================================================================== */ + +.uk-icon-glass:before { content: "\f000"; } +.uk-icon-music:before { content: "\f001"; } +.uk-icon-search:before { content: "\f002"; } +.uk-icon-envelope-o:before { content: "\f003"; } +.uk-icon-heart:before { content: "\f004"; } +.uk-icon-star:before { content: "\f005"; } +.uk-icon-star-o:before { content: "\f006"; } +.uk-icon-user:before { content: "\f007"; } +.uk-icon-film:before { content: "\f008"; } +.uk-icon-th-large:before { content: "\f009"; } +.uk-icon-th:before { content: "\f00a"; } +.uk-icon-th-list:before { content: "\f00b"; } +.uk-icon-check:before { content: "\f00c"; } +.uk-icon-remove:before, +.uk-icon-close:before, +.uk-icon-times:before { content: "\f00d"; } +.uk-icon-search-plus:before { content: "\f00e"; } +.uk-icon-search-minus:before { content: "\f010"; } +.uk-icon-power-off:before { content: "\f011"; } +.uk-icon-signal:before { content: "\f012"; } +.uk-icon-gear:before, +.uk-icon-cog:before { content: "\f013"; } +.uk-icon-trash-o:before { content: "\f014"; } +.uk-icon-home:before { content: "\f015"; } +.uk-icon-file-o:before { content: "\f016"; } +.uk-icon-clock-o:before { content: "\f017"; } +.uk-icon-road:before { content: "\f018"; } +.uk-icon-download:before { content: "\f019"; } +.uk-icon-arrow-circle-o-down:before { content: "\f01a"; } +.uk-icon-arrow-circle-o-up:before { content: "\f01b"; } +.uk-icon-inbox:before { content: "\f01c"; } +.uk-icon-play-circle-o:before { content: "\f01d"; } +.uk-icon-rotate-right:before, +.uk-icon-repeat:before { content: "\f01e"; } +.uk-icon-refresh:before { content: "\f021"; } +.uk-icon-list-alt:before { content: "\f022"; } +.uk-icon-lock:before { content: "\f023"; } +.uk-icon-flag:before { content: "\f024"; } +.uk-icon-headphones:before { content: "\f025"; } +.uk-icon-volume-off:before { content: "\f026"; } +.uk-icon-volume-down:before { content: "\f027"; } +.uk-icon-volume-up:before { content: "\f028"; } +.uk-icon-qrcode:before { content: "\f029"; } +.uk-icon-barcode:before { content: "\f02a"; } +.uk-icon-tag:before { content: "\f02b"; } +.uk-icon-tags:before { content: "\f02c"; } +.uk-icon-book:before { content: "\f02d"; } +.uk-icon-bookmark:before { content: "\f02e"; } +.uk-icon-print:before { content: "\f02f"; } +.uk-icon-camera:before { content: "\f030"; } +.uk-icon-font:before { content: "\f031"; } +.uk-icon-bold:before { content: "\f032"; } +.uk-icon-italic:before { content: "\f033"; } +.uk-icon-text-height:before { content: "\f034"; } +.uk-icon-text-width:before { content: "\f035"; } +.uk-icon-align-left:before { content: "\f036"; } +.uk-icon-align-center:before { content: "\f037"; } +.uk-icon-align-right:before { content: "\f038"; } +.uk-icon-align-justify:before { content: "\f039"; } +.uk-icon-list:before { content: "\f03a"; } +.uk-icon-dedent:before, +.uk-icon-outdent:before { content: "\f03b"; } +.uk-icon-indent:before { content: "\f03c"; } +.uk-icon-video-camera:before { content: "\f03d"; } +.uk-icon-photo:before, +.uk-icon-image:before, +.uk-icon-picture-o:before { content: "\f03e"; } +.uk-icon-pencil:before { content: "\f040"; } +.uk-icon-map-marker:before { content: "\f041"; } +.uk-icon-adjust:before { content: "\f042"; } +.uk-icon-tint:before { content: "\f043"; } +.uk-icon-edit:before, +.uk-icon-pencil-square-o:before { content: "\f044"; } +.uk-icon-share-square-o:before { content: "\f045"; } +.uk-icon-check-square-o:before { content: "\f046"; } +.uk-icon-arrows:before { content: "\f047"; } +.uk-icon-step-backward:before { content: "\f048"; } +.uk-icon-fast-backward:before { content: "\f049"; } +.uk-icon-backward:before { content: "\f04a"; } +.uk-icon-play:before { content: "\f04b"; } +.uk-icon-pause:before { content: "\f04c"; } +.uk-icon-stop:before { content: "\f04d"; } +.uk-icon-forward:before { content: "\f04e"; } +.uk-icon-fast-forward:before { content: "\f050"; } +.uk-icon-step-forward:before { content: "\f051"; } +.uk-icon-eject:before { content: "\f052"; } +.uk-icon-chevron-left:before { content: "\f053"; } +.uk-icon-chevron-right:before { content: "\f054"; } +.uk-icon-plus-circle:before { content: "\f055"; } +.uk-icon-minus-circle:before { content: "\f056"; } +.uk-icon-times-circle:before { content: "\f057"; } +.uk-icon-check-circle:before { content: "\f058"; } +.uk-icon-question-circle:before { content: "\f059"; } +.uk-icon-info-circle:before { content: "\f05a"; } +.uk-icon-crosshairs:before { content: "\f05b"; } +.uk-icon-times-circle-o:before { content: "\f05c"; } +.uk-icon-check-circle-o:before { content: "\f05d"; } +.uk-icon-ban:before { content: "\f05e"; } +.uk-icon-arrow-left:before { content: "\f060"; } +.uk-icon-arrow-right:before { content: "\f061"; } +.uk-icon-arrow-up:before { content: "\f062"; } +.uk-icon-arrow-down:before { content: "\f063"; } +.uk-icon-mail-forward:before, +.uk-icon-share:before { content: "\f064"; } +.uk-icon-expand:before { content: "\f065"; } +.uk-icon-compress:before { content: "\f066"; } +.uk-icon-plus:before { content: "\f067"; } +.uk-icon-minus:before { content: "\f068"; } +.uk-icon-asterisk:before { content: "\f069"; } +.uk-icon-exclamation-circle:before { content: "\f06a"; } +.uk-icon-gift:before { content: "\f06b"; } +.uk-icon-leaf:before { content: "\f06c"; } +.uk-icon-fire:before { content: "\f06d"; } +.uk-icon-eye:before { content: "\f06e"; } +.uk-icon-eye-slash:before { content: "\f070"; } +.uk-icon-warning:before, +.uk-icon-exclamation-triangle:before { content: "\f071"; } +.uk-icon-plane:before { content: "\f072"; } +.uk-icon-calendar:before { content: "\f073"; } +.uk-icon-random:before { content: "\f074"; } +.uk-icon-comment:before { content: "\f075"; } +.uk-icon-magnet:before { content: "\f076"; } +.uk-icon-chevron-up:before { content: "\f077"; } +.uk-icon-chevron-down:before { content: "\f078"; } +.uk-icon-retweet:before { content: "\f079"; } +.uk-icon-shopping-cart:before { content: "\f07a"; } +.uk-icon-folder:before { content: "\f07b"; } +.uk-icon-folder-open:before { content: "\f07c"; } +.uk-icon-arrows-v:before { content: "\f07d"; } +.uk-icon-arrows-h:before { content: "\f07e"; } +.uk-icon-bar-chart-o:before, +.uk-icon-bar-chart:before { content: "\f080"; } +.uk-icon-twitter-square:before { content: "\f081"; } +.uk-icon-facebook-square:before { content: "\f082"; } +.uk-icon-camera-retro:before { content: "\f083"; } +.uk-icon-key:before { content: "\f084"; } +.uk-icon-gears:before, +.uk-icon-cogs:before { content: "\f085"; } +.uk-icon-comments:before { content: "\f086"; } +.uk-icon-thumbs-o-up:before { content: "\f087"; } +.uk-icon-thumbs-o-down:before { content: "\f088"; } +.uk-icon-star-half:before { content: "\f089"; } +.uk-icon-heart-o:before { content: "\f08a"; } +.uk-icon-sign-out:before { content: "\f08b"; } +.uk-icon-linkedin-square:before { content: "\f08c"; } +.uk-icon-thumb-tack:before { content: "\f08d"; } +.uk-icon-external-link:before { content: "\f08e"; } +.uk-icon-sign-in:before { content: "\f090"; } +.uk-icon-trophy:before { content: "\f091"; } +.uk-icon-github-square:before { content: "\f092"; } +.uk-icon-upload:before { content: "\f093"; } +.uk-icon-lemon-o:before { content: "\f094"; } +.uk-icon-phone:before { content: "\f095"; } +.uk-icon-square-o:before { content: "\f096"; } +.uk-icon-bookmark-o:before { content: "\f097"; } +.uk-icon-phone-square:before { content: "\f098"; } +.uk-icon-twitter:before { content: "\f099"; } +.uk-icon-facebook-f:before, +.uk-icon-facebook:before { content: "\f09a"; } +.uk-icon-github:before { content: "\f09b"; } +.uk-icon-unlock:before { content: "\f09c"; } +.uk-icon-credit-card:before { content: "\f09d"; } +.uk-icon-rss:before { content: "\f09e"; } +.uk-icon-hdd-o:before { content: "\f0a0"; } +.uk-icon-bullhorn:before { content: "\f0a1"; } +.uk-icon-bell:before { content: "\f0f3"; } +.uk-icon-certificate:before { content: "\f0a3"; } +.uk-icon-hand-o-right:before { content: "\f0a4"; } +.uk-icon-hand-o-left:before { content: "\f0a5"; } +.uk-icon-hand-o-up:before { content: "\f0a6"; } +.uk-icon-hand-o-down:before { content: "\f0a7"; } +.uk-icon-arrow-circle-left:before { content: "\f0a8"; } +.uk-icon-arrow-circle-right:before { content: "\f0a9"; } +.uk-icon-arrow-circle-up:before { content: "\f0aa"; } +.uk-icon-arrow-circle-down:before { content: "\f0ab"; } +.uk-icon-globe:before { content: "\f0ac"; } +.uk-icon-wrench:before { content: "\f0ad"; } +.uk-icon-tasks:before { content: "\f0ae"; } +.uk-icon-filter:before { content: "\f0b0"; } +.uk-icon-briefcase:before { content: "\f0b1"; } +.uk-icon-arrows-alt:before { content: "\f0b2"; } +.uk-icon-group:before, +.uk-icon-users:before { content: "\f0c0"; } +.uk-icon-chain:before, +.uk-icon-link:before { content: "\f0c1"; } +.uk-icon-cloud:before { content: "\f0c2"; } +.uk-icon-flask:before { content: "\f0c3"; } +.uk-icon-cut:before, +.uk-icon-scissors:before { content: "\f0c4"; } +.uk-icon-copy:before, +.uk-icon-files-o:before { content: "\f0c5"; } +.uk-icon-paperclip:before { content: "\f0c6"; } +.uk-icon-save:before, +.uk-icon-floppy-o:before { content: "\f0c7"; } +.uk-icon-square:before { content: "\f0c8"; } +.uk-icon-navicon:before, +.uk-icon-reorder:before, +.uk-icon-bars:before { content: "\f0c9"; } +.uk-icon-list-ul:before { content: "\f0ca"; } +.uk-icon-list-ol:before { content: "\f0cb"; } +.uk-icon-strikethrough:before { content: "\f0cc"; } +.uk-icon-underline:before { content: "\f0cd"; } +.uk-icon-table:before { content: "\f0ce"; } +.uk-icon-magic:before { content: "\f0d0"; } +.uk-icon-truck:before { content: "\f0d1"; } +.uk-icon-pinterest:before { content: "\f0d2"; } +.uk-icon-pinterest-square:before { content: "\f0d3"; } +.uk-icon-google-plus-square:before { content: "\f0d4"; } +.uk-icon-google-plus:before { content: "\f0d5"; } +.uk-icon-money:before { content: "\f0d6"; } +.uk-icon-caret-down:before { content: "\f0d7"; } +.uk-icon-caret-up:before { content: "\f0d8"; } +.uk-icon-caret-left:before { content: "\f0d9"; } +.uk-icon-caret-right:before { content: "\f0da"; } +.uk-icon-columns:before { content: "\f0db"; } +.uk-icon-unsorted:before, +.uk-icon-sort:before { content: "\f0dc"; } +.uk-icon-sort-down:before, +.uk-icon-sort-desc:before { content: "\f0dd"; } +.uk-icon-sort-up:before, +.uk-icon-sort-asc:before { content: "\f0de"; } +.uk-icon-envelope:before { content: "\f0e0"; } +.uk-icon-linkedin:before { content: "\f0e1"; } +.uk-icon-rotate-left:before, +.uk-icon-undo:before { content: "\f0e2"; } +.uk-icon-legal:before, +.uk-icon-gavel:before { content: "\f0e3"; } +.uk-icon-dashboard:before, +.uk-icon-tachometer:before { content: "\f0e4"; } +.uk-icon-comment-o:before { content: "\f0e5"; } +.uk-icon-comments-o:before { content: "\f0e6"; } +.uk-icon-flash:before, +.uk-icon-bolt:before { content: "\f0e7"; } +.uk-icon-sitemap:before { content: "\f0e8"; } +.uk-icon-umbrella:before { content: "\f0e9"; } +.uk-icon-paste:before, +.uk-icon-clipboard:before { content: "\f0ea"; } +.uk-icon-lightbulb-o:before { content: "\f0eb"; } +.uk-icon-exchange:before { content: "\f0ec"; } +.uk-icon-cloud-download:before { content: "\f0ed"; } +.uk-icon-cloud-upload:before { content: "\f0ee"; } +.uk-icon-user-md:before { content: "\f0f0"; } +.uk-icon-stethoscope:before { content: "\f0f1"; } +.uk-icon-suitcase:before { content: "\f0f2"; } +.uk-icon-bell-o:before { content: "\f0a2"; } +.uk-icon-coffee:before { content: "\f0f4"; } +.uk-icon-cutlery:before { content: "\f0f5"; } +.uk-icon-file-text-o:before { content: "\f0f6"; } +.uk-icon-building-o:before { content: "\f0f7"; } +.uk-icon-hospital-o:before { content: "\f0f8"; } +.uk-icon-ambulance:before { content: "\f0f9"; } +.uk-icon-medkit:before { content: "\f0fa"; } +.uk-icon-fighter-jet:before { content: "\f0fb"; } +.uk-icon-beer:before { content: "\f0fc"; } +.uk-icon-h-square:before { content: "\f0fd"; } +.uk-icon-plus-square:before { content: "\f0fe"; } +.uk-icon-angle-double-left:before { content: "\f100"; } +.uk-icon-angle-double-right:before { content: "\f101"; } +.uk-icon-angle-double-up:before { content: "\f102"; } +.uk-icon-angle-double-down:before { content: "\f103"; } +.uk-icon-angle-left:before { content: "\f104"; } +.uk-icon-angle-right:before { content: "\f105"; } +.uk-icon-angle-up:before { content: "\f106"; } +.uk-icon-angle-down:before { content: "\f107"; } +.uk-icon-desktop:before { content: "\f108"; } +.uk-icon-laptop:before { content: "\f109"; } +.uk-icon-tablet:before { content: "\f10a"; } +.uk-icon-mobile-phone:before, +.uk-icon-mobile:before { content: "\f10b"; } +.uk-icon-circle-o:before { content: "\f10c"; } +.uk-icon-quote-left:before { content: "\f10d"; } +.uk-icon-quote-right:before { content: "\f10e"; } +.uk-icon-spinner:before { content: "\f110"; } +.uk-icon-circle:before { content: "\f111"; } +.uk-icon-mail-reply:before, +.uk-icon-reply:before { content: "\f112"; } +.uk-icon-github-alt:before { content: "\f113"; } +.uk-icon-folder-o:before { content: "\f114"; } +.uk-icon-folder-open-o:before { content: "\f115"; } +.uk-icon-smile-o:before { content: "\f118"; } +.uk-icon-frown-o:before { content: "\f119"; } +.uk-icon-meh-o:before { content: "\f11a"; } +.uk-icon-gamepad:before { content: "\f11b"; } +.uk-icon-keyboard-o:before { content: "\f11c"; } +.uk-icon-flag-o:before { content: "\f11d"; } +.uk-icon-flag-checkered:before { content: "\f11e"; } +.uk-icon-terminal:before { content: "\f120"; } +.uk-icon-code:before { content: "\f121"; } +.uk-icon-mail-reply-all:before, +.uk-icon-reply-all:before { content: "\f122"; } +.uk-icon-star-half-empty:before, +.uk-icon-star-half-full:before, +.uk-icon-star-half-o:before { content: "\f123"; } +.uk-icon-location-arrow:before { content: "\f124"; } +.uk-icon-crop:before { content: "\f125"; } +.uk-icon-code-fork:before { content: "\f126"; } +.uk-icon-unlink:before, +.uk-icon-chain-broken:before { content: "\f127"; } +.uk-icon-question:before { content: "\f128"; } +.uk-icon-info:before { content: "\f129"; } +.uk-icon-exclamation:before { content: "\f12a"; } +.uk-icon-superscript:before { content: "\f12b"; } +.uk-icon-subscript:before { content: "\f12c"; } +.uk-icon-eraser:before { content: "\f12d"; } +.uk-icon-puzzle-piece:before { content: "\f12e"; } +.uk-icon-microphone:before { content: "\f130"; } +.uk-icon-microphone-slash:before { content: "\f131"; } +.uk-icon-shield:before { content: "\f132"; } +.uk-icon-calendar-o:before { content: "\f133"; } +.uk-icon-fire-extinguisher:before { content: "\f134"; } +.uk-icon-rocket:before { content: "\f135"; } +.uk-icon-maxcdn:before { content: "\f136"; } +.uk-icon-chevron-circle-left:before { content: "\f137"; } +.uk-icon-chevron-circle-right:before { content: "\f138"; } +.uk-icon-chevron-circle-up:before { content: "\f139"; } +.uk-icon-chevron-circle-down:before { content: "\f13a"; } +.uk-icon-html5:before { content: "\f13b"; } +.uk-icon-css3:before { content: "\f13c"; } +.uk-icon-anchor:before { content: "\f13d"; } +.uk-icon-unlock-alt:before { content: "\f13e"; } +.uk-icon-bullseye:before { content: "\f140"; } +.uk-icon-ellipsis-h:before { content: "\f141"; } +.uk-icon-ellipsis-v:before { content: "\f142"; } +.uk-icon-rss-square:before { content: "\f143"; } +.uk-icon-play-circle:before { content: "\f144"; } +.uk-icon-ticket:before { content: "\f145"; } +.uk-icon-minus-square:before { content: "\f146"; } +.uk-icon-minus-square-o:before { content: "\f147"; } +.uk-icon-level-up:before { content: "\f148"; } +.uk-icon-level-down:before { content: "\f149"; } +.uk-icon-check-square:before { content: "\f14a"; } +.uk-icon-pencil-square:before { content: "\f14b"; } +.uk-icon-external-link-square:before { content: "\f14c"; } +.uk-icon-share-square:before { content: "\f14d"; } +.uk-icon-compass:before { content: "\f14e"; } +.uk-icon-toggle-down:before, +.uk-icon-caret-square-o-down:before { content: "\f150"; } +.uk-icon-toggle-up:before, +.uk-icon-caret-square-o-up:before { content: "\f151"; } +.uk-icon-toggle-right:before, +.uk-icon-caret-square-o-right:before { content: "\f152"; } +.uk-icon-euro:before, +.uk-icon-eur:before { content: "\f153"; } +.uk-icon-gbp:before { content: "\f154"; } +.uk-icon-dollar:before, +.uk-icon-usd:before { content: "\f155"; } +.uk-icon-rupee:before, +.uk-icon-inr:before { content: "\f156"; } +.uk-icon-cny:before, +.uk-icon-rmb:before, +.uk-icon-yen:before, +.uk-icon-jpy:before { content: "\f157"; } +.uk-icon-ruble:before, +.uk-icon-rouble:before, +.uk-icon-rub:before { content: "\f158"; } +.uk-icon-won:before, +.uk-icon-krw:before { content: "\f159"; } +.uk-icon-bitcoin:before, +.uk-icon-btc:before { content: "\f15a"; } +.uk-icon-file:before { content: "\f15b"; } +.uk-icon-file-text:before { content: "\f15c"; } +.uk-icon-sort-alpha-asc:before { content: "\f15d"; } +.uk-icon-sort-alpha-desc:before { content: "\f15e"; } +.uk-icon-sort-amount-asc:before { content: "\f160"; } +.uk-icon-sort-amount-desc:before { content: "\f161"; } +.uk-icon-sort-numeric-asc:before { content: "\f162"; } +.uk-icon-sort-numeric-desc:before { content: "\f163"; } +.uk-icon-thumbs-up:before { content: "\f164"; } +.uk-icon-thumbs-down:before { content: "\f165"; } +.uk-icon-youtube-square:before { content: "\f166"; } +.uk-icon-youtube:before { content: "\f167"; } +.uk-icon-xing:before { content: "\f168"; } +.uk-icon-xing-square:before { content: "\f169"; } +.uk-icon-youtube-play:before { content: "\f16a"; } +.uk-icon-dropbox:before { content: "\f16b"; } +.uk-icon-stack-overflow:before { content: "\f16c"; } +.uk-icon-instagram:before { content: "\f16d"; } +.uk-icon-flickr:before { content: "\f16e"; } +.uk-icon-adn:before { content: "\f170"; } +.uk-icon-bitbucket:before { content: "\f171"; } +.uk-icon-bitbucket-square:before { content: "\f172"; } +.uk-icon-tumblr:before { content: "\f173"; } +.uk-icon-tumblr-square:before { content: "\f174"; } +.uk-icon-long-arrow-down:before { content: "\f175"; } +.uk-icon-long-arrow-up:before { content: "\f176"; } +.uk-icon-long-arrow-left:before { content: "\f177"; } +.uk-icon-long-arrow-right:before { content: "\f178"; } +.uk-icon-apple:before { content: "\f179"; } +.uk-icon-windows:before { content: "\f17a"; } +.uk-icon-android:before { content: "\f17b"; } +.uk-icon-linux:before { content: "\f17c"; } +.uk-icon-dribbble:before { content: "\f17d"; } +.uk-icon-skype:before { content: "\f17e"; } +.uk-icon-foursquare:before { content: "\f180"; } +.uk-icon-trello:before { content: "\f181"; } +.uk-icon-female:before { content: "\f182"; } +.uk-icon-male:before { content: "\f183"; } +.uk-icon-gittip:before, +.uk-icon-gratipay:before { content: "\f184"; } +.uk-icon-sun-o:before { content: "\f185"; } +.uk-icon-moon-o:before { content: "\f186"; } +.uk-icon-archive:before { content: "\f187"; } +.uk-icon-bug:before { content: "\f188"; } +.uk-icon-vk:before { content: "\f189"; } +.uk-icon-weibo:before { content: "\f18a"; } +.uk-icon-renren:before { content: "\f18b"; } +.uk-icon-pagelines:before { content: "\f18c"; } +.uk-icon-stack-exchange:before { content: "\f18d"; } +.uk-icon-arrow-circle-o-right:before { content: "\f18e"; } +.uk-icon-arrow-circle-o-left:before { content: "\f190"; } +.uk-icon-toggle-left:before, +.uk-icon-caret-square-o-left:before { content: "\f191"; } +.uk-icon-dot-circle-o:before { content: "\f192"; } +.uk-icon-wheelchair:before { content: "\f193"; } +.uk-icon-vimeo-square:before { content: "\f194"; } +.uk-icon-turkish-lira:before, +.uk-icon-try:before { content: "\f195"; } +.uk-icon-plus-square-o:before { content: "\f196"; } +.uk-icon-space-shuttle:before { content: "\f197"; } +.uk-icon-slack:before { content: "\f198"; } +.uk-icon-envelope-square:before { content: "\f199"; } +.uk-icon-wordpress:before { content: "\f19a"; } +.uk-icon-openid:before { content: "\f19b"; } +.uk-icon-institution:before, +.uk-icon-bank:before, +.uk-icon-university:before { content: "\f19c"; } +.uk-icon-mortar-board:before, +.uk-icon-graduation-cap:before { content: "\f19d"; } +.uk-icon-yahoo:before { content: "\f19e"; } +.uk-icon-google:before { content: "\f1a0"; } +.uk-icon-reddit:before { content: "\f1a1"; } +.uk-icon-reddit-square:before { content: "\f1a2"; } +.uk-icon-stumbleupon-circle:before { content: "\f1a3"; } +.uk-icon-stumbleupon:before { content: "\f1a4"; } +.uk-icon-delicious:before { content: "\f1a5"; } +.uk-icon-digg:before { content: "\f1a6"; } +.uk-icon-pied-piper:before { content: "\f1a7"; } +.uk-icon-pied-piper-alt:before { content: "\f1a8"; } +.uk-icon-drupal:before { content: "\f1a9"; } +.uk-icon-joomla:before { content: "\f1aa"; } +.uk-icon-language:before { content: "\f1ab"; } +.uk-icon-fax:before { content: "\f1ac"; } +.uk-icon-building:before { content: "\f1ad"; } +.uk-icon-child:before { content: "\f1ae"; } +.uk-icon-paw:before { content: "\f1b0"; } +.uk-icon-spoon:before { content: "\f1b1"; } +.uk-icon-cube:before { content: "\f1b2"; } +.uk-icon-cubes:before { content: "\f1b3"; } +.uk-icon-behance:before { content: "\f1b4"; } +.uk-icon-behance-square:before { content: "\f1b5"; } +.uk-icon-steam:before { content: "\f1b6"; } +.uk-icon-steam-square:before { content: "\f1b7"; } +.uk-icon-recycle:before { content: "\f1b8"; } +.uk-icon-automobile:before, +.uk-icon-car:before { content: "\f1b9"; } +.uk-icon-cab:before, +.uk-icon-taxi:before { content: "\f1ba"; } +.uk-icon-tree:before { content: "\f1bb"; } +.uk-icon-spotify:before { content: "\f1bc"; } +.uk-icon-deviantart:before { content: "\f1bd"; } +.uk-icon-soundcloud:before { content: "\f1be"; } +.uk-icon-database:before { content: "\f1c0"; } +.uk-icon-file-pdf-o:before { content: "\f1c1"; } +.uk-icon-file-word-o:before { content: "\f1c2"; } +.uk-icon-file-excel-o:before { content: "\f1c3"; } +.uk-icon-file-powerpoint-o:before { content: "\f1c4"; } +.uk-icon-file-photo-o:before, +.uk-icon-file-picture-o:before, +.uk-icon-file-image-o:before { content: "\f1c5"; } +.uk-icon-file-zip-o:before, +.uk-icon-file-archive-o:before { content: "\f1c6"; } +.uk-icon-file-sound-o:before, +.uk-icon-file-audio-o:before { content: "\f1c7"; } +.uk-icon-file-movie-o:before, +.uk-icon-file-video-o:before { content: "\f1c8"; } +.uk-icon-file-code-o:before { content: "\f1c9"; } +.uk-icon-vine:before { content: "\f1ca"; } +.uk-icon-codepen:before { content: "\f1cb"; } +.uk-icon-jsfiddle:before { content: "\f1cc"; } +.uk-icon-life-bouy:before, +.uk-icon-life-buoy:before, +.uk-icon-life-saver:before, +.uk-icon-support:before, +.uk-icon-life-ring:before { content: "\f1cd"; } +.uk-icon-circle-o-notch:before { content: "\f1ce"; } +.uk-icon-ra:before, +.uk-icon-rebel:before { content: "\f1d0"; } +.uk-icon-ge:before, +.uk-icon-empire:before { content: "\f1d1"; } +.uk-icon-git-square:before { content: "\f1d2"; } +.uk-icon-git:before { content: "\f1d3"; } +.uk-icon-hacker-news:before { content: "\f1d4"; } +.uk-icon-tencent-weibo:before { content: "\f1d5"; } +.uk-icon-qq:before { content: "\f1d6"; } +.uk-icon-wechat:before, +.uk-icon-weixin:before { content: "\f1d7"; } +.uk-icon-send:before, +.uk-icon-paper-plane:before { content: "\f1d8"; } +.uk-icon-send-o:before, +.uk-icon-paper-plane-o:before { content: "\f1d9"; } +.uk-icon-history:before { content: "\f1da"; } +.uk-icon-genderless:before, +.uk-icon-circle-thin:before { content: "\f1db"; } +.uk-icon-header:before { content: "\f1dc"; } +.uk-icon-paragraph:before { content: "\f1dd"; } +.uk-icon-sliders:before { content: "\f1de"; } +.uk-icon-share-alt:before { content: "\f1e0"; } +.uk-icon-share-alt-square:before { content: "\f1e1"; } +.uk-icon-bomb:before { content: "\f1e2"; } +.uk-icon-soccer-ball-o:before, +.uk-icon-futbol-o:before { content: "\f1e3"; } +.uk-icon-tty:before { content: "\f1e4"; } +.uk-icon-binoculars:before { content: "\f1e5"; } +.uk-icon-plug:before { content: "\f1e6"; } +.uk-icon-slideshare:before { content: "\f1e7"; } +.uk-icon-twitch:before { content: "\f1e8"; } +.uk-icon-yelp:before { content: "\f1e9"; } +.uk-icon-newspaper-o:before { content: "\f1ea"; } +.uk-icon-wifi:before { content: "\f1eb"; } +.uk-icon-calculator:before { content: "\f1ec"; } +.uk-icon-paypal:before { content: "\f1ed"; } +.uk-icon-google-wallet:before { content: "\f1ee"; } +.uk-icon-cc-visa:before { content: "\f1f0"; } +.uk-icon-cc-mastercard:before { content: "\f1f1"; } +.uk-icon-cc-discover:before { content: "\f1f2"; } +.uk-icon-cc-amex:before { content: "\f1f3"; } +.uk-icon-cc-paypal:before { content: "\f1f4"; } +.uk-icon-cc-stripe:before { content: "\f1f5"; } +.uk-icon-bell-slash:before { content: "\f1f6"; } +.uk-icon-bell-slash-o:before { content: "\f1f7"; } +.uk-icon-trash:before { content: "\f1f8"; } +.uk-icon-copyright:before { content: "\f1f9"; } +.uk-icon-at:before { content: "\f1fa"; } +.uk-icon-eyedropper:before { content: "\f1fb"; } +.uk-icon-paint-brush:before { content: "\f1fc"; } +.uk-icon-birthday-cake:before { content: "\f1fd"; } +.uk-icon-area-chart:before { content: "\f1fe"; } +.uk-icon-pie-chart:before { content: "\f200"; } +.uk-icon-line-chart:before { content: "\f201"; } +.uk-icon-lastfm:before { content: "\f202"; } +.uk-icon-lastfm-square:before { content: "\f203"; } +.uk-icon-toggle-off:before { content: "\f204"; } +.uk-icon-toggle-on:before { content: "\f205"; } +.uk-icon-bicycle:before { content: "\f206"; } +.uk-icon-bus:before { content: "\f207"; } +.uk-icon-ioxhost:before { content: "\f208"; } +.uk-icon-angellist:before { content: "\f209"; } +.uk-icon-cc:before { content: "\f20a"; } +.uk-icon-shekel:before, +.uk-icon-sheqel:before, +.uk-icon-ils:before { content: "\f20b"; } +.uk-icon-meanpath:before { content: "\f20c"; } +.uk-icon-buysellads:before { content: "\f20d"; } +.uk-icon-connectdevelop:before { content: "\f20e"; } +.uk-icon-dashcube:before { content: "\f210"; } +.uk-icon-forumbee:before { content: "\f211"; } +.uk-icon-leanpub:before { content: "\f212"; } +.uk-icon-sellsy:before { content: "\f213"; } +.uk-icon-shirtsinbulk:before { content: "\f214"; } +.uk-icon-simplybuilt:before { content: "\f215"; } +.uk-icon-skyatlas:before { content: "\f216"; } +.uk-icon-cart-plus:before { content: "\f217"; } +.uk-icon-cart-arrow-down:before { content: "\f218"; } +.uk-icon-diamond:before { content: "\f219"; } +.uk-icon-ship:before { content: "\f21a"; } +.uk-icon-user-secret:before { content: "\f21b"; } +.uk-icon-motorcycle:before { content: "\f21c"; } +.uk-icon-street-view:before { content: "\f21d"; } +.uk-icon-heartbeat:before { content: "\f21e"; } +.uk-icon-venus:before { content: "\f221"; } +.uk-icon-mars:before { content: "\f222"; } +.uk-icon-mercury:before { content: "\f223"; } +.uk-icon-transgender:before { content: "\f224"; } +.uk-icon-transgender-alt:before { content: "\f225"; } +.uk-icon-venus-double:before { content: "\f226"; } +.uk-icon-mars-double:before { content: "\f227"; } +.uk-icon-venus-mars:before { content: "\f228"; } +.uk-icon-mars-stroke:before { content: "\f229"; } +.uk-icon-mars-stroke-v:before { content: "\f22a"; } +.uk-icon-mars-stroke-h:before { content: "\f22b"; } +.uk-icon-neuter:before { content: "\f22c"; } +.uk-icon-facebook-official:before { content: "\f230"; } +.uk-icon-pinterest-p:before { content: "\f231"; } +.uk-icon-whatsapp:before { content: "\f232"; } +.uk-icon-server:before { content: "\f233"; } +.uk-icon-user-plus:before { content: "\f234"; } +.uk-icon-user-times:before { content: "\f235"; } +.uk-icon-hotel:before, +.uk-icon-bed:before { content: "\f236"; } +.uk-icon-viacoin:before { content: "\f237"; } +.uk-icon-train:before { content: "\f238"; } +.uk-icon-subway:before { content: "\f239"; } +.uk-icon-medium-logo:before { content: "\f23a"; } +.uk-icon-500px:before { content: "\f26e"; } +.uk-icon-amazon:before { content: "\f270"; } +.uk-icon-balance-scale:before { content: "\f24e"; } +.uk-icon-battery-empty:before, +.uk-icon-battery-0:before { content: "\f244"; } +.uk-icon-battery-quarter:before, +.uk-icon-battery-1:before { content: "\f243"; } +.uk-icon-battery-half:before, +.uk-icon-battery-2:before { content: "\f242"; } +.uk-icon-battery-three-quarters:before, +.uk-icon-battery-3:before { content: "\f241"; } +.uk-icon-battery-full:before, +.uk-icon-battery-4:before { content: "\f240"; } +.uk-icon-black-tie:before { content: "\f27e"; } +.uk-icon-calendar-check-o:before { content: "\f274"; } +.uk-icon-calendar-minus-o:before { content: "\f272"; } +.uk-icon-calendar-plus-o:before { content: "\f271"; } +.uk-icon-calendar-times-o:before { content: "\f273"; } +.uk-icon-cc-diners-club:before { content: "\f24c"; } +.uk-icon-cc-jcb:before { content: "\f24b"; } +.uk-icon-chrome:before { content: "\f268"; } +.uk-icon-clone:before { content: "\f24d"; } +.uk-icon-commenting:before { content: "\f27a"; } +.uk-icon-commenting-o:before { content: "\f27b"; } +.uk-icon-contao:before { content: "\f26d"; } +.uk-icon-creative-commons:before { content: "\f25e"; } +.uk-icon-expeditedssl:before { content: "\f23e"; } +.uk-icon-firefox:before { content: "\f269"; } +.uk-icon-fonticons:before { content: "\f280"; } +.uk-icon-get-pocket:before { content: "\f265"; } +.uk-icon-gg:before { content: "\f260"; } +.uk-icon-gg-circle:before { content: "\f261"; } +.uk-icon-hand-lizard-o:before { content: "\f258"; } +.uk-icon-hand-stop-o:before, +.uk-icon-hand-paper-o:before { content: "\f256"; } +.uk-icon-hand-peace-o:before { content: "\f25b"; } +.uk-icon-hand-pointer-o:before { content: "\f25a"; } +.uk-icon-hand-grab-o:before, +.uk-icon-hand-rock-o:before { content: "\f255"; } +.uk-icon-hand-scissors-o:before { content: "\f257"; } +.uk-icon-hand-spock-o:before { content: "\f259"; } +.uk-icon-hourglass:before { content: "\f254"; } +.uk-icon-hourglass-o:before { content: "\f250"; } +.uk-icon-hourglass-1:before, +.uk-icon-hourglass-start:before { content: "\f251"; } +.uk-icon-hourglass-2:before, +.uk-icon-hourglass-half:before { content: "\f252"; } +.uk-icon-hourglass-3:before, +.uk-icon-hourglass-end:before { content: "\f253"; } +.uk-icon-houzz:before { content: "\f27c"; } +.uk-icon-i-cursor:before { content: "\f246"; } +.uk-icon-industry:before { content: "\f275"; } +.uk-icon-internet-explorer:before { content: "\f26b"; } +.uk-icon-map:before { content: "\f279"; } +.uk-icon-map-o:before { content: "\f278"; } +.uk-icon-map-pin:before { content: "\f276"; } +.uk-icon-map-signs:before { content: "\f277"; } +.uk-icon-mouse-pointer:before { content: "\f245"; } +.uk-icon-object-group:before { content: "\f247"; } +.uk-icon-object-ungroup:before { content: "\f248"; } +.uk-icon-odnoklassniki:before { content: "\f263"; } +.uk-icon-odnoklassniki-square:before { content: "\f264"; } +.uk-icon-opencart:before { content: "\f23d"; } +.uk-icon-opera:before { content: "\f26a"; } +.uk-icon-optin-monster:before { content: "\f23c"; } +.uk-icon-registered:before { content: "\f25d"; } +.uk-icon-safari:before { content: "\f267"; } +.uk-icon-sticky-note:before { content: "\f249"; } +.uk-icon-sticky-note-o:before { content: "\f24a"; } +.uk-icon-tv:before, +.uk-icon-television:before { content: "\f26c"; } +.uk-icon-trademark:before { content: "\f25c"; } +.uk-icon-tripadvisor:before { content: "\f262"; } +.uk-icon-vimeo:before { content: "\f27d"; } +.uk-icon-wikipedia-w:before { content: "\f266"; } +.uk-icon-yc:before, +.uk-icon-y-combinator:before { content: "\f23b"; } +.uk-icon-yc-square:before, +.uk-icon-y-combinator-square:before { content: "\f1d4"; } +// added fa 4.5 +.uk-icon-bluetooth:before { content: "\f293"; } +.uk-icon-bluetooth-b:before { content: "\f294"; } +.uk-icon-codiepie:before { content: "\f284"; } +.uk-icon-credit-card-alt:before { content: "\f283"; } +.uk-icon-edge:before { content: "\f282"; } +.uk-icon-fort-awesome:before { content: "\f286"; } +.uk-icon-hashtag:before { content: "\f292"; } +.uk-icon-mixcloud:before { content: "\f289"; } +.uk-icon-modx:before { content: "\f285"; } +.uk-icon-pause-circle:before { content: "\f28b"; } +.uk-icon-pause-circle-o:before { content: "\f28c"; } +.uk-icon-percent:before { content: "\f295"; } +.uk-icon-product-hunt:before { content: "\f288"; } +.uk-icon-reddit-alien:before { content: "\f281"; } +.uk-icon-scribd:before { content: "\f28a"; } +.uk-icon-shopping-bag:before { content: "\f290"; } +.uk-icon-shopping-basket:before { content: "\f291"; } +.uk-icon-stop-circle:before { content: "\f28d"; } +.uk-icon-stop-circle-o:before { content: "\f28e"; } +.uk-icon-usb:before { content: "\f287"; } +// added fa 4.6 +.uk-icon-american-sign-language-interpreting:before, +.uk-icon-asl-interpreting:before { content: "\f2a3"; } +.uk-icon-assistive-listening-systems:before { content: "\f2a2"; } +.uk-icon-audio-description:before { content: "\f29e"; } +.uk-icon-blind:before { content: "\f29d"; } +.uk-icon-braille:before { content: "\f2a1"; } +.uk-icon-deaf:before, +.uk-icon-deafness:before { content: "\f2a4"; } +.uk-icon-envira:before { content: "\f299"; } +.uk-icon-font-awesome:before, +.uk-icon-fa:before { content: "\f2b4"; } +.uk-icon-first-order:before { content: "\f2b0"; } +.uk-icon-gitlab:before { content: "\f296"; } +.uk-icon-glide:before { content: "\f2a5"; } +.uk-icon-glide-g:before { content: "\f2a6"; } +.uk-icon-hard-of-hearing:before { content: "\f2a4"; } +.uk-icon-low-vision:before { content: "\f2a8"; } +.uk-icon-question-circle-o:before { content: "\f29c"; } +.uk-icon-sign-language:before, +.uk-icon-signing:before { content: "\f2a7"; } +.uk-icon-snapchat:before { content: "\f2ab"; } +.uk-icon-snapchat-ghost:before { content: "\f2ac"; } +.uk-icon-snapchat-square:before { content: "\f2ad"; } +.uk-icon-themeisle:before { content: "\f2b2"; } +.uk-icon-universal-access:before { content: "\f29a"; } +.uk-icon-viadeo:before { content: "\f2a9"; } +.uk-icon-viadeo-square:before { content: "\f2aa"; } +.uk-icon-volume-control-phone:before { content: "\f2a0"; } +.uk-icon-wheelchair-alt:before { content: "\f29b"; } +.uk-icon-wpbeginner:before { content: "\f297"; } +.uk-icon-wpforms:before { content: "\f298"; } +.uk-icon-yoast:before { content: "\f2b1"; } + +// added 4.7.0 +.uk-icon-adress-book:before { content: "\f2b9"; } +.uk-icon-adress-book-o:before { content: "\f2ba"; } +.uk-icon-adress-card:before { content: "\f2bb"; } +.uk-icon-adress-card-o:before { content: "\f2bc"; } +.uk-icon-bandcamp:before { content: "\f2d5"; } +.uk-icon-bath:before { content: "\f2cd"; } +.uk-icon-bathub:before { content: "\f2cd"; } +.uk-icon-drivers-license:before { content: "\f2c2"; } +.uk-icon-drivers-license-o:before { content: "\f2c3"; } +.uk-icon-eercast:before { content: "\f2da"; } +.uk-icon-envelope-open:before { content: "\f2b6"; } +.uk-icon-envelope-open-o:before { content: "\f2b7"; } +.uk-icon-etsy:before { content: "\f2d7"; } +.uk-icon-free-code-camp:before { content: "\f2c5"; } +.uk-icon-grav:before { content: "\f2d6"; } +.uk-icon-handshake-o:before { content: "\f2b5"; } +.uk-icon-id-badge:before { content: "\f2c1"; } +.uk-icon-id-card:before { content: "\f2c2"; } +.uk-icon-id-card-o:before { content: "\f2c3"; } +.uk-icon-imdb:before { content: "\f2d8"; } +.uk-icon-linode:before { content: "\f2b8"; } +.uk-icon-meetup:before { content: "\f2e0"; } +.uk-icon-microchip:before { content: "\f2db"; } +.uk-icon-podcast:before { content: "\f2ce"; } +.uk-icon-quora:before { content: "\f2c4"; } +.uk-icon-ravelry:before { content: "\f2d9"; } +.uk-icon-s15:before { content: "\f2cd"; } +.uk-icon-shower:before { content: "\f2cc"; } +.uk-icon-snowflake-o:before { content: "\f2dc"; } +.uk-icon-superpowers:before { content: "\f2dd"; } +.uk-icon-telegram:before { content: "\f2c6"; } +.uk-icon-thermometer:before { content: "\f2c7"; } +.uk-icon-thermometer-0:before { content: "\f2cb"; } +.uk-icon-thermometer-1:before { content: "\f2ca"; } +.uk-icon-thermometer-2:before { content: "\f2c9"; } +.uk-icon-thermometer-3:before { content: "\f2c8"; } +.uk-icon-thermometer-4:before { content: "\f2c7"; } +.uk-icon-thermometer-empty:before { content: "\f2cb"; } +.uk-icon-thermometer-full:before { content: "\f2c7"; } +.uk-icon-thermometer-half:before { content: "\f2c9"; } +.uk-icon-thermometer-quarter:before { content: "\f2ca"; } +.uk-icon-thermometer-three-quarters:before { content: "\f2c8"; } +.uk-icon-times-rectangle:before { content: "\f2d3"; } +.uk-icon-times-rectangle-o:before { content: "\f2d4"; } +.uk-icon-user-circle:before { content: "\f2bd"; } +.uk-icon-user-circle-o:before { content: "\f2be"; } +.uk-icon-user-o:before { content: "\f2c0"; } +.uk-icon-vcard:before { content: "\f2bb"; } +.uk-icon-vcard-o:before { content: "\f2bc"; } +.uk-icon-widow-close:before { content: "\f2d3"; } +.uk-icon-widow-close-o:before { content: "\f2d4"; } +.uk-icon-window-maximize:before { content: "\f2d0"; } +.uk-icon-window-minimize:before { content: "\f2d1"; } +.uk-icon-window-restore:before { content: "\f2d2"; } +.uk-icon-wpexplorer:before { content: "\f2de"; } + + + + +// Hooks +// ======================================================================== + +.hook-icon-misc; + +.hook-icon-hover() {} +.hook-icon-hover-hover() {} +.hook-icon-button() {} +.hook-icon-button-hover() {} +.hook-icon-button-active() {} +.hook-icon-misc() {} diff --git a/bower_components/uikit/less/core/list.less b/bower_components/uikit/less/core/list.less new file mode 100644 index 0000000..458bd1f --- /dev/null +++ b/bower_components/uikit/less/core/list.less @@ -0,0 +1,102 @@ +// Name: List +// Description: Defines styles for ordered and unordered lists +// +// Component: `uk-list` +// +// Modifiers: `uk-list-line` +// `uk-list-striped` +// `uk-list-space` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@list-nested-padding-left: 20px; + +@list-line-margin-top: 5px; +@list-line-border: #ddd; +@list-line-border-width: 1px; + +@list-striped-padding-vertical: 5px; +@list-striped-padding-horizontal: 5px; +@list-striped-background: #f5f5f5; + +@list-space-margin-top: 10px; + + +/* ======================================================================== + Component: List + ========================================================================== */ + +.uk-list { + padding: 0; + list-style: none; +} + +/* + * Micro clearfix to make list more robust + */ + +.uk-list > li:before, +.uk-list > li:after { + content: ""; + display: table; +} + +.uk-list > li:after { clear: both; } + +/* + * Remove margin from the last-child + */ + +.uk-list > li > :last-child { margin-bottom: 0; } + +/* + * Nested lists + */ + +.uk-list ul { + margin: 0; + padding-left: @list-nested-padding-left; + list-style: none; +} + + +/* Modifier: `uk-list-line` + ========================================================================== */ + +.uk-list-line > li:nth-child(n+2) { + margin-top: @list-line-margin-top; + padding-top: @list-line-margin-top; + border-top: @list-line-border-width solid @list-line-border; + .hook-list-line; +} + + +/* Modifier: `uk-list-striped` + ========================================================================== */ + +.uk-list-striped > li { + padding: @list-striped-padding-vertical @list-striped-padding-horizontal; + .hook-list-striped; +} + +.uk-list-striped > li:nth-of-type(odd) { background: @list-striped-background; } + + +/* Modifier: `uk-list-space` + ========================================================================== */ + +.uk-list-space > li:nth-child(n+2) { margin-top: @list-space-margin-top; } + + +// Hooks +// ======================================================================== + +.hook-list-misc; + +.hook-list-line() {} +.hook-list-striped() {} +.hook-list-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/modal.less b/bower_components/uikit/less/core/modal.less new file mode 100644 index 0000000..ce69ce6 --- /dev/null +++ b/bower_components/uikit/less/core/modal.less @@ -0,0 +1,343 @@ +// Name: Modal +// Description: Defines styles for modal dialogs +// +// Component: `uk-modal` +// +// Sub-objects: `uk-modal-dialog` +// `uk-modal-close` +// `uk-modal-header` +// `uk-modal-footer` +// `uk-modal-caption` +// `uk-modal-spinner` +// +// Modifiers: `uk-modal-dialog-lightbox` +// `uk-modal-dialog-blank` +// `uk-modal-dialog-large` +// +// States: `uk-open` +// +// Uses: Close: `uk-close` +// +// Markup: +// +// +// +// +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@modal-z-index: 1010; +@modal-background: rgba(0,0,0,0.6); + +@modal-dialog-margin-vertical: 50px; +@modal-dialog-padding: 20px; +@modal-dialog-width: 600px; +@modal-dialog-background: #fff; + +@modal-dialog-large-width: 930px; +@modal-dialog-large-width-large: 1130px; + +@modal-header-margin-bottom: 15px; + +@modal-footer-margin-top: 15px; + +@modal-caption-margin-bottom: -10px; +@modal-caption-color: #fff; + + +/* ======================================================================== + Component: Modal + ========================================================================== */ + +/* + * This is the modal overlay and modal dialog container + * 1. Hide by default + * 2. Set fixed position + * 3. Allow scrolling for the modal dialog + * 4. Mask the background page + * 5. Fade-in transition + * 6. Deactivate browser history navigation in IE11 + * 7. force hardware acceleration to prevent browser rendering hiccups + */ + +.uk-modal { + /* 1 */ + display: none; + /* 2 */ + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: @modal-z-index; + /* 3 */ + overflow-y: auto; + -webkit-overflow-scrolling: touch; + /* 4 */ + background: @modal-background; + /* 5 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + /* 6 */ + touch-action: cross-slide-y pinch-zoom double-tap-zoom; + /* 7 */ + -webkit-transform: translateZ(0); + transform: translateZ(0); + .hook-modal; +} + +/* + * Open state + */ + +.uk-modal.uk-open { opacity: 1; } + +/* + * Prevents duplicated scrollbar caused by 4. + */ + +.uk-modal-page, +.uk-modal-page body { overflow: hidden; } + + +/* Sub-object: `uk-modal-dialog` + ========================================================================== */ + +/* + * 1. Create position context for caption, spinner and close button + * 2. Set box sizing + * 3. Set style + * 4. Slide-in transition + */ + +.uk-modal-dialog { + /* 1 */ + position: relative; + /* 2 */ + box-sizing: border-box; + margin: @modal-dialog-margin-vertical auto; + padding: @modal-dialog-padding; + width: @modal-dialog-width; + max-width: 100%; + max-width: ~"calc(100% - 20px)"; + /* 3 */ + background: @modal-dialog-background; + /* 4 */ + opacity: 0; + -webkit-transform: translateY(-100px); + transform: translateY(-100px); + -webkit-transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out; + transition: opacity 0.3s linear, transform 0.3s ease-out; + .hook-modal-dialog; +} + +/* Phone landscape and smaller */ +@media (max-width: @breakpoint-small-max) { + + /* + * Fit in small screen + */ + + .uk-modal-dialog { + width: auto; + margin: 10px auto; + } + +} + +/* + * Open state + */ + +.uk-open .uk-modal-dialog { + /* 4 */ + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); +} + +/* + * Remove margin from the last-child + */ + +.uk-modal-dialog > :not([class*='uk-modal-']):last-child { margin-bottom: 0; } + + +/* Close in modal + ========================================================================== */ + +.uk-modal-dialog > .uk-close:first-child { + margin: -10px -10px 0 0; + float: right; +} + +/* + * Remove margin from adjacent element + */ + + .uk-modal-dialog > .uk-close:first-child + :not([class*='uk-modal-']) { margin-top: 0; } + + +/* Modifier: `uk-modal-dialog-lightbox` + ========================================================================== */ + +.uk-modal-dialog-lightbox { + margin: 15px auto; + padding: 0; + max-width: 95%; + max-width: ~"calc(100% - 30px)"; + min-height: 50px; + .hook-modal-dialog-lightbox; +} + +/* + * Close button + */ + +.uk-modal-dialog-lightbox > .uk-close:first-child { + position: absolute; + top: -12px; + right: -12px; + margin: 0; + float: none; +} + +/* Phone landscape and smaller */ +@media (max-width: @breakpoint-small-max) { + + .uk-modal-dialog-lightbox > .uk-close:first-child { + top: -7px; + right: -7px; + } + +} + +/* Modifier: `uk-modal-dialog-blank` + ========================================================================== */ + +.uk-modal-dialog-blank { + margin: 0; + padding: 0; + width: 100%; + max-width: 100%; + -webkit-transition: opacity 0.3s linear; + transition: opacity 0.3s linear; +} + +/* +* Close button +*/ + +.uk-modal-dialog-blank > .uk-close:first-child { + position: absolute; + top: 20px; + right: 20px; + z-index: 1; + margin: 0; + float: none; +} + + +/* Modifier: `uk-modal-dialog-large` + ========================================================================== */ + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + .uk-modal-dialog-large { width: @modal-dialog-large-width; } + +} + +/* Large screen and bigger */ +@media (min-width: @breakpoint-xlarge) { + + .uk-modal-dialog-large { width: @modal-dialog-large-width-large; } + +} + + +/* Sub-Object: `uk-modal-header` and `uk-modal-footer` + ========================================================================== */ + +.uk-modal-header { + margin-bottom: @modal-header-margin-bottom; + .hook-modal-header; +} + +.uk-modal-footer { + margin-top: @modal-footer-margin-top; + .hook-modal-footer; +} + +/* + * Remove margin from the last-child + */ + +.uk-modal-header > :last-child, +.uk-modal-footer > :last-child { margin-bottom: 0; } + + +/* Sub-Object: `uk-modal-caption` + ========================================================================== */ + +.uk-modal-caption { + position: absolute; + left: 0; + right: 0; + bottom: (-@modal-dialog-padding); + margin-bottom: @modal-caption-margin-bottom; + color: @modal-caption-color; + text-align: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + .hook-modal-caption; +} + + +/* Sub-Object: `uk-modal-spinner` + ========================================================================== */ + +.uk-modal-spinner { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); + font-size: 25px; + color: #ddd; + .hook-modal-spinner; +} + +.uk-modal-spinner:after { + content: "\f110"; + display: block; + font-family: FontAwesome; + -webkit-animation: uk-rotate 2s infinite linear; + animation: uk-rotate 2s infinite linear; +} + + +// Hooks +// ======================================================================== + +.hook-modal-misc; + +.hook-modal() {} +.hook-modal-dialog() {} +.hook-modal-dialog-lightbox() {} +.hook-modal-header() {} +.hook-modal-footer() {} +.hook-modal-caption() {} +.hook-modal-spinner() {} +.hook-modal-misc() {} diff --git a/bower_components/uikit/less/core/nav.less b/bower_components/uikit/less/core/nav.less new file mode 100644 index 0000000..f0d252e --- /dev/null +++ b/bower_components/uikit/less/core/nav.less @@ -0,0 +1,468 @@ +// Name: Nav +// Description: Defines styles for list navigations +// +// Component: `uk-nav` +// +// Sub-objects: `uk-nav-header` +// `uk-nav-divider` +// `uk-nav-sub` +// +// Modifiers: `uk-nav-parent-icon` +// `uk-nav-side` +// `uk-nav-dropdown` +// `uk-nav-navbar` +// `uk-nav-offcanvas` +// +// States: `uk-active` +// `uk-parent` +// `uk-open` +// `uk-touch` +// +// Uses: Icon: FontAwesome +// +// Used by: Panel +// Dropdown +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@nav-padding-vertical: 5px; +@nav-padding-horizontal: 15px; + +@nav-header-padding-vertical: @nav-padding-vertical; +@nav-header-padding-horizontal: @nav-padding-horizontal; +@nav-header-font-size: 12px; +@nav-header-font-weight: bold; +@nav-header-text-transform: uppercase; +@nav-header-margin-top: 15px; + +@nav-divider-margin-vertical: 9px; +@nav-divider-margin-horizontal: @nav-padding-horizontal; + +@nav-subtitle-font-size: 12px; +@nav-subtitle-line-height: 18px; + +@nav-nested-padding-left: 15px; +@nav-nested-padding-vertical: 2px; +@nav-nested-padding-horizontal: 0; + +@nav-sub-padding-vertical: 5px; +@nav-sub-padding-left: @nav-padding-horizontal; + +@nav-parent-icon: "\f104"; +@nav-parent-open-icon: "\f107"; +@nav-parent-icon-width: 20px; +@nav-parent-icon-margin-right: -10px; + +@nav-side-color: #444; +@nav-side-hover-background: rgba(0,0,0,0.05); +@nav-side-hover-color: #444; +@nav-side-active-background: #00a8e6; +@nav-side-active-color: #fff; +@nav-side-header-color: #444; +@nav-side-divider-border: #ddd; +@nav-side-divider-border-width: 1px; +@nav-side-nested-color: #07D; +@nav-side-nested-hover-color: #059; + +@nav-dropdown-color: #444; +@nav-dropdown-hover-background: #00a8e6; +@nav-dropdown-hover-color: #fff; +@nav-dropdown-header-color: #999; +@nav-dropdown-divider-border: #ddd; +@nav-dropdown-divider-border-width: 1px; +@nav-dropdown-nested-color: #07D; +@nav-dropdown-nested-hover-color: #059; + +@nav-navbar-color: #444; +@nav-navbar-hover-background: #00a8e6; +@nav-navbar-hover-color: #fff; +@nav-navbar-header-color: #999; +@nav-navbar-divider-border: #ddd; +@nav-navbar-divider-border-width: 1px; +@nav-navbar-nested-color: #07D; +@nav-navbar-nested-hover-color: #059; + +@nav-offcanvas-padding-vertical: 10px; +@nav-offcanvas-padding-horizontal: 15px; +@nav-offcanvas-color: #ccc; +@nav-offcanvas-hover-background: #404040; +@nav-offcanvas-hover-color: #fff; +@nav-offcanvas-active-background: #1a1a1a; +@nav-offcanvas-active-color: #fff; +@nav-offcanvas-header-color: #777; +@nav-offcanvas-divider-border: #1a1a1a; +@nav-offcanvas-divider-border-width: 1px; +@nav-offcanvas-nested-color: #ccc; +@nav-offcanvas-nested-hover-color: #fff; + + +/* ======================================================================== + Component: Nav + ========================================================================== */ + +.uk-nav, +.uk-nav ul { + margin: 0; + padding: 0; + list-style: none; +} + +/* + * Items + */ + +.uk-nav li > a { + display: block; + text-decoration: none; +} + +.uk-nav > li > a { padding: @nav-padding-vertical @nav-padding-horizontal; } + +/* + * Nested items + */ + +.uk-nav ul { padding-left: @nav-nested-padding-left; } + +.uk-nav ul a { padding: @nav-nested-padding-vertical @nav-nested-padding-horizontal; } + +/* + * Item subtitle + */ + +.uk-nav li > a > div { + font-size: @nav-subtitle-font-size; + line-height: @nav-subtitle-line-height; +} + + +/* Sub-object: `uk-nav-header` + ========================================================================== */ + +.uk-nav-header { + padding: @nav-header-padding-vertical @nav-header-padding-horizontal; + text-transform: @nav-header-text-transform; + font-weight: @nav-header-font-weight; + font-size: @nav-header-font-size; + .hook-nav-header; +} + +.uk-nav-header:not(:first-child) { margin-top: @nav-header-margin-top; } + + +/* Sub-object: `uk-nav-divider` + ========================================================================== */ + +.uk-nav-divider { + margin: @nav-divider-margin-vertical @nav-divider-margin-horizontal; + .hook-nav-divider; +} + + +/* Sub-object: `uk-nav-sub` + ========================================================================== */ + +/* + * `ul` needed for higher specificity to override padding + */ + +ul.uk-nav-sub { + padding: @nav-sub-padding-vertical 0 @nav-sub-padding-vertical @nav-sub-padding-left; + .hook-nav-sub; +} + + +/* Modifier: `uk-nav-parent-icon` + ========================================================================== */ + +.uk-nav-parent-icon > .uk-parent > a:after { + content: @nav-parent-icon; + width: @nav-parent-icon-width; + margin-right: @nav-parent-icon-margin-right; + float: right; + font-family: FontAwesome; + text-align: center; + .hook-nav-parent-icon; +} + +.uk-nav-parent-icon > .uk-parent.uk-open > a:after { content: @nav-parent-open-icon; } + + +/* Modifier `uk-nav-side` + ========================================================================== */ + +/* + * Items + */ + +.uk-nav-side > li > a { + color: @nav-side-color; + .hook-nav-side; +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-nav-side > li > a:hover, +.uk-nav-side > li > a:focus { // 1 + background: @nav-side-hover-background; + color: @nav-side-hover-color; + /* 2 */ + outline: none; + .hook-nav-side-hover; +} + +/* Active */ +.uk-nav-side > li.uk-active > a { + background: @nav-side-active-background; + color: @nav-side-active-color; + .hook-nav-side-active; +} + +/* + * Sub-object: `uk-nav-header` + */ + +.uk-nav-side .uk-nav-header { + color: @nav-side-header-color; + .hook-nav-side-header; +} + +/* + * Sub-object: `uk-nav-divider` + */ + +.uk-nav-side .uk-nav-divider { + border-top: @nav-side-divider-border-width solid @nav-side-divider-border; + .hook-nav-side-divider; +} + +/* + * Nested items + */ + +.uk-nav-side ul a { color: @nav-side-nested-color; } +.uk-nav-side ul a:hover { color: @nav-side-nested-hover-color; } + + +/* Modifier `uk-nav-dropdown` + ========================================================================== */ + +/* + * Items + */ + +.uk-nav-dropdown > li > a { + color: @nav-dropdown-color; + .hook-nav-dropdown; +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-nav-dropdown > li > a:hover, +.uk-nav-dropdown > li > a:focus { // 1 + background: @nav-dropdown-hover-background; + color: @nav-dropdown-hover-color; + /* 2 */ + outline: none; + .hook-nav-dropdown-hover; +} + +/* + * Sub-object: `uk-nav-header` + */ + +.uk-nav-dropdown .uk-nav-header { + color: @nav-dropdown-header-color; + .hook-nav-dropdown-header; +} + +/* + * Sub-object: `uk-nav-divider` + */ + +.uk-nav-dropdown .uk-nav-divider { + border-top: @nav-dropdown-divider-border-width solid @nav-dropdown-divider-border; + .hook-nav-dropdown-divider; +} + +/* + * Nested items + */ + +.uk-nav-dropdown ul a { color: @nav-dropdown-nested-color; } +.uk-nav-dropdown ul a:hover { color: @nav-dropdown-nested-hover-color; } + + +/* Modifier `uk-nav-navbar` + ========================================================================== */ + +/* + * Items + */ + +.uk-nav-navbar > li > a { + color: @nav-navbar-color; + .hook-nav-navbar; +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-nav-navbar > li > a:hover, +.uk-nav-navbar > li > a:focus { // 1 + background: @nav-navbar-hover-background; + color: @nav-navbar-hover-color; + /* 2 */ + outline: none; + .hook-nav-navbar-hover; +} + +/* + * Sub-object: `uk-nav-header` + */ + +.uk-nav-navbar .uk-nav-header { + color: @nav-navbar-header-color; + .hook-nav-navbar-header; +} + +/* + * Sub-object: `uk-nav-divider` + */ + +.uk-nav-navbar .uk-nav-divider { + border-top: @nav-navbar-divider-border-width solid @nav-navbar-divider-border; + .hook-nav-navbar-divider; +} + +/* + * Nested items + */ + +.uk-nav-navbar ul a { color: @nav-navbar-nested-color; } +.uk-nav-navbar ul a:hover { color: @nav-navbar-nested-hover-color; } + + +/* Modifier `uk-nav-offcanvas` + ========================================================================== */ + +/* + * Items + */ + +.uk-nav-offcanvas > li > a { + color: @nav-offcanvas-color; + padding: @nav-offcanvas-padding-vertical @nav-offcanvas-padding-horizontal; + .hook-nav-offcanvas; +} + +/* + * Hover + * No hover on touch devices because it behaves buggy in fixed offcanvas + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-nav-offcanvas > .uk-open > a, +html:not(.uk-touch) .uk-nav-offcanvas > li > a:hover, +html:not(.uk-touch) .uk-nav-offcanvas > li > a:focus { // 1 + background: @nav-offcanvas-hover-background; + color: @nav-offcanvas-hover-color; + /* 2 */ + outline: none; + .hook-nav-offcanvas-hover; +} + +/* + * Active + * `html .uk-nav` needed for higher specificity to override hover + */ +html .uk-nav.uk-nav-offcanvas > li.uk-active > a { + background: @nav-offcanvas-active-background; + color: @nav-offcanvas-active-color; + .hook-nav-offcanvas-active; +} + +/* + * Sub-object: `uk-nav-header` + */ + +.uk-nav-offcanvas .uk-nav-header { + color: @nav-offcanvas-header-color; + .hook-nav-offcanvas-header; +} + +/* + * Sub-object: `uk-nav-divider` + */ + +.uk-nav-offcanvas .uk-nav-divider { + border-top: @nav-offcanvas-divider-border-width solid @nav-offcanvas-divider-border; + .hook-nav-offcanvas-divider; +} + +/* + * Nested items + * No hover on touch devices because it behaves buggy in fixed offcanvas + */ + +.uk-nav-offcanvas ul a { color: @nav-offcanvas-nested-color; } +html:not(.uk-touch) .uk-nav-offcanvas ul a:hover { color: @nav-offcanvas-nested-hover-color; } + + +// Hooks +// ======================================================================== + +.hook-nav-misc; + +.hook-nav-header() {} +.hook-nav-divider() {} +.hook-nav-sub() {} +.hook-nav-parent-icon() {} + +.hook-nav-side() {} +.hook-nav-side-hover() {} +.hook-nav-side-active() {} +.hook-nav-side-header() {} +.hook-nav-side-divider() {} + +.hook-nav-dropdown() {} +.hook-nav-dropdown-hover() {} +.hook-nav-dropdown-header() {} +.hook-nav-dropdown-divider() {} + +.hook-nav-navbar() {} +.hook-nav-navbar-hover() {} +.hook-nav-navbar-header() {} +.hook-nav-navbar-divider() {} + +.hook-nav-offcanvas() {} +.hook-nav-offcanvas-hover() {} +.hook-nav-offcanvas-active() {} +.hook-nav-offcanvas-header() {} +.hook-nav-offcanvas-divider() {} + +.hook-nav-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/navbar.less b/bower_components/uikit/less/core/navbar.less new file mode 100644 index 0000000..6da96df --- /dev/null +++ b/bower_components/uikit/less/core/navbar.less @@ -0,0 +1,325 @@ +// Name: Navbar +// Description: Defines styles for the navigation bar +// +// Component: `uk-navbar` +// +// Sub-objects: `uk-navbar-nav` +// `uk-navbar-nav-subtitle` +// `uk-navbar-content` +// `uk-navbar-brand` +// `uk-navbar-toggle` +// `uk-navbar-toggle-alt` +// `uk-navbar-center` +// `uk-navbar-flip` +// +// Modifiers: `uk-navbar-attached` +// +// States: `uk-active` +// `uk-parent` +// `uk-open` +// +// Used by: Dropdown +// +// Markup: +// +// +// +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@navbar-background: #eee; +@navbar-color: #444; +@navbar-link-color: #07D; +@navbar-link-hover-color: #059; + +@navbar-nav-height: 40px; +@navbar-nav-line-height: @navbar-nav-height; +@navbar-nav-padding-horizontal: 15px; +@navbar-nav-color: #444; +@navbar-nav-font-size: 14px; +@navbar-nav-font-weight: normal; +@navbar-nav-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +@navbar-nav-hover-background: #f5f5f5; +@navbar-nav-hover-color: #444; +@navbar-nav-onclick-background: #ddd; +@navbar-nav-onclick-color: #444; +@navbar-nav-active-background: #f5f5f5; +@navbar-nav-active-color: #444; +@navbar-nav-subtitle-font-size: 10px; +@navbar-nav-subtitle-offset: 2px; + +@navbar-brand-font-size: 18px; +@navbar-brand-color: #444; +@navbar-brand-hover-color: #444; + +@navbar-toggle-font-size: 18px; +@navbar-toggle-color: #444; +@navbar-toggle-hover-color: #444; +@navbar-toggle-icon: "\f0c9"; +@navbar-toggle-icon-alt: "\f002"; + + +/* ======================================================================== + Component: Navbar + ========================================================================== */ + +.uk-navbar { + background: @navbar-background; + color: @navbar-color; + .hook-navbar; +} + +/* + * Micro clearfix + */ + +.uk-navbar:before, +.uk-navbar:after { + content: ""; + display: table; +} + +.uk-navbar:after { clear: both; } + + +/* Sub-object: `uk-navbar-nav` + ========================================================================== */ + +.uk-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} + +/* + * 1. Create position context for dropdowns + */ + +.uk-navbar-nav > li { + float: left; + /* 1 */ + position: relative; +} + +/* + * 1. Dimensions + * 2. Style + */ + +.uk-navbar-nav > li > a { + display: block; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: @navbar-nav-height; + padding: 0 @navbar-nav-padding-horizontal; + line-height: @navbar-nav-line-height; + /* 2 */ + color: @navbar-nav-color; + font-size: @navbar-nav-font-size; + font-family: @navbar-nav-font-family; + font-weight: @navbar-nav-font-weight; + .hook-navbar-nav; +} + +/* Appear not as link */ +.uk-navbar-nav > li > a[href='#'] { cursor: text; } + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Also apply if dropdown is opened + * 3. Remove default focus style + */ + +.uk-navbar-nav > li:hover > a, +.uk-navbar-nav > li > a:focus, // 1 +.uk-navbar-nav > li.uk-open > a { // 2 + background-color: @navbar-nav-hover-background; + color: @navbar-nav-hover-color; + /* 3 */ + outline: none; + .hook-navbar-nav-hover; +} + +/* OnClick */ +.uk-navbar-nav > li > a:active { + background-color: @navbar-nav-onclick-background; + color: @navbar-nav-onclick-color; + .hook-navbar-nav-onclick; +} + +/* Active */ +.uk-navbar-nav > li.uk-active > a { + background-color: @navbar-nav-active-background; + color: @navbar-nav-active-color; + .hook-navbar-nav-active; +} + + +/* Sub-objects: `uk-navbar-nav-subtitle` + ========================================================================== */ + +.uk-navbar-nav .uk-navbar-nav-subtitle { line-height: @navbar-nav-line-height - @navbar-nav-subtitle-font-size - @navbar-nav-subtitle-offset; } + +.uk-navbar-nav-subtitle > div { + margin-top: ((@navbar-nav-line-height - @navbar-nav-subtitle-font-size - @navbar-nav-font-size) / -2) + @navbar-nav-subtitle-offset; + font-size: @navbar-nav-subtitle-font-size; + line-height: @navbar-nav-subtitle-font-size + @navbar-nav-subtitle-offset; +} + + +/* Sub-objects: `uk-navbar-content`, `uk-navbar-brand`, `uk-navbar-toggle` + ========================================================================== */ + +/* + * Imitate navbar items + */ + +.uk-navbar-content, +.uk-navbar-brand, +.uk-navbar-toggle { + box-sizing: border-box; + display: block; + height: @navbar-nav-height; + padding: 0 @navbar-nav-padding-horizontal; + float: left; + .hook-navbar-content; +} + +/* + * Helper to center all child elements vertically + */ + +.uk-navbar-content:before, +.uk-navbar-brand:before, +.uk-navbar-toggle:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} + + +/* Sub-objects: `uk-navbar-content` + ========================================================================== */ + +/* + * Better sibling spacing + */ + +.uk-navbar-content + .uk-navbar-content:not(.uk-navbar-center) { padding-left: 0; } + +/* + * Link colors + */ + +.uk-navbar-content > a:not([class]) { color: @navbar-link-color; } +.uk-navbar-content > a:not([class]):hover { color: @navbar-link-hover-color; } + + +/* Sub-objects: `uk-navbar-brand` + ========================================================================== */ + +.uk-navbar-brand { + font-size: @navbar-brand-font-size; + color: @navbar-brand-color; + text-decoration: none; +} + +/* + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-navbar-brand:hover, +.uk-navbar-brand:focus { // 1 + color: @navbar-brand-hover-color; + text-decoration: none; + /* 2 */ + outline: none; +} + + +/* Sub-object: `uk-navbar-toggle` + ========================================================================== */ + +.uk-navbar-toggle { + font-size: @navbar-toggle-font-size; + color: @navbar-toggle-color; + text-decoration: none; +} + +/* + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-navbar-toggle:hover, +.uk-navbar-toggle:focus { // 1 + color: @navbar-toggle-hover-color; + text-decoration: none; + /* 2 */ + outline: none; +} + +/* + * 1. Center icon vertically + */ + +.uk-navbar-toggle:after { + content: @navbar-toggle-icon; + font-family: FontAwesome; + /* 1 */ + vertical-align: middle; +} + +.uk-navbar-toggle-alt:after { content: @navbar-toggle-icon-alt; } + + +/* Sub-object: `uk-navbar-center` + ========================================================================== */ + +/* + * The element with this class needs to be last child in the navbar + * 1. This hack is needed because other float elements shift centered text + */ + +.uk-navbar-center { + float: none; + text-align: center; + /* 1 */ + max-width: 50%; + margin-left: auto; + margin-right: auto; +} + + +/* Sub-object: `uk-navbar-flip` + ========================================================================== */ + +.uk-navbar-flip { float: right; } + + +// Hooks +// ======================================================================== + +.hook-navbar-misc; + +.hook-navbar() {} +.hook-navbar-nav() {} +.hook-navbar-nav-hover() {} +.hook-navbar-nav-onclick() {} +.hook-navbar-nav-active() {} +.hook-navbar-content() {} +.hook-navbar-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/offcanvas.less b/bower_components/uikit/less/core/offcanvas.less new file mode 100644 index 0000000..c823282 --- /dev/null +++ b/bower_components/uikit/less/core/offcanvas.less @@ -0,0 +1,203 @@ +// Name: Off-canvas +// Description: Defines styles for an off-canvas sidebar that slides in and out of the page +// +// Component: `uk-offcanvas` +// +// Sub-objects: `uk-offcanvas-page` +// `uk-offcanvas-bar` +// `uk-offcanvas-close` +// +// Modifiers: `uk-offcanvas-bar-flip` +// +// States: `uk-active` +// +// Uses: Panel: `uk-panel` +// +// Markup: +// +// +// Open +//
                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@offcanvas-z-index: 1000; +@offcanvas-background: rgba(0,0,0,0.1); + +@offcanvas-bar-width: 270px; +@offcanvas-bar-background: #333; + +@offcanvas-panel-margin: 20px 15px; +@offcanvas-panel-color: #777; +@offcanvas-panel-link-color: #ccc; +@offcanvas-panel-link-hover-color: #fff; +@offcanvas-panel-title-color: @offcanvas-panel-link-color; + + +/* ======================================================================== + Component: Off-canvas + ========================================================================== */ + +/* + * This is the offcanvas overlay and bar container + * 1. Hide by default + * 2. Set fixed position + * 3. Deactivate browser touch actions in IE11 + * 4. Mask the background page + */ + +.uk-offcanvas { + /* 1 */ + display: none; + /* 2 */ + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: @offcanvas-z-index; + /* 3 */ + touch-action: none; + /* 4 */ + background: @offcanvas-background; + .hook-offcanvas; +} + +.uk-offcanvas.uk-active { display: block; } + + +/* Sub-object `uk-offcanvas-page` + ========================================================================== */ + +/* + * Prepares the whole HTML page to slide-out + * 1. Fix the main page and disallow scrolling + * 2. Side-out transition + * 3. Needed for the transition to work instead of just letting it pop to the side + */ + +.uk-offcanvas-page { + /* 1 */ + position: fixed; + /* 2 */ + -webkit-transition: margin-left 0.3s ease-in-out; + transition: margin-left 0.3s ease-in-out; + /* 3 */ + margin-left: 0; +} + + +/* Sub-object `uk-offcanvas-bar` + ========================================================================== */ + +/* + * This is the offcanvas bar + * 1. Set fixed position + * 2. Size and style + * 3. Allow scrolling + * 4. Side-out transition + * 5. Deactivate scroll chaining in IE11 + */ + +.uk-offcanvas-bar { + /* 1 */ + position: fixed; + top: 0; + bottom: 0; + left: 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + z-index: @offcanvas-z-index + 1; + /* 2 */ + width: @offcanvas-bar-width; + max-width: 100%; + background: @offcanvas-bar-background; + /* 3 */ + overflow-y: auto; + -webkit-overflow-scrolling: touch; + /* 4 */ + -webkit-transition: -webkit-transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out; + /* 5 */ + -ms-scroll-chaining: none; + .hook-offcanvas-bar; +} + +.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show { + -webkit-transform: translateX(0%); + transform: translateX(0%); +} + +/* Modifier `uk-offcanvas-bar-flip` + ========================================================================== */ + +.uk-offcanvas-bar-flip { + left: auto; + right: 0; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +/* Offcanvase modes + ========================================================================== */ +.uk-offcanvas-bar[mode='none'] { + -webkit-transition: none; + transition: none; +} + +.uk-offcanvas-bar[mode='reveal']{ + -webkit-transform: translateX(0%); + transform: translateX(0%); + clip: rect(0, 0, 100vh, 0); + -webkit-transition: -webkit-transform 0.3s ease-in-out, clip 0.3s ease-in-out; + transition: transform 0.3s ease-in-out, clip 0.3s ease-in-out; +} + +.uk-offcanvas-bar-flip[mode='reveal']{ + clip: none; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +.uk-offcanvas-bar-flip[mode='reveal'] > * { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + -webkit-transition: -webkit-transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out; +} + +.uk-offcanvas.uk-active .uk-offcanvas-bar-flip[mode='reveal'].uk-offcanvas-bar-show > * { + -webkit-transform: translateX(0%); + transform: translateX(0%); +} + +/* Panel in offcanvas + ========================================================================== */ + +.uk-offcanvas .uk-panel { + margin: @offcanvas-panel-margin; + color: @offcanvas-panel-color; + .hook-offcanvas-panel; +} + +.uk-offcanvas .uk-panel-title { color: @offcanvas-panel-title-color; } + +.uk-offcanvas .uk-panel a:not([class]) { color: @offcanvas-panel-link-color; } +.uk-offcanvas .uk-panel a:not([class]):hover { color: @offcanvas-panel-link-hover-color; } + + +// Hooks +// ======================================================================== + +.hook-offcanvas-misc; + +.hook-offcanvas() {} +.hook-offcanvas-bar() {} +.hook-offcanvas-panel() {} +.hook-offcanvas-misc() {} diff --git a/bower_components/uikit/less/core/overlay.less b/bower_components/uikit/less/core/overlay.less new file mode 100644 index 0000000..238ba4f --- /dev/null +++ b/bower_components/uikit/less/core/overlay.less @@ -0,0 +1,534 @@ +// Name: Overlay +// Description: Defines styles for image overlays +// +// Component: `uk-overlay` +// +// Sub-objects: `uk-overlay-panel` +// `uk-overlay-hover` +// `uk-overlay-active` +// `uk-overlay-icon` +// +// Modifier: `uk-overlay-background` +// `uk-overlay-image` +// `uk-overlay-top` +// `uk-overlay-bottom` +// `uk-overlay-left` +// `uk-overlay-right` +// `uk-overlay-fade` +// `uk-overlay-scale` +// `uk-overlay-spin` +// `uk-overlay-grayscale` +// `uk-overlay-slide-top` +// `uk-overlay-slide-bottom` +// `uk-overlay-slide-left` +// `uk-overlay-slide-right` +// +// DEPRECATED: `uk-overlay-area` +// `uk-overlay-area-content` +// `uk-overlay-caption` +// `uk-overlay-toggle` +// +// States: `uk-hover` +// `uk-active` +// `uk-ignore` +// +// Uses: Icon: `[class*='uk-icon-']` +// `uk-border-circle` +// +// Markup: +// +// +//
                  +// +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@overlay-panel-padding: 20px; +@overlay-panel-color: #fff; + +@overlay-panel-background: rgba(0,0,0,0.5); + +@overlay-icon: "\f002"; +@overlay-icon-size: 50px; +@overlay-icon-color: #fff; + +@overlay-fade-in-opacity: 1; +@overlay-fade-out-opacity: 0.7; + +@overlay-scale-in-scale: 1.1; +@overlay-scale-out-scale: 1; + +@overlay-spin-in-scale: 1.1; +@overlay-spin-out-scale: 1; +@overlay-spin-in-rotate: 3deg; +@overlay-spin-out-rotate: 0deg; + +@overlay-panel-link-color: inherit; +@overlay-panel-link-text-decoration: underline; + +// DEPRECATED +@overlay-area-background: rgba(0,0,0,0.3); + +@overlay-area-icon: "\f002"; +@overlay-area-icon-size: 50px; +@overlay-area-icon-color: #fff; + +@overlay-area-content-font-size: 1rem; +@overlay-area-content-padding-horizontal: 15px; +@overlay-area-content-color: #fff; +@overlay-area-content-link-color: inherit; + +@overlay-caption-background: rgba(0,0,0,0.5); +@overlay-caption-padding: 15px; +@overlay-caption-color: #fff; + + +/* ======================================================================== + Component: Overlay + ========================================================================== */ + +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Set max-width for responsive images to prevent `inline-block` consequences + * 4. Remove the gap between the container and its child element + * 5. Needed for transitions and to fixed wrong scaling calculation for images in Chrome + * 6. Fixed `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit + * 7. Reset margin + */ + +.uk-overlay { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; + /* 4 */ + vertical-align: middle; + /* 5 */ + overflow: hidden; + /* 6 */ + -webkit-transform: translateZ(0); + /* 7 */ + margin: 0; +} + +/* 6 for Safari */ +.uk-overlay.uk-border-circle { -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%); } + +/* + * Remove margin from content + */ + +.uk-overlay > :first-child { margin-bottom: 0; } + + +/* Sub-object `uk-overlay-panel` + ========================================================================== */ + +/* + * 1. Position cover + * 2. Style + */ + +.uk-overlay-panel { + /* 1 */ + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + padding: @overlay-panel-padding; + color: @overlay-panel-color; + .hook-overlay-panel; +} + +/* + * Remove margin from the last-child + */ + +.uk-overlay-panel > :last-child, +.uk-overlay-panel.uk-flex > * > :last-child { margin-bottom: 0; } + +/* + * Keep color for headings if the default heading color is changed + */ + +.uk-overlay-panel h1, +.uk-overlay-panel h2, +.uk-overlay-panel h3, +.uk-overlay-panel h4, +.uk-overlay-panel h5, +.uk-overlay-panel h6 { color: inherit; } + +.uk-overlay-panel a:not([class]) { + color: @overlay-panel-link-color; + text-decoration: @overlay-panel-link-text-decoration; +} + +.uk-overlay-panel a[class*='uk-icon-']:not(.uk-icon-button) { color: @overlay-panel-link-color; } + + +/* Sub-object `uk-overlay-hover` and `uk-overlay-active` + ========================================================================== */ + +.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore) { opacity: 0; } + +.uk-overlay-active :not(.uk-active) > .uk-overlay-panel:not(.uk-ignore) { opacity: 0; } + + +/* Modifier `uk-overlay-background` + ========================================================================== */ + +.uk-overlay-background { + background: @overlay-panel-background; + .hook-overlay-background; +} + + +/* Modifier `uk-overlay-image` + ========================================================================== */ + +/* + * Reset panel + */ + +.uk-overlay-image { + padding: 0; + .hook-overlay-image; +} + + +/* Position modifiers + ========================================================================== */ + +.uk-overlay-top { bottom: auto; } + +.uk-overlay-bottom { top: auto; } + +.uk-overlay-left { right: auto; } + +.uk-overlay-right { left: auto; } + + +/* Sub-object `uk-overlay-icon` + ========================================================================== */ + +.uk-overlay-icon:before { + content: @overlay-icon; + position: absolute; + top: 50%; + left: 50%; + width: @overlay-icon-size; + height: @overlay-icon-size; + margin-top: -(@overlay-icon-size / 2); + margin-left: -(@overlay-icon-size / 2); + font-size: @overlay-icon-size; + line-height: 1; + font-family: FontAwesome; + text-align: center; + color: @overlay-icon-color; + .hook-overlay-icon; +} + + +/* Transitions + ========================================================================== */ + +.uk-overlay-fade, +.uk-overlay-scale, +.uk-overlay-spin, +.uk-overlay-grayscale, +.uk-overlay-blur, +[class*='uk-overlay-slide'] { + transition-duration: 0.3s; + transition-timing-function: ease-out; + transition-property: opacity, transform, filter; +} + +.uk-overlay-active .uk-overlay-fade, +.uk-overlay-active .uk-overlay-scale, +.uk-overlay-active .uk-overlay-spin, +.uk-overlay-active [class*='uk-overlay-slide'] { transition-duration: 0.8s; } + +/* + * Fade + */ + +.uk-overlay-fade { opacity: @overlay-fade-out-opacity; } + +.uk-overlay-hover:hover .uk-overlay-fade, +.uk-overlay-hover.uk-hover .uk-overlay-fade, +.uk-overlay-active .uk-active > .uk-overlay-fade { opacity: @overlay-fade-in-opacity; } + +/* + * Scale + */ + +.uk-overlay-scale { + -webkit-transform: scale(@overlay-scale-out-scale); + transform: scale(@overlay-scale-out-scale); +} + +.uk-overlay-hover:hover .uk-overlay-scale, +.uk-overlay-hover.uk-hover .uk-overlay-scale, +.uk-overlay-active .uk-active > .uk-overlay-scale { + -webkit-transform: scale(@overlay-scale-in-scale); + transform: scale(@overlay-scale-in-scale); +} + +/* + * Spin + */ + +.uk-overlay-spin { + -webkit-transform: scale(@overlay-spin-out-scale) rotate(@overlay-spin-out-rotate); + transform: scale(@overlay-spin-out-scale) rotate(@overlay-spin-out-rotate); +} + +.uk-overlay-hover:hover .uk-overlay-spin, +.uk-overlay-hover.uk-hover .uk-overlay-spin, +.uk-overlay-active .uk-active > .uk-overlay-spin { + -webkit-transform: scale(@overlay-spin-in-scale) rotate(@overlay-spin-in-rotate); + transform: scale(@overlay-spin-in-scale) rotate(@overlay-spin-in-rotate); +} + +/* + * Grayscale + */ + +.uk-overlay-grayscale { + -webkit-filter: grayscale(100%); + filter: grayscale(100%); +} + +.uk-overlay-hover:hover .uk-overlay-grayscale, +.uk-overlay-hover.uk-hover .uk-overlay-grayscale, +.uk-overlay-active .uk-active > .uk-overlay-grayscale { + -webkit-filter: grayscale(0%); + filter: grayscale(0%); +} + +/* + * Slide + */ + +[class*='uk-overlay-slide'] { opacity: 0; } + +/* Top */ +.uk-overlay-slide-top { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); +} + +/* Bottom */ +.uk-overlay-slide-bottom { + -webkit-transform: translateY(100%); + transform: translateY(100%); +} + +/* Left */ +.uk-overlay-slide-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +/* Right */ +.uk-overlay-slide-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +/* Hover */ +.uk-overlay-hover:hover [class*='uk-overlay-slide'], +.uk-overlay-hover.uk-hover [class*='uk-overlay-slide'], +.uk-overlay-active .uk-active > [class*='uk-overlay-slide'] { + opacity: 1; + -webkit-transform: translateX(0) translateY(0); + transform: translateX(0) translateY(0); +} + + +/* DEPRECATED + * Sub-object `uk-overlay-area` + ========================================================================== */ + +/* + * 1. Set position + * 2. Set style + * 3. Fade-in transition + */ + +.uk-overlay-area { + /* 1 */ + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + background: @overlay-area-background; + /* 3 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + -webkit-transform: translate3d(0,0,0); + .hook-overlay-area; +} + +/* + * Hover + * 1. `uk-hover` to support touch devices + * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier + */ + +.uk-overlay:hover .uk-overlay-area, +.uk-overlay.uk-hover .uk-overlay-area, // 1 +.uk-overlay-toggle:hover .uk-overlay-area, // 2 +.uk-overlay-toggle.uk-hover .uk-overlay-area { opacity: 1; } + +/* + * Icon + */ + +.uk-overlay-area:empty:before { + content: @overlay-area-icon; + position: absolute; + top: 50%; + left: 50%; + width: @overlay-area-icon-size; + height: @overlay-area-icon-size; + margin-top: -(@overlay-area-icon-size / 2); + margin-left: -(@overlay-area-icon-size / 2); + font-size: @overlay-area-icon-size; + line-height: 1; + font-family: FontAwesome; + text-align: center; + color: @overlay-area-icon-color; + .hook-overlay-area-icon; +} + + +/* DEPRECATED + * Sub-object `uk-overlay-area-content` + ========================================================================== */ + +/* + * Remove whitespace between child elements when using `inline-block` + * Needed for Firefox + */ + +.uk-overlay-area:not(:empty) { font-size: 0.001px; } + +/* + * 1. Needed for vertical alignment + */ + +.uk-overlay-area:not(:empty):before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} + +/* + * 1. Set vertical alignment + * 2. Reset whitespace hack + * 3. Set horizontal alignment + * 4. Set style + */ + +.uk-overlay-area-content { + /* 1 */ + display: inline-block; + box-sizing: border-box; + width: 100%; + vertical-align: middle; + /* 2 */ + font-size: @overlay-area-content-font-size; + /* 3 */ + text-align: center; + /* 4 */ + padding: 0 @overlay-area-content-padding-horizontal; + color: @overlay-area-content-color; + .hook-overlay-area-content; +} + +/* + * Remove margin from the last-child + */ + +.uk-overlay-area-content > :last-child { margin-bottom: 0; } + +/* + * Links in overlay area + */ + +.uk-overlay-area-content a:not([class]), +.uk-overlay-area-content a:not([class]):hover { color: @overlay-area-content-link-color; } + + +/* DEPRECATED + * Sub-object `uk-overlay-caption` + ========================================================================== */ + +/* + * 1. Set position + * 2. Set style + * 3. Fade-in transition + */ + +.uk-overlay-caption { + /* 1 */ + position: absolute; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + padding: @overlay-caption-padding; + background: @overlay-caption-background; + color: @overlay-caption-color; + /* 3 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + -webkit-transform: translate3d(0,0,0); + .hook-overlay-caption; +} + +/* + * Hover + * 1. `uk-hover` to support touch devices + * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier + */ + +.uk-overlay:hover .uk-overlay-caption, +.uk-overlay.uk-hover .uk-overlay-caption, // 1 +.uk-overlay-toggle:hover .uk-overlay-caption, // 2 +.uk-overlay-toggle.uk-hover .uk-overlay-caption { opacity: 1; } + + +// Hooks +// ======================================================================== + +.hook-overlay-misc; + +.hook-overlay-panel() {} +.hook-overlay-background() {} +.hook-overlay-image() {} +.hook-overlay-icon() {} +.hook-overlay-misc() {} + +// DEPRECATED +.hook-overlay-area() {} +.hook-overlay-area-icon() {} +.hook-overlay-area-content() {} +.hook-overlay-caption() {} diff --git a/bower_components/uikit/less/core/pagination.less b/bower_components/uikit/less/core/pagination.less new file mode 100644 index 0000000..b08a387 --- /dev/null +++ b/bower_components/uikit/less/core/pagination.less @@ -0,0 +1,197 @@ +// Name: Pagination +// Description: Defines styles for a navigation between pages +// +// Component: `uk-pagination` +// +// Sub-objects: `uk-pagination-previous` +// `uk-pagination-next` +// +// Modifiers: `uk-pagination-left` +// `uk-pagination-right` +// +// States: `uk-active` +// `uk-disabled` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@pagination-font-size: 1rem; +@pagination-margin-left: 5px; +@pagination-padding-vertical: 3px; +@pagination-padding-horizontal: 5px; +@pagination-line-height: 20px; +@pagination-background: #eee; +@pagination-color: #444; +@pagination-hover-background: #f5f5f5; +@pagination-hover-color: #444; +@pagination-onclick-background: #ddd; +@pagination-onclick-color: #444; + +@pagination-active-background: #00a8e6; +@pagination-active-color: #fff; + +@pagination-disabled-background: #f5f5f5; +@pagination-disabled-color: #999; + + +/* ======================================================================== + Component: Pagination + ========================================================================== */ + +/* + * 1. Remove default list style + * 2. Center pagination by default + * 3. Remove whitespace between child elements when using `inline-block` + */ + +.uk-pagination { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + text-align: center; + /* 3 */ + font-size: 0.001px; +} + +/* + * Micro clearfix + * Needed if `uk-pagination-previous` or `uk-pagination-next` sub-objects are used + */ + +.uk-pagination:before, +.uk-pagination:after { + content: ""; + display: table; +} + +.uk-pagination:after { clear: both; } + + +/* Items + ========================================================================== */ + +/* + * 1. Reset whitespace hack + * 2. Remove the gap at the bottom of it container + */ + +.uk-pagination > li { + display: inline-block; + /* 1 */ + font-size: @pagination-font-size; + /* 2 */ + vertical-align: top; +} + +.uk-pagination > li:nth-child(n+2) { margin-left: @pagination-margin-left; } + +/* + * 1. Makes pagination more robust against different box-sizing use + * 2. Reset text-align to center if alignment modifier is used + */ + +.uk-pagination > li > a, +.uk-pagination > li > span { + display: inline-block; + min-width: @pagination-line-height + (2 * @pagination-padding-vertical) - (2 * @pagination-padding-horizontal); + padding: @pagination-padding-vertical @pagination-padding-horizontal; + line-height: @pagination-line-height; + text-decoration: none; + /* 1 */ + box-sizing: content-box; + /* 2 */ + text-align: center; + .hook-pagination-item; +} + +/* + * Links + */ + +.uk-pagination > li > a { + background: @pagination-background; + color: @pagination-color; + .hook-pagination-link; +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-pagination > li > a:hover, +.uk-pagination > li > a:focus { // 1 + background-color: @pagination-hover-background; + color: @pagination-hover-color; + /* 2 */ + outline: none; + .hook-pagination-link-hover; +} + +/* OnClick */ +.uk-pagination > li > a:active { + background-color: @pagination-onclick-background; + color: @pagination-onclick-color; + .hook-pagination-link-active; +} + +/* + * Active + */ + +.uk-pagination > .uk-active > span { + background: @pagination-active-background; + color: @pagination-active-color; + .hook-pagination-active; +} + +/* + * Disabled + */ + +.uk-pagination > .uk-disabled > span { + background-color: @pagination-disabled-background; + color: @pagination-disabled-color; + .hook-pagination-disabled; +} + + +/* Previous and next navigation + ========================================================================== */ + +.uk-pagination-previous { float: left; } +.uk-pagination-next { float: right; } + + +/* Alignment modifiers + ========================================================================== */ + +.uk-pagination-left { text-align: left; } +.uk-pagination-right { text-align: right; } + + +// Hooks +// ======================================================================== + +.hook-pagination-misc; + +.hook-pagination-item() {} +.hook-pagination-link() {} +.hook-pagination-link-hover() {} +.hook-pagination-link-active() {} +.hook-pagination-active() {} +.hook-pagination-disabled() {} +.hook-pagination-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/panel.less b/bower_components/uikit/less/core/panel.less new file mode 100644 index 0000000..95c4969 --- /dev/null +++ b/bower_components/uikit/less/core/panel.less @@ -0,0 +1,332 @@ +// Name: Panel +// Description: Defines styles for reusable content areas +// +// Component: `uk-panel` +// +// Sub-objects: `uk-panel-title` +// `uk-panel-badge` +// `uk-panel-teaser` +// `uk-panel-body` +// +// Modifiers: `uk-panel-box` +// `uk-panel-box-hover` +// `uk-panel-box-primary` +// `uk-panel-box-primary-hover` +// `uk-panel-box-secondary` +// `uk-panel-box-secondary-hover` +// `uk-panel-hover` +// `uk-panel-header` +// `uk-panel-space` +// `uk-panel-divider` +// +// Uses: Nav: `uk-nav-side` +// +// Used by: Dropdown +// Off-canvas +// Grid +// +// Markup: +// +// +//
                  +//
                  +//

                  +//

                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@panel-title-margin-bottom: 15px; +@panel-title-font-size: 18px; +@panel-title-line-height: 24px; +@panel-title-font-weight: normal; +@panel-title-color: #444; +@panel-title-text-transform: none; + +@panel-teaser-margin-bottom: @panel-title-margin-bottom; + +@panel-box-padding: 15px; +@panel-box-background: #f5f5f5; +@panel-box-color: #444; +@panel-box-hover-color: @panel-box-color; +@panel-box-title-color: #444; +@panel-box-badge-top: 10px; +@panel-box-badge-right: @panel-box-badge-top; +@panel-box-teaser-margin: -@panel-box-padding; + +@panel-box-primary-background: #ebf7fd; +@panel-box-primary-color: #2d7091; +@panel-box-primary-hover-color: @panel-box-primary-color; +@panel-box-primary-title-color: #2d7091; + +@panel-box-secondary-background: #eee; +@panel-box-secondary-color: #444; +@panel-box-secondary-hover-color: @panel-box-secondary-color; +@panel-box-secondary-title-color: #444; + +@panel-hover-padding: 15px; +@panel-hover-color: #444; +@panel-hover-hover-background: #f5f5f5; +@panel-hover-hover-color: #444; +@panel-hover-badge-top: 10px; +@panel-hover-badge-right: @panel-hover-badge-top; +@panel-hover-teaser-margin: -@panel-hover-padding; + +@panel-header-title-padding: 10px; +@panel-header-title-border: #ddd; +@panel-header-title-border-width: 1px; +@panel-header-title-color: #444; + +@panel-space-padding: 30px; + +@panel-divider-gutter: 25px; +@panel-divider-gutter-large: 35px; +@panel-divider-border: #ddd; +@panel-divider-border-width: 1px; + +@panel-body-padding: @panel-box-padding; + + +/* ======================================================================== + Component: Panel + ========================================================================== */ + +/* + * 1. Needed for `a` elements + * 2. Create position context for badges + */ + +.uk-panel { + /* 1 */ + display: block; + /* 2 */ + position: relative; +} + +/* + * Allow panels to be anchors + */ + +.uk-panel, +.uk-panel:hover { text-decoration: none; } + +/* + * Micro clearfix to make panels more robust + */ + +.uk-panel:before, +.uk-panel:after { + content: ""; + display: table; +} + +.uk-panel:after { clear: both; } + +/* + * Remove margin from the last-child if not `uk-widget-title` + */ + +.uk-panel > :not(.uk-panel-title):last-child { margin-bottom: 0; } + + +/* Sub-object: `uk-panel-title` + ========================================================================== */ + +.uk-panel-title { + margin-top: 0; + margin-bottom: @panel-title-margin-bottom; + font-size: @panel-title-font-size; + line-height: @panel-title-line-height; + font-weight: @panel-title-font-weight; + text-transform: @panel-title-text-transform; + color: @panel-title-color; + .hook-panel-title; +} + + +/* Sub-object: `uk-panel-badge` + ========================================================================== */ + +.uk-panel-badge { + position: absolute; + top: 0; + right: 0; + z-index: 1; + .hook-panel-badge; +} + +/* Sub-object: `uk-panel-teaser` + ========================================================================== */ + +.uk-panel-teaser { margin-bottom: @panel-teaser-margin-bottom; } + + +/* Sub-object: `uk-panel-body` + ========================================================================== */ + +.uk-panel-body { padding: @panel-body-padding; } + + +/* Modifier: `uk-panel-box` + ========================================================================== */ + +.uk-panel-box { + padding: @panel-box-padding; + background: @panel-box-background; + color: @panel-box-color; + .hook-panel-box; +} + +.uk-panel-box-hover:hover { + color: @panel-box-hover-color; + .hook-panel-box-hover; +} + +.uk-panel-box .uk-panel-title { color: @panel-box-title-color; } + +.uk-panel-box .uk-panel-badge { + top: @panel-box-badge-top; + right: @panel-box-badge-right; +} + +.uk-panel-box > .uk-panel-teaser { + margin-top: @panel-box-teaser-margin; + margin-left: @panel-box-teaser-margin; + margin-right: @panel-box-teaser-margin; +} + +/* + * Nav in panel + */ + +.uk-panel-box > .uk-nav-side { margin: 0 (-@panel-box-padding); } + +/* + * Sub-modifier: `uk-panel-box-primary` + */ + +.uk-panel-box-primary { + background-color: @panel-box-primary-background; + color: @panel-box-primary-color; + .hook-panel-box-primary; +} + +.uk-panel-box-primary-hover:hover { + color: @panel-box-primary-hover-color; + .hook-panel-box-primary-hover; +} + +.uk-panel-box-primary .uk-panel-title { color: @panel-box-primary-title-color; } + +/* + * Sub-modifier: `uk-panel-box-secondary` + */ + +.uk-panel-box-secondary { + background-color: @panel-box-secondary-background; + color: @panel-box-secondary-color; + .hook-panel-box-secondary; +} + +.uk-panel-box-secondary-hover:hover { + color: @panel-box-secondary-hover-color; + .hook-panel-box-secondary-hover; +} + +.uk-panel-box-secondary .uk-panel-title { color: @panel-box-secondary-title-color; } + + +/* Modifier: `uk-panel-hover` + ========================================================================== */ + +.uk-panel-hover { + padding: @panel-hover-padding; + color: @panel-hover-color; + .hook-panel-hover; +} + +.uk-panel-hover:hover { + background: @panel-hover-hover-background; + color: @panel-hover-hover-color; + .hook-panel-hover-hover; +} + +.uk-panel-hover .uk-panel-badge { + top: @panel-hover-badge-top; + right: @panel-hover-badge-right; +} + +.uk-panel-hover > .uk-panel-teaser { + margin-top: @panel-hover-teaser-margin; + margin-left: @panel-hover-teaser-margin; + margin-right: @panel-hover-teaser-margin; +} + + +/* Modifier: `uk-panel-header` + ========================================================================== */ + +.uk-panel-header .uk-panel-title { + padding-bottom: @panel-header-title-padding; + border-bottom: @panel-header-title-border-width solid @panel-header-title-border; + color: @panel-header-title-color; + .hook-panel-header; +} + + +/* Modifier: `uk-panel-space` + ========================================================================== */ + +.uk-panel-space { padding: @panel-space-padding; } + +.uk-panel-space .uk-panel-badge { + top: @panel-space-padding; + right: @panel-space-padding; +} + + +/* Modifier: `uk-panel-divider` + ========================================================================== */ + +.uk-panel + .uk-panel-divider { margin-top: (@panel-divider-gutter * 2) !important; } + +.uk-panel + .uk-panel-divider:before { + content: ""; + display: block; + position: absolute; + top: -(@panel-divider-gutter); + left: 0; + right: 0; + border-top: @panel-divider-border-width solid @panel-divider-border; +} + +/* Large screen and bigger */ +@media (min-width: @breakpoint-xlarge) { + + .uk-panel + .uk-panel-divider { margin-top: (@panel-divider-gutter-large * 2) !important; } + .uk-panel + .uk-panel-divider:before { top: -(@panel-divider-gutter-large); } + +} + + +// Hooks +// ======================================================================== + +.hook-panel-misc; + +.hook-panel-title() {} +.hook-panel-badge() {} +.hook-panel-box() {} +.hook-panel-box-hover() {} +.hook-panel-box-primary() {} +.hook-panel-box-primary-hover() {} +.hook-panel-box-secondary() {} +.hook-panel-box-secondary-hover() {} +.hook-panel-hover() {} +.hook-panel-hover-hover() {} +.hook-panel-header() {} +.hook-panel-misc() {} diff --git a/bower_components/uikit/less/core/print.less b/bower_components/uikit/less/core/print.less new file mode 100644 index 0000000..d7f818d --- /dev/null +++ b/bower_components/uikit/less/core/print.less @@ -0,0 +1,61 @@ +// Name: Print +// Description: Optimize page for printing +// +// Adapted from http://github.com/h5bp/html5-boilerplate +// +// Modifications: Removed link `href` and `title` related rules +// +// ======================================================================== + + +/* ======================================================================== + Component: Print + ========================================================================== */ + +@media print { + + *, + *:before, + *:after { + background: transparent !important; + color: black !important; + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { text-decoration: underline; } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { display: table-header-group; } + + tr, + img { page-break-inside: avoid; } + + img { max-width: 100% !important; } + + @page { margin: 0.5cm; } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { page-break-after: avoid; } + + .hook-print; + +} + +// Hooks +// ======================================================================== + +.hook-print() {} diff --git a/bower_components/uikit/less/core/subnav.less b/bower_components/uikit/less/core/subnav.less new file mode 100644 index 0000000..0474bea --- /dev/null +++ b/bower_components/uikit/less/core/subnav.less @@ -0,0 +1,213 @@ +// Name: Subnav +// Description: Defines styles for the sub navigation +// +// Component: `uk-subnav` +// +// Modifiers: `uk-subnav-line` +// `uk-subnav-pill` +// +// States: `uk-active` +// +// Markup: +// +// +//
                    +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@subnav-margin-horizontal: 10px; +@subnav-margin-vertical: @subnav-margin-horizontal; + +@subnav-color: #444; +@subnav-hover-color: #07D; +@subnav-hover-text-decoration: none; +@subnav-active-color: #07D; + +@subnav-line-border-height: 10px; +@subnav-line-border: #ddd; +@subnav-line-border-width: 1px; + +@subnav-pill-padding-vertical: 3px; +@subnav-pill-padding-horizontal: 9px; +@subnav-pill-hover-background: #eee; +@subnav-pill-hover-color: #444; +@subnav-pill-active-background: #00a8e6; +@subnav-pill-active-color: #fff; + +@subnav-disabled-color: #999; + + +/* ======================================================================== + Component: Subnav + ========================================================================== */ + +/* + * 1. Gutter + * 2. Remove default list style + */ + +.uk-subnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -@subnav-margin-horizontal; + margin-top: -@subnav-margin-vertical; + /* 2 */ + padding: 0; + list-style: none; +} + +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + * 3. Create position context for dropdowns + */ + +.uk-subnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: @subnav-margin-horizontal; + margin-top: @subnav-margin-vertical; + /* 3 */ + position: relative; +} + +/* + * DEPRECATED IE9 Support + */ + +.uk-subnav:before, +.uk-subnav:after { + content: ""; + display: block; + overflow: hidden; +} + +.uk-subnav:after { clear: both; } + +.uk-subnav > * { float: left; } + + +/* Items + ========================================================================== */ + +.uk-subnav > * > * { + display: inline-block; + color: @subnav-color; + .hook-subnav; +} + +/* + * Hover + * 1. Apply hover style also to focus state + */ + +.uk-subnav > * > :hover, +.uk-subnav > * > :focus { // 1 + color: @subnav-hover-color; + text-decoration: @subnav-hover-text-decoration; + .hook-subnav-hover; +} + +/* + * Active + */ + +.uk-subnav > .uk-active > * { + color: @subnav-active-color; + .hook-subnav-active; +} + + +/* Modifier: 'subnav-line' + ========================================================================== */ + +.uk-subnav-line > :before { + content: ""; + display: inline-block; + height: @subnav-line-border-height; + vertical-align: middle; +} + +.uk-subnav-line > :nth-child(n+2):before { + margin-right: @subnav-margin-horizontal; + border-left: @subnav-line-border-width solid @subnav-line-border; + .hook-subnav-line-divider; +} + + +/* Modifier: 'subnav-pill' + ========================================================================== */ + +.uk-subnav-pill > * > * { + padding: @subnav-pill-padding-vertical @subnav-pill-padding-horizontal; + .hook-subnav-pill; +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-subnav-pill > * > :hover, +.uk-subnav-pill > * > :focus { // 1 + background: @subnav-pill-hover-background; + color: @subnav-pill-hover-color; + text-decoration: none; + /* 2 */ + outline: none; + .hook-subnav-pill-hover; +} + +/* + * Active + * `li` needed for higher specificity to override hover + */ + +.uk-subnav-pill > .uk-active > * { + background: @subnav-pill-active-background; + color: @subnav-pill-active-color; + .hook-subnav-pill-active; +} + + +/* Disabled state + ========================================================================== */ + +.uk-subnav > .uk-disabled > * { + background: none; + color: @subnav-disabled-color; + text-decoration: none; + cursor: text; + .hook-subnav-disabled; +} + + +// Hooks +// ======================================================================== + +.hook-subnav-misc; + +.hook-subnav() {} +.hook-subnav-hover() {} +.hook-subnav-active() {} +.hook-subnav-line-divider() {} +.hook-subnav-pill() {} +.hook-subnav-pill-hover() {} +.hook-subnav-pill-active() {} +.hook-subnav-disabled() {} +.hook-subnav-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/switcher.less b/bower_components/uikit/less/core/switcher.less new file mode 100644 index 0000000..035b2da --- /dev/null +++ b/bower_components/uikit/less/core/switcher.less @@ -0,0 +1,38 @@ +// Name: Switcher +// Description: Defines styles for the switcher +// +// Component: `uk-switcher` +// +// States: `uk-active` +// +// ======================================================================== + + +/* ======================================================================== + Component: Switcher + ========================================================================== */ + +/* + * 1. Deactivate browser history navigation in IE11 + */ +.uk-switcher { + margin: 0; + padding: 0; + list-style: none; + /* 1 */ + touch-action: cross-slide-y pinch-zoom double-tap-zoom; +} + +/* + * Items + */ + +.uk-switcher > :not(.uk-active) { display: none; } + + +// Hooks +// ======================================================================== + +.hook-switcher-misc; + +.hook-switcher-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/tab.less b/bower_components/uikit/less/core/tab.less new file mode 100644 index 0000000..4547491 --- /dev/null +++ b/bower_components/uikit/less/core/tab.less @@ -0,0 +1,368 @@ +// Name: Tab +// Description: Defines styles for a tabbed navigation +// +// Component: `uk-tab` +// +// Modifiers: `uk-tab-flip` +// `uk-tab-center` +// `uk-tab-grid` +// `uk-tab-bottom` +// `uk-tab-left` +// `uk-tab-right` +// `uk-tab-responsive` +// +// States: `uk-active` +// `uk-disabled` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@tab-border: #ddd; +@tab-border-width: 1px; +@tab-padding-horizontal: 12px; +@tab-padding-vertical: 8px; +@tab-padding-top: @tab-padding-vertical; +@tab-padding-bottom: @tab-padding-vertical; +@tab-margin-horizontal: 5px; +@tab-margin-vertical: 5px; +@tab-color: #07D; +@tab-hover-border: #f5f5f5; +@tab-hover-background: #f5f5f5; +@tab-hover-color: #059; +@tab-active-border: #ddd; +@tab-active-background: #fff; +@tab-active-color: #444; +@tab-disabled-color: #999; + + +/* ======================================================================== + Component: Tab + ========================================================================== */ + +.uk-tab { + margin: 0; + padding: 0; + list-style: none; + border-bottom: @tab-border-width solid @tab-border; +} + +/* + * Micro clearfix on the deepest container + */ + +.uk-tab:before, +.uk-tab:after { + content: ""; + display: table; +} + +.uk-tab:after { clear: both; } + +/* + * Items + * 1. Create position context for dropdowns + */ + +.uk-tab > li { + margin-bottom: -@tab-border-width; + float: left; + /* 1 */ + position: relative; +} + +.uk-tab > li > a { + display: block; + padding: @tab-padding-top @tab-padding-horizontal @tab-padding-bottom @tab-padding-horizontal; + border: @tab-border-width solid transparent; + border-bottom-width: 0; + color: @tab-color; + text-decoration: none; + .hook-tab; +} + +.uk-tab > li:nth-child(n+2) > a { margin-left: @tab-margin-horizontal; } + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Also apply if dropdown is opened + * 3. Remove default focus style + */ + +.uk-tab > li > a:hover, +.uk-tab > li > a:focus, // 1 +.uk-tab > li.uk-open > a { // 2 + border-color: @tab-hover-border; + background: @tab-hover-background; + color: @tab-hover-color; + /* 2 */ + outline: none; + .hook-tab-hover; +} + +.uk-tab > li:not(.uk-active) > a:hover, +.uk-tab > li:not(.uk-active) > a:focus, +.uk-tab > li.uk-open:not(.uk-active) > a { + margin-bottom: @tab-border-width; + padding-bottom: @tab-padding-bottom - @tab-border-width; +} + +/* Active */ +.uk-tab > li.uk-active > a { + border-color: @tab-active-border; + border-bottom-color: transparent; + background: @tab-active-background; + color: @tab-active-color; + .hook-tab-active; +} + +/* Disabled */ +.uk-tab > li.uk-disabled > a { + color: @tab-disabled-color; + cursor: text; + .hook-tab-disabled; +} + +.uk-tab > li.uk-disabled > a:hover, +.uk-tab > li.uk-disabled > a:focus, +.uk-tab > li.uk-disabled.uk-active > a { + background: none; + border-color: transparent; +} + + +/* Modifier: 'tab-flip' + ========================================================================== */ + +.uk-tab-flip > li { float: right; } + +.uk-tab-flip > li:nth-child(n+2) > a { + margin-left: 0; + margin-right: @tab-margin-horizontal; +} + + +/* Modifier: 'tab-responsive' + ========================================================================== */ + +.uk-tab > li.uk-tab-responsive > a { + margin-left: 0; + margin-right: 0; +} + +/* + * Icon + */ + +.uk-tab-responsive > a:before { + content: "\f0c9\00a0"; + font-family: FontAwesome; +} + + +/* Modifier: 'tab-center' + ========================================================================== */ + +.uk-tab-center { border-bottom: @tab-border-width solid @tab-border; } + +.uk-tab-center-bottom { + border-bottom: none; + border-top: @tab-border-width solid @tab-border; +} + +.uk-tab-center:before, +.uk-tab-center:after { + content: ""; + display: table; +} + +.uk-tab-center:after { clear: both; } + + +/* + * 1. Using `right` to prevent vertical scrollbar caused by centering if to many tabs + */ + +.uk-tab-center .uk-tab { + position: relative; + right: 50%; + border: none; + float: right; +} + +.uk-tab-center .uk-tab > li { + position: relative; + right: -50%; +} + +.uk-tab-center .uk-tab > li > a { text-align: center; } + + +/* Modifier: 'tab-bottom' + ========================================================================== */ + +.uk-tab-bottom { + border-top: @tab-border-width solid @tab-border; + border-bottom: none; +} + +.uk-tab-bottom > li { + margin-top: -@tab-border-width; + margin-bottom: 0; +} + +.uk-tab-bottom > li > a { + padding-top: @tab-padding-bottom; + padding-bottom: @tab-padding-top; + border-bottom-width: @tab-border-width; + border-top-width: 0; +} + +.uk-tab-bottom > li:not(.uk-active) > a:hover, +.uk-tab-bottom > li:not(.uk-active) > a:focus, +.uk-tab-bottom > li.uk-open:not(.uk-active) > a { + margin-bottom: 0; + margin-top: @tab-border-width; + padding-bottom: @tab-padding-top; + padding-top: @tab-padding-bottom - @tab-border-width; +} + +.uk-tab-bottom > li.uk-active > a { + border-top-color: transparent; + border-bottom-color: @tab-active-border; +} + + +/* Modifier: 'tab-grid' + ========================================================================== */ + +/* + * 1. Create position context to prevent hidden border because of negative `z-index` + */ + +.uk-tab-grid { + margin-left: -@tab-margin-horizontal; + border-bottom: none; + /* 1 */ + position: relative; + z-index: 0; +} + +.uk-tab-grid:before { + display: block; + position: absolute; + left: @tab-margin-horizontal; + right: 0; + bottom: -@tab-border-width; + border-top: @tab-border-width solid @tab-border; + /* 1 */ + z-index: -1; +} + +.uk-tab-grid > li:first-child > a { margin-left: @tab-margin-horizontal; } + +.uk-tab-grid > li > a { text-align: center; } + +/* + * If `uk-tab-bottom` + */ + +.uk-tab-grid.uk-tab-bottom { border-top: none; } +.uk-tab-grid.uk-tab-bottom:before { + top: -@tab-border-width; + bottom: auto; +} + + +/* Modifier: 'tab-left', 'tab-right' + ========================================================================== */ + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + .uk-tab-left, + .uk-tab-right { border-bottom: none; } + + .uk-tab-left > li, + .uk-tab-right > li { + margin-bottom: 0; + float: none; + } + + .uk-tab-left > li > a, + .uk-tab-right > li > a { + padding-top: @tab-padding-vertical; + padding-bottom: @tab-padding-vertical; + } + + .uk-tab-left > li:nth-child(n+2) > a, + .uk-tab-right > li:nth-child(n+2) > a { + margin-left: 0; + margin-top: @tab-margin-vertical; + } + + .uk-tab-left > li.uk-active > a, + .uk-tab-right > li.uk-active > a { border-color: @tab-active-border; } + + /* + * Modifier: 'tab-left' + */ + + .uk-tab-left { border-right: @tab-border-width solid @tab-border; } + .uk-tab-left > li { margin-right: -@tab-border-width; } + .uk-tab-left > li > a { + border-bottom-width: @tab-border-width; + border-right-width: 0; + } + .uk-tab-left > li:not(.uk-active) > a:hover, + .uk-tab-left > li:not(.uk-active) > a:focus { + margin-bottom: 0; + margin-right: @tab-border-width; + padding-bottom: @tab-padding-vertical; + padding-right: @tab-padding-horizontal - @tab-border-width; + } + .uk-tab-left > li.uk-active > a { border-right-color: transparent; } + + /* + * Modifier: 'tab-right' + */ + + .uk-tab-right { border-left: @tab-border-width solid @tab-border; } + .uk-tab-right > li { margin-left: -@tab-border-width; } + .uk-tab-right > li > a { + border-bottom-width: @tab-border-width; + border-left-width: 0; + } + .uk-tab-right > li:not(.uk-active) > a:hover, + .uk-tab-right > li:not(.uk-active) > a:focus { + margin-bottom: 0; + margin-left: @tab-border-width; + padding-bottom: @tab-padding-vertical; + padding-left: @tab-padding-horizontal - @tab-border-width; + } + .uk-tab-right > li.uk-active > a { border-left-color: transparent; } + +} + + +// Hooks +// ======================================================================== + +.hook-tab-misc; + +.hook-tab() {} +.hook-tab-hover() {} +.hook-tab-active() {} +.hook-tab-disabled() {} +.hook-tab-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/table.less b/bower_components/uikit/less/core/table.less new file mode 100644 index 0000000..369cbcb --- /dev/null +++ b/bower_components/uikit/less/core/table.less @@ -0,0 +1,147 @@ +// Name: Table +// Description: Defines styles for tables +// +// Component: `uk-table` +// +// Modifiers: `uk-table-middle` +// `uk-table-striped` +// `uk-table-condensed` +// `uk-table-hover` +// +// States: `uk-active` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@table-margin-vertical: 15px; +@table-padding-vertical: 8px; +@table-padding-horizontal: 8px; + +@table-caption-color: #999; +@table-caption-font-size: 12px; + +@table-striped-background: #f5f5f5; + +@table-condensed-padding-vertical: 4px; +@table-condensed-padding-horizontal: 8px; + +@table-hover-background: #EEE; + +@table-active-background: @table-hover-background; + + +/* ======================================================================== + Component: Table + ========================================================================== */ + +/* + * 1. Remove most spacing between table cells. + * 2. Block element behavior + * 3. Style + */ + +.uk-table { + /* 1 */ + border-collapse: collapse; + border-spacing: 0; + /* 2 */ + width: 100%; + /* 3 */ + margin-bottom: @table-margin-vertical; +} + +/* + * Add margin if adjacent element + */ + +* + .uk-table { margin-top: @table-margin-vertical; } + +.uk-table th, +.uk-table td { + padding: @table-padding-vertical @table-padding-horizontal; + .hook-table; +} + +/* + * Set alignment + */ + +.uk-table th { text-align: left; } +.uk-table td { vertical-align: top; } + +.uk-table thead th { vertical-align: bottom; } + +/* + * Caption and footer + */ + +.uk-table caption, +.uk-table tfoot { + font-size: @table-caption-font-size; + font-style: italic; +} + +.uk-table caption { + text-align: left; + color: @table-caption-color; +} + +/* + * Active State + */ + +.uk-table tbody tr.uk-active { + background: @table-active-background; + .hook-table-active; +} + + +/* Sub-modifier: `uk-table-middle` + ========================================================================== */ + +.uk-table-middle, +.uk-table-middle td { vertical-align: middle !important; } + + +/* Modifier: `uk-table-striped` + ========================================================================== */ + +.uk-table-striped tbody tr:nth-of-type(odd) { + background: @table-striped-background; + .hook-table-striped; +} + + +/* Modifier: `uk-table-condensed` + ========================================================================== */ + +.uk-table-condensed td { + padding: @table-condensed-padding-vertical @table-condensed-padding-horizontal; + .hook-table-condensed; +} + + +/* Modifier: `uk-table-hover` + ========================================================================== */ + +.uk-table-hover tbody tr:hover { + background: @table-hover-background; + .hook-table-hover; +} + + + +// Hooks +// ======================================================================== + +.hook-table-misc; + +.hook-table() {} +.hook-table-active() {} +.hook-table-striped() {} +.hook-table-condensed() {} +.hook-table-hover() {} +.hook-table-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/text.less b/bower_components/uikit/less/core/text.less new file mode 100644 index 0000000..f277f1b --- /dev/null +++ b/bower_components/uikit/less/core/text.less @@ -0,0 +1,136 @@ +// Name: Text +// Description: Collection of useful text utility classes to style your content +// +// Component: `uk-text-*` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@text-small-font-size: 11px; +@text-small-line-height: 16px; +@text-large-font-size: 18px; +@text-large-line-height: 24px; +@text-large-font-weight: normal; + +@text-muted-color: #999; +@text-primary-color: #2d7091; +@text-success-color: #659f13; +@text-warning-color: #e28327; +@text-danger-color: #d85030; +@text-contrast-color: #fff; + + +/* ======================================================================== + Component: Text + ========================================================================== */ + +/* Size modifiers + ========================================================================== */ + +.uk-text-small { + font-size: @text-small-font-size; + line-height: @text-small-line-height; +} + +.uk-text-large { + font-size: @text-large-font-size; + line-height: @text-large-line-height; + font-weight: @text-large-font-weight; +} + + +/* Weight modifiers + ========================================================================== */ + +.uk-text-bold { font-weight: bold; } + + +/* Color modifiers + ========================================================================== */ + +.uk-text-muted { color: @text-muted-color !important; } +.uk-text-primary { color: @text-primary-color !important; } +.uk-text-success { color: @text-success-color !important; } +.uk-text-warning { color: @text-warning-color !important; } +.uk-text-danger { color: @text-danger-color !important; } +.uk-text-contrast { color: @text-contrast-color !important; } + + +/* Alignment modifiers + ========================================================================== */ + +.uk-text-left { text-align: left !important; } +.uk-text-right { text-align: right !important; } +.uk-text-center { text-align: center !important; } +.uk-text-justify { text-align: justify !important; } + +.uk-text-top { vertical-align: top !important; } +.uk-text-middle { vertical-align: middle !important; } +.uk-text-bottom { vertical-align: bottom !important; } + +/* Only tablets portrait and smaller */ +@media (max-width: @breakpoint-medium-max) { + + .uk-text-center-medium { text-align: center !important; } + .uk-text-left-medium { text-align: left !important; } + +} + +/* Phone landscape and smaller */ +@media (max-width: @breakpoint-small-max) { + + .uk-text-center-small { text-align: center !important; } + .uk-text-left-small { text-align: left !important; } + +} + + +/* Wrap modifiers + ========================================================================== */ + +/* + * Prevent text from wrapping onto multiple lines + */ + +.uk-text-nowrap { white-space: nowrap; } + +/* + * Prevent text from wrapping onto multiple lines, and truncate with an ellipsis + */ + +.uk-text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* + * Break strings if their length exceeds the width of their container + */ + +.uk-text-break { + word-wrap: break-word; + -webkit-hyphens: auto; + -ms-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; +} + + +/* Transform modifiers + ========================================================================== */ + +.uk-text-capitalize { text-transform: capitalize !important; } +.uk-text-lowercase { text-transform: lowercase !important; } +.uk-text-uppercase { text-transform: uppercase !important; } + + +// Hooks +// ======================================================================== + +.hook-text-misc; + +.hook-text-misc() {} diff --git a/bower_components/uikit/less/core/thumbnail.less b/bower_components/uikit/less/core/thumbnail.less new file mode 100644 index 0000000..dcc04df --- /dev/null +++ b/bower_components/uikit/less/core/thumbnail.less @@ -0,0 +1,122 @@ +// Name: Thumbnail +// Description: Defines styles for image thumbnails +// +// Component: `uk-thumbnail` +// +// Sub-objects: `uk-thumbnail-caption` +// +// Modifiers: `uk-thumbnail-mini` +// `uk-thumbnail-small` +// `uk-thumbnail-medium` +// `uk-thumbnail-large` +// `uk-thumbnail-expand` +// +// Markup: +// +// +//
                  +// +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@thumbnail-padding: 4px; +@thumbnail-border: #ddd; +@thumbnail-border-width: 1px; +@thumbnail-background: #fff; +@thumbnail-hover-border: #aaa; +@thumbnail-hover-background: #fff; + +@thumbnail-caption-padding: @thumbnail-padding; +@thumbnail-caption-color: #444; + +@thumbnail-mini-width: 150px; +@thumbnail-small-width: 200px; +@thumbnail-medium-width: 300px; +@thumbnail-large-width: 400px; + + +/* ======================================================================== + Component: Thumbnail + ========================================================================== */ + +/* + * 1. Container width fits its content + * 2. Responsive behavior + * 3. Corrects `max-width` behavior sed + * 4. Required for `figure` element + * 5. Style + */ + +.uk-thumbnail { + /* 1 */ + display: inline-block; + /* 2 */ + max-width: 100%; + /* 3 */ + box-sizing: border-box; + /* 3 */ + margin: 0; + /* 4 */ + padding: @thumbnail-padding; + border: @thumbnail-border-width solid @thumbnail-border; + background: @thumbnail-background; + .hook-thumbnail; +} + +/* + * Hover state for `a` elements + * 1. Apply hover style also to focus state + * 2. Needed for caption + * 3. Remove default focus style + */ + +a.uk-thumbnail:hover, +a.uk-thumbnail:focus { // 1 + border-color: @thumbnail-hover-border; + background-color: @thumbnail-hover-background; + /* 2 */ + text-decoration: none; + /* 3 */ + outline: none; + .hook-thumbnail-hover; +} + + +/* Caption + ========================================================================== */ + +.uk-thumbnail-caption { + padding-top: @thumbnail-caption-padding; + text-align: center; + color: @thumbnail-caption-color; + .hook-thumbnail-caption; +} + + +/* Sizes + ========================================================================== */ + +.uk-thumbnail-mini { width: @thumbnail-mini-width; } +.uk-thumbnail-small { width: @thumbnail-small-width; } +.uk-thumbnail-medium { width: @thumbnail-medium-width; } +.uk-thumbnail-large { width: @thumbnail-large-width; } + +.uk-thumbnail-expand, +.uk-thumbnail-expand > img { width: 100%; } + + +// Hooks +// ======================================================================== + +.hook-thumbnail-misc; + +.hook-thumbnail() {} +.hook-thumbnail-hover() {} +.hook-thumbnail-caption() {} +.hook-thumbnail-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/thumbnav.less b/bower_components/uikit/less/core/thumbnav.less new file mode 100644 index 0000000..69931da --- /dev/null +++ b/bower_components/uikit/less/core/thumbnav.less @@ -0,0 +1,122 @@ +// Name: Thumbnav +// Description: Defines styles for a thumbnail navigation +// +// Component: `uk-thumbnav` +// +// States: `uk-active` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@thumbnav-margin-horizontal: 10px; +@thumbnav-margin-vertical: @thumbnav-margin-horizontal; + +@thumbnav-background: #fff; + +@thumbnav-opacity: 0.7; +@thumbnav-hover-opacity: 1; +@thumbnav-active-opacity: 1; + + +/* ======================================================================== + Component: Thumbnav + ========================================================================== */ + +/* + * 1. Gutter + * 2. Remove default list style + */ + +.uk-thumbnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -@thumbnav-margin-horizontal; + margin-top: -@thumbnav-margin-vertical; + /* 2 */ + padding: 0; + list-style: none; +} + +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + */ + +.uk-thumbnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: @thumbnav-margin-horizontal; + margin-top: @thumbnav-margin-vertical; +} + +/* + * DEPRECATED IE9 Support + */ + +.uk-thumbnav:before, +.uk-thumbnav:after { + content: ""; + display: block; + overflow: hidden; +} + +.uk-thumbnav:after { clear: both; } + +.uk-thumbnav > * { float: left; } + + +/* Items + ========================================================================== */ + +.uk-thumbnav > * > * { + display: block; + background: @thumbnav-background; + .hook-thumbnav; +} + +.uk-thumbnav > * > * > img { + opacity: @thumbnav-opacity; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +/* + * Hover + */ + +.uk-thumbnav > * > :hover > img, +.uk-thumbnav > * > :focus > img { opacity: @thumbnav-hover-opacity; } + +/* + * Active + */ + +.uk-thumbnav > .uk-active > * > img { opacity: @thumbnav-active-opacity; } + + +// Hooks +// ======================================================================== + +.hook-thumbnav-misc; + +.hook-thumbnav() {} +.hook-thumbnav-misc() {} \ No newline at end of file diff --git a/bower_components/uikit/less/core/utility.less b/bower_components/uikit/less/core/utility.less new file mode 100644 index 0000000..f32a9bf --- /dev/null +++ b/bower_components/uikit/less/core/utility.less @@ -0,0 +1,610 @@ +// Name: Utility +// Description: Collection of useful utility classes to style your content +// +// Component: `uk-container-*` +// `uk-clearfix` +// `uk-nbfc-*` +// `uk-float-*` +// `uk-align-*` +// `uk-vertical-align-*` +// `uk-height-*` +// `uk-responsive-*` +// `uk-margin-*` +// `uk-padding-*` +// `uk-border-*` +// `uk-heading-*` +// `uk-link-*` +// `uk-scrollable-*` +// `uk-overflow-*` +// `uk-position-*` +// `uk-display-*` +// `uk-visible-*` +// `uk-hidden-*` +// `uk-invisible` +// +// Used by: Overlay +// +// ======================================================================== + + +// Variables +// ======================================================================== + +@utility-container-max-width: 980px; +@utility-container-padding-horizontal: 25px; + +@utility-container-large-max-width: 1200px; +@utility-container-large-padding-horizontal: 35px; + +@utility-align-horizontal: 15px; +@utility-align-vertical: 15px; + +@utility-height-viewport-min-height: 600px; + +@utility-margin: 15px; +@utility-margin-small: 5px; +@utility-margin-large: 50px; + +@utility-border-rounded: 5px; + +@utility-heading-large-small-font-size: 36px; +@utility-heading-large-small-line-height: 42px; +@utility-heading-large-font-size: 52px; +@utility-heading-large-line-height: 64px; + +@utility-link-muted-color: #444; +@utility-link-muted-hover-color: #444; + +@utility-scrollable-text-height: 300px; + +@utility-scrollable-box-height: 170px; +@utility-scrollable-box-padding: 10px; +@utility-scrollable-box-border: #ddd; +@utility-scrollable-box-border-width: 1px; + + +/* ======================================================================== + Component: Utility + ========================================================================== */ + +/* Container + ========================================================================== */ + +.uk-container { + box-sizing: border-box; + max-width: @utility-container-max-width; + padding: 0 @utility-container-padding-horizontal; + .hook-container; +} + +/* Large screen and bigger */ +@media (min-width: @breakpoint-xlarge) { + + .uk-container { + max-width: @utility-container-large-max-width; + padding: 0 @utility-container-large-padding-horizontal; + } + +} + +/* + * Micro clearfix + */ + +.uk-container:before, +.uk-container:after { + content: ""; + display: table; +} + +.uk-container:after { clear: both; } + +/* + * Center container + */ + +.uk-container-center { + margin-left: auto; + margin-right: auto; +} + + +/* Clearing + ========================================================================== */ + +/* + * Micro clearfix +* `table-cell` is used with `:before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit + * `table` is used again with `:after` because `clear` only works with block elements. + * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari + */ + +.uk-clearfix:before { + content: ""; + display: table-cell; +} + +.uk-clearfix:after { + content: ""; + display: table; + clear: both; +} + + +/* + * Create a new block formatting context + */ + +.uk-nbfc { overflow: hidden; } + +.uk-nbfc-alt { + display: table-cell; + width: 10000px; +} + + +/* Alignment of block elements + ========================================================================== */ + +/* + * Float blocks + * 1. Prevent content overflow on small devices + */ + +.uk-float-left { float: left; } +.uk-float-right { float: right; } + +/* 1 */ +[class*='uk-float-'] { max-width: 100%; } + + +/* Alignment of images and objects + ========================================================================== */ + +/* + * Alignment + */ + +[class*='uk-align-'] { + display: block; + margin-bottom: @utility-align-vertical; +} + +.uk-align-left { + margin-right: @utility-align-horizontal; + float: left; +} + +.uk-align-right { + margin-left: @utility-align-horizontal; + float: right; +} + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + .uk-align-medium-left { + margin-right: @utility-align-horizontal; + float: left; + } + + .uk-align-medium-right { + margin-left: @utility-align-horizontal; + float: right; + } + +} + +.uk-align-center { + margin-left: auto; + margin-right: auto; +} + + +/* Vertical alignment + ========================================================================== */ + +/* + * Remove whitespace between child elements when using `inline-block` + */ + +.uk-vertical-align { font-size: 0.001px; } + +/* + * The `uk-vertical-align` container needs a specific height + */ + +.uk-vertical-align:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} + +/* + * Sub-object which can have any height + * 1. Reset whitespace hack + */ + +.uk-vertical-align-middle, +.uk-vertical-align-bottom { + display: inline-block; + max-width: 100%; + /* 1 */ + font-size: 1rem; +} + +.uk-vertical-align-middle { vertical-align: middle; } +.uk-vertical-align-bottom { vertical-align: bottom; } + + +/* Height + ========================================================================== */ + +/* + * More robust if padding and border are used + */ + +[class*='uk-height'] { box-sizing: border-box; } + +/* + * Useful to extend the `html` and `body` element to the full height of the page. + */ + +.uk-height-1-1 { height: 100%; } + +/* + * Useful to create image teasers + */ + +.uk-height-viewport { + height: 100vh; + min-height: @utility-height-viewport-min-height; +} + + +/* Responsive objects + * Note: Images are already responsive by default, see Base component + ========================================================================== */ + +/* + * 1. Corrects `max-width` and `max-height` behavior if padding and border are used + */ + +.uk-responsive-width, +.uk-responsive-height { box-sizing: border-box; } + +/* + * Responsiveness: Sets a maximum width relative to the parent and auto scales the height + * `important` needed to override `uk-img-preserve img` + */ + +.uk-responsive-width { + max-width: 100% !important; + height: auto; +} + +/* + * Responsiveness: Sets a maximum height relative to the parent and auto scales the width + * Only works if the parent element has a fixed height. + */ + +.uk-responsive-height { + max-height: 100%; + width: auto; +} + + +/* Margin + ========================================================================== */ + +/* + * Create a block with the same margin of a paragraph + * Add margin if adjacent element + */ + +.uk-margin { margin-bottom: @utility-margin; } +* + .uk-margin { margin-top: @utility-margin; } + +.uk-margin-top { margin-top: @utility-margin !important; } +.uk-margin-bottom { margin-bottom: @utility-margin !important; } +.uk-margin-left { margin-left: @utility-margin !important; } +.uk-margin-right { margin-right: @utility-margin !important; } + +/* + * Larger margins + */ + +.uk-margin-large { margin-bottom: @utility-margin-large; } +* + .uk-margin-large { margin-top: @utility-margin-large; } + +.uk-margin-large-top { margin-top: @utility-margin-large !important; } +.uk-margin-large-bottom { margin-bottom: @utility-margin-large !important; } +.uk-margin-large-left { margin-left: @utility-margin-large !important; } +.uk-margin-large-right { margin-right: @utility-margin-large !important; } + +/* + * Smaller margins + */ + +.uk-margin-small { margin-bottom: @utility-margin-small; } +* + .uk-margin-small { margin-top: @utility-margin-small; } + +.uk-margin-small-top { margin-top: @utility-margin-small !important; } +.uk-margin-small-bottom { margin-bottom: @utility-margin-small !important; } +.uk-margin-small-left { margin-left: @utility-margin-small !important; } +.uk-margin-small-right { margin-right: @utility-margin-small !important; } + +/* + * Remove margins + */ + +.uk-margin-remove { margin: 0 !important; } +.uk-margin-top-remove { margin-top: 0 !important; } +.uk-margin-bottom-remove { margin-bottom: 0 !important; } + + +/* Padding + ========================================================================== */ + +.uk-padding-remove { padding: 0 !important; } +.uk-padding-top-remove { padding-top: 0 !important; } +.uk-padding-bottom-remove { padding-bottom: 0 !important; } + +.uk-padding-vertical-remove { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +/* Border + ========================================================================== */ + +.uk-border-circle { border-radius: 50%; } +.uk-border-rounded { border-radius: @utility-border-rounded; } + + +/* Headings + ========================================================================== */ + +.uk-heading-large { + font-size: @utility-heading-large-small-font-size; + line-height: @utility-heading-large-small-line-height; +} + +/* Tablet and bigger */ +@media (min-width: @breakpoint-medium) { + + .uk-heading-large { + font-size: @utility-heading-large-font-size; + line-height: @utility-heading-large-line-height; + } + +} + + +/* Link + ========================================================================== */ + +/* + * Let links appear in default text color + */ + +.uk-link-muted, +.uk-link-muted a { color: @utility-link-muted-color; } + +.uk-link-muted:hover, +.uk-link-muted a:hover { color: @utility-link-muted-hover-color; } + +/* + * Reset link style + */ + +.uk-link-reset, +.uk-link-reset a, +.uk-link-reset:hover, +.uk-link-reset a:hover, +.uk-link-reset:focus, +.uk-link-reset a:focus { + color: inherit; + text-decoration: none; +} + + +/* Scrollable + ========================================================================== */ + +/* + * Enable scrolling for preformatted text + */ + +.uk-scrollable-text { + height: @utility-scrollable-text-height; + overflow-y: scroll; + -webkit-overflow-scrolling: touch; + resize: both; +} + +/* + * Box with scrolling enabled + */ + +.uk-scrollable-box { + box-sizing: border-box; + height: @utility-scrollable-box-height; + padding: @utility-scrollable-box-padding; + border: @utility-scrollable-box-border-width solid @utility-scrollable-box-border; + overflow: auto; + -webkit-overflow-scrolling: touch; + resize: both; + .hook-scrollable-box; +} + +.uk-scrollable-box > :last-child { margin-bottom: 0; } + + +/* Overflow + ========================================================================== */ + +.uk-overflow-hidden { overflow: hidden; } + +/* + * Enable scrollbars if content is clipped + */ + +.uk-overflow-container { + overflow: auto; + -webkit-overflow-scrolling: touch; +} + +.uk-overflow-container > :last-child { margin-bottom: 0; } + + +/* Position + ========================================================================== */ + +.uk-position-absolute, +[class*='uk-position-top'], +[class*='uk-position-bottom'] { position: absolute !important; } + +/* Don't use `width: 100%` because it is wrong if the parent has padding. */ +.uk-position-top { + top: 0; + left: 0; + right: 0; +} + +.uk-position-bottom { + bottom: 0; + left: 0; + right: 0; +} + +.uk-position-top-left { + top: 0; + left: 0; +} + +.uk-position-top-right { + top: 0; + right: 0; +} + +.uk-position-bottom-left { + bottom: 0; + left: 0; +} + +.uk-position-bottom-right { + bottom: 0; + right: 0; +} + +/* + * Cover + */ + +.uk-position-cover { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + +/* + * Relative + */ + +.uk-position-relative { position: relative !important; } + +/* + * Z-index + */ + +.uk-position-z-index { z-index: 1; } + + +/* Display + ========================================================================== */ + +/* + * Display + * 1. Required if child is a responsive image + */ + +.uk-display-block { display: block !important; } +.uk-display-inline { display: inline !important; } + +.uk-display-inline-block { + display: inline-block !important; + /* 1 */ + max-width: 100%; +} + +/* + * Visibility + * Avoids setting display to `block` so it works also with `inline-block` and `table` + */ + +/* Desktop and bigger */ +@media (min-width: @breakpoint-large) { + + .uk-visible-small { display: none !important; } + .uk-visible-medium { display: none !important; } + .uk-hidden-large { display: none !important; } + +} + +/* Tablets portrait */ +@media (min-width: @breakpoint-medium) and (max-width: @breakpoint-medium-max) { + + .uk-visible-small { display: none !important; } + .uk-visible-large { display: none !important ; } + .uk-hidden-medium { display: none !important; } + +} + +/* Phone landscape and smaller*/ +@media (max-width: @breakpoint-small-max) { + + .uk-visible-medium { display: none !important; } + .uk-visible-large { display: none !important; } + .uk-hidden-small { display: none !important; } + +} + +/* Remove from the flow and screen readers on any device */ +.uk-hidden { + display: none !important; + visibility: hidden !important; +} + +/* It's hidden, but still affects layout */ +.uk-invisible { visibility: hidden !important; } + +/* Show on hover */ +.uk-visible-hover:hover .uk-hidden, +.uk-visible-hover:hover .uk-invisible { + display: block !important; + visibility: visible !important; +} + +.uk-visible-hover-inline:hover .uk-hidden, +.uk-visible-hover-inline:hover .uk-invisible { + display: inline-block !important; + visibility: visible !important; +} + +/* Hide on touch */ +.uk-touch .uk-hidden-touch, +.uk-notouch .uk-hidden-notouch { display: none !important; } + + +// Hooks +// ======================================================================== + +.hook-utility-misc; + +.hook-container() {} +.hook-scrollable-box() {} +.hook-utility-misc() {} diff --git a/bower_components/uikit/less/core/variables.less b/bower_components/uikit/less/core/variables.less new file mode 100644 index 0000000..2b0f0b9 --- /dev/null +++ b/bower_components/uikit/less/core/variables.less @@ -0,0 +1,23 @@ +// +// Component: Variables +// Description: Defines all color and style related values as variables +// to allow easy customization for the most common cases. +// +// ======================================================================== + + +// Global variables +// ======================================================================== + +// +// Breakpoints +// +@breakpoint-small: 480px; +@breakpoint-medium: 768px; +@breakpoint-large: 960px; +@breakpoint-xlarge: 1220px; + +@breakpoint-mini-max: (@breakpoint-small - 1); +@breakpoint-small-max: (@breakpoint-medium - 1); +@breakpoint-medium-max: (@breakpoint-large - 1); +@breakpoint-large-max: (@breakpoint-xlarge - 1); diff --git a/bower_components/uikit/less/uikit-variables.less b/bower_components/uikit/less/uikit-variables.less new file mode 100644 index 0000000..a0b49da --- /dev/null +++ b/bower_components/uikit/less/uikit-variables.less @@ -0,0 +1,819 @@ +@accordion-title-margin-bottom: 15px; +@accordion-title-padding-vertical: 5px; +@accordion-title-padding-horizontal: 15px; +@accordion-title-font-size: 18px; +@accordion-title-line-height: 24px; +@accordion-title-background: #eee; +@accordion-content-padding-horizontal: @accordion-title-padding-horizontal; +@accordion-content-padding-bottom: @accordion-title-padding-horizontal; +@nav-autocomplete-color: #444; +@nav-autocomplete-active-background: #00a8e6; +@nav-autocomplete-active-color: #fff; +@nav-autocomplete-header-color: #999; +@nav-autocomplete-divider-border: #ddd; +@nav-autocomplete-divider-border-width: 1px; +@datepicker-z-index: 1050; +@datepicker-animation: uk-fade; +@datepicker-nav-height: 20px; +@datepicker-nav-margin-bottom: 15px; +@datepicker-nav-color: #444; +@datepicker-nav-hover-color: #444; +@datepicker-previous-icon: "\f053"; +@datepicker-next-icon: "\f054"; +@datepicker-table-width: 26px; +@datepicker-table-height: 24px; +@datepicker-table-color: #444; +@datepicker-table-hover-background: #ddd; +@datepicker-table-hover-color: #444; +@datepicker-table-onclick-background: #ccc; +@datepicker-table-onclick-color: #444; +@datepicker-table-active-background: #00a8e6; +@datepicker-table-active-color: #fff; +@datepicker-table-muted-color: #999; +@dotnav-margin-horizontal: 15px; +@dotnav-margin-vertical: @dotnav-margin-horizontal; +@dotnav-width: 20px; +@dotnav-height: @dotnav-width; +@dotnav-background: rgba(50,50,50,0.1); +@dotnav-hover-background: rgba(50,50,50,0.4); +@dotnav-onclick-background: rgba(50,50,50,0.6); +@dotnav-active-background: rgba(50,50,50,0.4); +@dotnav-contrast-background: rgba(255,255,255,0.4); +@dotnav-contrast-hover-background: rgba(255,255,255,0.7); +@dotnav-contrast-onclick-background: rgba(255,255,255,0.9); +@dotnav-contrast-active-background: rgba(255,255,255,0.9); +@form-advanced-size: 14px; +@form-advanced-border: #aaa; +@form-advanced-border-width: 1px; +@form-advanced-margin-top: -4px; +@form-advanced-color: transparent; +@form-advanced-checked-color: #00a8e6; +@form-advanced-radio-size: 8px; +@form-advanced-checkbox-icon: "\f00c"; +@form-advanced-checkbox-indeterminate-icon: "\f068"; +@form-advanced-checkbox-font-size: 12px; +@form-advanced-disabled-border: #ddd; +@form-advanced-disabled-color: #aaa; +@form-password-font-size: 13px; +@form-password-line-height: @form-password-font-size; +@form-password-color: #999; +@form-password-hover-color: #999; +@form-password-padding: 50px; +@htmleditor-navbar-background: #eee; +@htmleditor-navbar-nav-height: 40px; +@htmleditor-navbar-nav-padding-horizontal: 15px; +@htmleditor-navbar-nav-line-height: @htmleditor-navbar-nav-height; +@htmleditor-navbar-nav-color: #444; +@htmleditor-navbar-nav-hover-background: #f5f5f5; +@htmleditor-navbar-nav-hover-color: #444; +@htmleditor-navbar-nav-onclick-background: #ddd; +@htmleditor-navbar-nav-onclick-color: #444; +@htmleditor-navbar-nav-active-background: #f5f5f5; +@htmleditor-navbar-nav-active-color: #444; +@htmleditor-content-border: #ddd; +@htmleditor-content-background: #fff; +@htmleditor-content-padding: 20px; +@htmleditor-content-split-border: #eee; +@htmleditor-fullscreen-z-index: 990; +@htmleditor-fullscreen-content-top: @htmleditor-navbar-nav-height; +@htmleditor-fullscreen-icon-resize: "\f066"; +@nestable-padding-left: 40px; +@nestable-item-margin: 10px; +@nestable-dragged-z-index: 1050; +@nestable-placeholder-border: #ddd; +@nestable-empty-height: 30px; +@nestable-toggle-icon: "\f147"; +@nestable-toggle-collapsed-icon: "\f196"; +@nestable-panel-padding: 5px; +@nestable-panel-background: #f5f5f5; +@notify-position: 10px; +@notify-z-index: 1040; +@notify-width: 350px; +@notify-message-margin-bottom: 10px; +@notify-message-padding: 15px; +@notify-message-background: #444; +@notify-message-color: #fff; +@notify-message-font-size: 16px; +@notify-message-line-height: 22px; +@notify-message-primary-background: #ebf7fd; +@notify-message-primary-color: #2d7091; +@notify-message-success-background: #f2fae3; +@notify-message-success-color: #659f13; +@notify-message-warning-background: #fffceb; +@notify-message-warning-color: #e28327; +@notify-message-danger-background: #fff1f0; +@notify-message-danger-color: #d85030; +@placeholder-margin-vertical: 15px; +@placeholder-padding: 20px; +@placeholder-border: #ddd; +@placeholder-background: #fafafa; +@placeholder-color: #444; +@placeholder-large-padding-vertical: 80px; +@progress-height: 20px; +@progress-mini-height: 6px; +@progress-small-height: 12px; +@progress-margin-vertical: 15px; +@progress-background: #eee; +@progress-bar-background: #00a8e6; +@progress-bar-font-size: 12px; +@progress-bar-color: #fff; +@progress-bar-success-background: #8cc14c; +@progress-bar-warning-background: #faa732; +@progress-bar-danger-background: #da314b; +@search-width: 120px; +@search-focus-width: 180px; +@search-height: 30px; +@search-padding: 30px; +@search-border: rgba(0,0,0,0); +@search-border-width: 1px; +@search-background: rgba(0,0,0,0); +@search-color: #444; +@search-placeholder-color: #999; +@search-icon: "\f002"; +@search-icon-size: 14px; +@search-icon-color: rgba(0,0,0,0.2); +@dropdown-search-width: 300px; +@dropdown-search-margin-top: 0; +@dropdown-search-background: #f5f5f5; +@dropdown-search-color: #444; +@dropdown-search-animation: uk-slide-top-fixed; +@dropdown-search-navbar-margin-top: 5px; +@dropdown-search-navbar-margin-right: -15px; +@nav-search-color: #444; +@nav-search-active-background: #00a8e6; +@nav-search-active-color: #fff; +@nav-search-header-color: #999; +@nav-search-divider-border: #ddd; +@nav-search-divider-border-width: 1px; +@nav-search-nested-color: #07D; +@nav-search-nested-hover-color: #059; +@offcanvas-search-margin: 20px 15px; +@offcanvas-search-background: #1a1a1a; +@offcanvas-search-border: rgba(0,0,0,0); +@offcanvas-search-color: #ccc; +@offcanvas-search-placeholder-color: #777; +@offcanvas-search-icon-color: #777; +@slidenav-width: 60px; +@slidenav-height: @slidenav-width; +@slidenav-color: rgba(50,50,50,0.4); +@slidenav-font-size: 60px; +@slidenav-line-height: @slidenav-height; +@slidenav-previous-icon: "\f104"; +@slidenav-next-icon: "\f105"; +@slidenav-hover-color: rgba(50,50,50,0.7); +@slidenav-active-color: rgba(50,50,50,0.9); +@slidenav-position-previous: 20px; +@slidenav-position-next: @slidenav-position-previous; +@slidenav-contrast-color: rgba(255,255,255,0.5); +@slidenav-contrast-hover-color: rgba(255,255,255,0.7); +@slidenav-contrast-active-color: rgba(255,255,255,0.9); +@sortable-dragged-z-index: 1050; +@sortable-placeholder-opacity: 0; +@sortable-empty-height: 30px; +@sticky-z-index: 980; +@sticky-animation-duration: 0.2s; +@sticky-reverse-animation-duration: 0.2s; +@tooltip-z-index: 1030; +@tooltip-max-width: 200px; +@tooltip-padding-vertical: 5px; +@tooltip-padding-horizontal: 8px; +@tooltip-background: #333; +@tooltip-triangle-size: 5px; +@tooltip-color: rgba(255,255,255,0.7); +@tooltip-font-size: 12px; +@tooltip-line-height: 18px; +@tooltip-offset-horizontal: 10px; +@uk-upload-dragover-box-shadow: rgba(100,100,100,0.3); +@uk-upload-dragover-box-shadow-blur: 20px; +@alert-margin-vertical: 15px; +@alert-padding: 10px; +@alert-background: #ebf7fd; +@alert-color: #2d7091; +@alert-success-background: #f2fae3; +@alert-success-color: #659f13; +@alert-warning-background: #fffceb; +@alert-warning-color: #e28327; +@alert-danger-background: #fff1f0; +@alert-danger-color: #d85030; +@alert-large-padding: 20px; +@article-margin-top: 25px; +@article-title-font-size: 36px; +@article-title-line-height: 42px; +@article-title-font-weight: normal; +@article-title-text-transform: none; +@article-meta-font-size: 12px; +@article-meta-line-height: 18px; +@article-meta-color: #999; +@article-lead-color: #444; +@article-lead-font-size: 18px; +@article-lead-line-height: 24px; +@article-lead-font-weight: normal; +@article-divider-margin: 25px; +@article-divider-border: #ddd; +@badge-background: #00a8e6; +@badge-padding-horizontal: 5px; +@badge-font-size: 10px; +@badge-font-weight: bold; +@badge-line-height: 14px; +@badge-color: #fff; +@badge-text-transform: none; +@badge-hover-color: #fff; +@badge-notification-font-size: 12px; +@badge-notification-line-height: 18px; +@badge-success-background: #8cc14c; +@badge-warning-background: #faa732; +@badge-danger-background: #da314b; +@base-body-background: #fff; +@base-body-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +@base-body-font-weight: normal; +@base-body-font-size: 14px; +@base-body-line-height: 20px; +@base-body-color: #444; +@base-link-color: #07D; +@base-link-text-decoration: none; +@base-link-hover-color: #059; +@base-link-hover-text-decoration: underline; +@base-code-color: #D05; +@base-code-font-size: 12px; +@base-code-font-family: Consolas, monospace, serif; +@base-em-color: #D05; +@base-ins-background: #ffa; +@base-ins-color: #444; +@base-mark-background: #ffa; +@base-mark-color: #444; +@base-quote-font-style: italic; +@base-margin-vertical: 15px; +@base-heading-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +@base-heading-font-weight: normal; +@base-heading-color: #444; +@base-heading-text-transform: none; +@base-heading-margin-top: 25px; +@base-h1-font-size: 36px; +@base-h1-line-height: 42px; +@base-h2-font-size: 24px; +@base-h2-line-height: 30px; +@base-h3-font-size: 18px; +@base-h3-line-height: 24px; +@base-h4-font-size: 16px; +@base-h4-line-height: 22px; +@base-h5-font-size: 14px; +@base-h5-line-height: 20px; +@base-h6-font-size: 12px; +@base-h6-line-height: 18px; +@base-list-padding-left: 30px; +@base-hr-margin-vertical: @base-margin-vertical; +@base-hr-border: #ddd; +@base-hr-border-width: 1px; +@base-blockquote-padding-left: 15px; +@base-blockquote-border: #ddd; +@base-blockquote-border-width: 5px; +@base-blockquote-font-size: 16px; +@base-blockquote-line-height: 22px; +@base-blockquote-font-style: italic; +@base-pre-padding: 10px; +@base-pre-background: #f5f5f5; +@base-pre-color: #444; +@base-pre-font-size: 12px; +@base-pre-line-height: 18px; +@base-pre-font-family: @base-code-font-family; +@base-selection-background: #39f; +@base-selection-color: #fff; +@block-padding-vertical: 20px; +@block-padding-vertical-large: 50px; +@block-large-padding-vertical: @block-padding-vertical; +@block-large-padding-vertical-medium: @block-padding-vertical-large; +@block-large-padding-vertical-large: 100px; +@block-default-background: #fff; +@block-muted-background: #f9f9f9; +@block-primary-background: #00a8e6; +@block-secondary-background: #222; +@breadcrumb-font-size: 1rem; +@breadcrumb-divider: "/"; +@breadcrumb-divider-margin: 8px; +@breadcrumb-disabled-color: #999; +@button-height: 30px; +@button-mini-height: 20px; +@button-small-height: 25px; +@button-large-height: 40px; +@button-line-height: 30px; +@button-mini-line-height: 20px; +@button-small-line-height: 25px; +@button-large-line-height: 40px; +@button-mini-font-size: 11px; +@button-small-font-size: 12px; +@button-large-font-size: 16px; +@button-padding-horizontal: 12px; +@button-mini-padding-horizontal: 6px; +@button-small-padding-horizontal: 10px; +@button-large-padding-horizontal: 15px; +@button-font-size: 1rem; +@button-background: #eee; +@button-color: #444; +@button-hover-background: #f5f5f5; +@button-hover-color: #444; +@button-active-background: #ddd; +@button-active-color: #444; +@button-primary-background: #00a8e6; +@button-primary-color: #fff; +@button-primary-hover-background: #35b3ee; +@button-primary-hover-color: #fff; +@button-primary-active-background: #0091ca; +@button-primary-active-color: #fff; +@button-success-background: #8cc14c; +@button-success-color: #fff; +@button-success-hover-background: #8ec73b; +@button-success-hover-color: #fff; +@button-success-active-background: #72ae41; +@button-success-active-color: #fff; +@button-danger-background: #da314b; +@button-danger-color: #fff; +@button-danger-hover-background: #e4354f; +@button-danger-hover-color: #fff; +@button-danger-active-background: #c91032; +@button-danger-active-color: #fff; +@button-disabled-background: #f5f5f5; +@button-disabled-color: #999; +@button-link-color: #07D; +@button-link-hover-color: #059; +@button-link-hover-text-decoration: underline; +@button-link-disabled-color: #999; +@close-size: 20px; +@close-alt-padding: 2px; +@close-alt-background: #eee; +@column-gutter: 25px; +@comment-header-margin-bottom: 15px; +@comment-avatar-margin-right: 15px; +@comment-title-margin-top: 5px; +@comment-title-font-size: 16px; +@comment-title-line-height: 22px; +@comment-meta-margin-top: 2px; +@comment-meta-color: #999; +@comment-meta-font-size: 11px; +@comment-meta-line-height: 16px; +@comment-list-margin-top: 15px; +@comment-list-padding-left: 100px; +@contrast-color: #fff; +@contrast-inverted-color: #444; +@contrast-base-color: @contrast-color; +@contrast-base-link-color: fade(@contrast-color, 70%); +@contrast-base-link-text-decoration: none; +@contrast-base-link-hover-color: @contrast-color; +@contrast-base-link-hover-text-decoration: underline; +@contrast-base-code-color: @contrast-color; +@contrast-base-em-color: @contrast-color; +@contrast-base-heading-color: @contrast-color; +@contrast-base-hr-border: fade(@contrast-color, 20%); +@contrast-nav-side-color: @contrast-color; +@contrast-nav-side-hover-background: fade(@contrast-color, 10%); +@contrast-nav-side-hover-color: @contrast-color; +@contrast-nav-side-active-background: @contrast-color; +@contrast-nav-side-active-color: @contrast-inverted-color; +@contrast-nav-side-header-color: @contrast-color; +@contrast-nav-side-divider-border: fade(@contrast-color, 20%); +@contrast-nav-side-nested-color: fade(@contrast-color, 70%); +@contrast-nav-side-nested-hover-color: @contrast-color; +@contrast-subnav-color: fade(@contrast-color, 70%); +@contrast-subnav-hover-color: @contrast-color; +@contrast-subnav-hover-text-decoration: none; +@contrast-subnav-active-color: @contrast-color; +@contrast-subnav-line-border: fade(@contrast-color, 20%); +@contrast-subnav-pill-hover-background: fade(@contrast-color, 70%); +@contrast-subnav-pill-hover-color: @contrast-inverted-color; +@contrast-subnav-pill-active-background: @contrast-color; +@contrast-subnav-pill-active-color: @contrast-inverted-color; +@contrast-tab-border: fade(@contrast-color, 20%); +@contrast-tab-color: fade(@contrast-color, 70%); +@contrast-tab-hover-border: fade(@contrast-color, 70%); +@contrast-tab-hover-background: fade(@contrast-color, 70%); +@contrast-tab-hover-color: @contrast-inverted-color; +@contrast-tab-active-border: fade(@contrast-color, 20%); +@contrast-tab-active-background: @contrast-color; +@contrast-tab-active-color: @contrast-inverted-color; +@contrast-list-line-border: fade(@contrast-color, 20%); +@contrast-form-border: fade(@contrast-color, 80%); +@contrast-form-background: fade(@contrast-color, 80%); +@contrast-form-color: @contrast-inverted-color; +@contrast-form-focus-border: @contrast-color; +@contrast-form-focus-background: @contrast-color; +@contrast-form-focus-color: @contrast-inverted-color; +@contrast-form-placeholder-color: fade(@contrast-inverted-color, 70%); +@contrast-button-background: @contrast-color; +@contrast-button-color: @contrast-inverted-color; +@contrast-button-hover-background: fade(@contrast-color, 80%); +@contrast-button-hover-color: @contrast-inverted-color; +@contrast-button-active-background: fade(@contrast-color, 70%); +@contrast-button-active-color: @contrast-inverted-color; +@contrast-button-primary-background: #00a8e6; +@contrast-button-primary-color: @contrast-color; +@contrast-button-primary-hover-background: #35b3ee; +@contrast-button-primary-hover-color: @contrast-color; +@contrast-button-primary-active-background: #0091ca; +@contrast-button-primary-active-color: @contrast-color; +@contrast-icon-hover-color: fade(@contrast-color, 70%); +@contrast-icon-hover-hover-color: @contrast-color; +@contrast-icon-button-background: @contrast-color; +@contrast-icon-button-color: @contrast-inverted-color; +@contrast-icon-button-hover-background: fade(@contrast-color, 80%); +@contrast-icon-button-hover-color: @contrast-inverted-color; +@contrast-icon-button-active-background: fade(@contrast-color, 70%); +@contrast-icon-button-active-color: @contrast-inverted-color; +@contrast-text-muted-color: fade(@contrast-color, 60%); +@contrast-text-primary-color: #2d7091; +@description-list-horizontal-width: 160px; +@description-list-horizontal-margin-left: 180px; +@description-list-line-margin-top: 5px; +@description-list-line-border-width: 1px; +@description-list-line-border: #ddd; +@description-list-line-color: #999; +@description-list-line-font-weight: normal; +@dropdown-z-index: 970; +@dropdown-width: 200px; +@dropdown-margin-top: 5px; +@dropdown-padding: 15px; +@dropdown-background: #f5f5f5; +@dropdown-color: #444; +@dropdown-font-size: 1rem; +@dropdown-animation: uk-fade; +@dropdown-divider-border-width: 1px; +@dropdown-divider-border: #ddd; +@dropdown-small-padding: 5px; +@dropdown-navbar-margin: 0; +@dropdown-navbar-background: #f5f5f5; +@dropdown-navbar-color: #444; +@dropdown-navbar-animation: uk-slide-top-fixed; +@dropdown-scrollable-height: 200px; +@form-height: 30px; +@form-padding: 4px 6px; +@form-border: #ddd; +@form-border-width: 1px; +@form-background: #fff; +@form-color: #444; +@form-focus-border: #99baca; +@form-focus-background: #f5fbfe; +@form-focus-color: #444; +@form-disabled-border: #ddd; +@form-disabled-background: #f5f5f5; +@form-disabled-color: #999; +@form-placeholder-color: #999; +@form-gutter: 15px; +@form-legend-border: #ddd; +@form-legend-border-width: 1px; +@form-legend-font-size: 18px; +@form-legend-line-height: 30px; +@form-small-height: 25px; +@form-large-height: 40px; +@form-small-padding: 3px 3px; +@form-large-padding: 8px 6px; +@form-small-font-size: 12px; +@form-large-font-size: 16px; +@form-danger-border: #dc8d99; +@form-danger-background: #fff7f8; +@form-danger-color: #d85030; +@form-success-border: #8ec73b; +@form-success-background: #fafff2; +@form-success-color: #659f13; +@form-blank-border: #ddd; +@form-blank-border-style: dashed; +@form-mini-width: 40px; +@form-small-width: 130px; +@form-medium-width: 200px; +@form-large-width: 500px; +@form-help-inline-margin-left: 10px; +@form-help-block-margin-top: 5px; +@form-controls-condensed-margin-vertical: 5px; +@form-stacked-margin-bottom: 5px; +@form-stacked-font-weight: bold; +@form-horizontal-label-width: 200px; +@form-horizontal-label-margin-top: 5px; +@form-horizontal-controls-margin-left: 215px; +@form-horizontal-controls-text-padding-top: 5px; +@form-icon-width: 30px; +@form-icon-font-size: 14px; +@form-icon-color: #999; +@grid-gutter-horizontal: 25px; +@grid-gutter-vertical: 25px; +@grid-gutter-large-horizontal: 35px; +@grid-gutter-large-vertical: 35px; +@grid-gutter-xlarge-horizontal: 50px; +@grid-gutter-xlarge-vertical: 50px; +@grid-gutter-small-horizontal: 10px; +@grid-gutter-small-vertical: 10px; +@grid-divider-border: #ddd; +@grid-divider-border-width: 1px; +@icon-font-path: "../fonts"; +@icon-small-font-size: 150%; +@icon-medium-font-size: 200%; +@icon-large-font-size: 250%; +@icon-small-vertical-align: -10%; +@icon-medium-vertical-align: -16%; +@icon-large-vertical-align: -22%; +@icon-hover-color: #999; +@icon-hover-hover-color: #444; +@icon-button-width: 35px; +@icon-button-height: @icon-button-width; +@icon-button-border-radius: 100%; +@icon-button-background: #eee; +@icon-button-font-size: round((@icon-button-width * 0.5)); +@icon-button-color: #444; +@icon-button-hover-background: #f5f5f5; +@icon-button-hover-color: #444; +@icon-button-active-background: #ddd; +@icon-button-active-color: #444; +@list-nested-padding-left: 20px; +@list-line-margin-top: 5px; +@list-line-border: #ddd; +@list-line-border-width: 1px; +@list-striped-padding-vertical: 5px; +@list-striped-padding-horizontal: 5px; +@list-striped-background: #f5f5f5; +@list-space-margin-top: 10px; +@modal-z-index: 1010; +@modal-background: rgba(0,0,0,0.6); +@modal-dialog-margin-vertical: 50px; +@modal-dialog-padding: 20px; +@modal-dialog-width: 600px; +@modal-dialog-background: #fff; +@modal-dialog-large-width: 930px; +@modal-dialog-large-width-large: 1130px; +@modal-header-margin-bottom: 15px; +@modal-footer-margin-top: 15px; +@modal-caption-margin-bottom: -10px; +@modal-caption-color: #fff; +@nav-padding-vertical: 5px; +@nav-padding-horizontal: 15px; +@nav-header-padding-vertical: @nav-padding-vertical; +@nav-header-padding-horizontal: @nav-padding-horizontal; +@nav-header-font-size: 12px; +@nav-header-font-weight: bold; +@nav-header-text-transform: uppercase; +@nav-header-margin-top: 15px; +@nav-divider-margin-vertical: 9px; +@nav-divider-margin-horizontal: @nav-padding-horizontal; +@nav-subtitle-font-size: 12px; +@nav-subtitle-line-height: 18px; +@nav-nested-padding-left: 15px; +@nav-nested-padding-vertical: 2px; +@nav-nested-padding-horizontal: 0; +@nav-sub-padding-vertical: 5px; +@nav-sub-padding-left: @nav-padding-horizontal; +@nav-parent-icon: "\f104"; +@nav-parent-open-icon: "\f107"; +@nav-parent-icon-width: 20px; +@nav-parent-icon-margin-right: -10px; +@nav-side-color: #444; +@nav-side-hover-background: rgba(0,0,0,0.05); +@nav-side-hover-color: #444; +@nav-side-active-background: #00a8e6; +@nav-side-active-color: #fff; +@nav-side-header-color: #444; +@nav-side-divider-border: #ddd; +@nav-side-divider-border-width: 1px; +@nav-side-nested-color: #07D; +@nav-side-nested-hover-color: #059; +@nav-dropdown-color: #444; +@nav-dropdown-hover-background: #00a8e6; +@nav-dropdown-hover-color: #fff; +@nav-dropdown-header-color: #999; +@nav-dropdown-divider-border: #ddd; +@nav-dropdown-divider-border-width: 1px; +@nav-dropdown-nested-color: #07D; +@nav-dropdown-nested-hover-color: #059; +@nav-navbar-color: #444; +@nav-navbar-hover-background: #00a8e6; +@nav-navbar-hover-color: #fff; +@nav-navbar-header-color: #999; +@nav-navbar-divider-border: #ddd; +@nav-navbar-divider-border-width: 1px; +@nav-navbar-nested-color: #07D; +@nav-navbar-nested-hover-color: #059; +@nav-offcanvas-padding-vertical: 10px; +@nav-offcanvas-padding-horizontal: 15px; +@nav-offcanvas-color: #ccc; +@nav-offcanvas-hover-background: #404040; +@nav-offcanvas-hover-color: #fff; +@nav-offcanvas-active-background: #1a1a1a; +@nav-offcanvas-active-color: #fff; +@nav-offcanvas-header-color: #777; +@nav-offcanvas-divider-border: #1a1a1a; +@nav-offcanvas-divider-border-width: 1px; +@nav-offcanvas-nested-color: #ccc; +@nav-offcanvas-nested-hover-color: #fff; +@navbar-background: #eee; +@navbar-color: #444; +@navbar-link-color: #07D; +@navbar-link-hover-color: #059; +@navbar-nav-height: 40px; +@navbar-nav-line-height: @navbar-nav-height; +@navbar-nav-padding-horizontal: 15px; +@navbar-nav-color: #444; +@navbar-nav-font-size: 14px; +@navbar-nav-font-weight: normal; +@navbar-nav-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +@navbar-nav-hover-background: #f5f5f5; +@navbar-nav-hover-color: #444; +@navbar-nav-onclick-background: #ddd; +@navbar-nav-onclick-color: #444; +@navbar-nav-active-background: #f5f5f5; +@navbar-nav-active-color: #444; +@navbar-nav-subtitle-font-size: 10px; +@navbar-nav-subtitle-offset: 2px; +@navbar-brand-font-size: 18px; +@navbar-brand-color: #444; +@navbar-brand-hover-color: #444; +@navbar-toggle-font-size: 18px; +@navbar-toggle-color: #444; +@navbar-toggle-hover-color: #444; +@navbar-toggle-icon: "\f0c9"; +@navbar-toggle-icon-alt: "\f002"; +@offcanvas-z-index: 1000; +@offcanvas-background: rgba(0,0,0,0.1); +@offcanvas-bar-width: 270px; +@offcanvas-bar-background: #333; +@offcanvas-panel-margin: 20px 15px; +@offcanvas-panel-color: #777; +@offcanvas-panel-link-color: #ccc; +@offcanvas-panel-link-hover-color: #fff; +@offcanvas-panel-title-color: @offcanvas-panel-link-color; +@overlay-panel-padding: 20px; +@overlay-panel-color: #fff; +@overlay-panel-background: rgba(0,0,0,0.5); +@overlay-icon: "\f002"; +@overlay-icon-size: 50px; +@overlay-icon-color: #fff; +@overlay-fade-in-opacity: 1; +@overlay-fade-out-opacity: 0.7; +@overlay-scale-in-scale: 1.1; +@overlay-scale-out-scale: 1; +@overlay-spin-in-scale: 1.1; +@overlay-spin-out-scale: 1; +@overlay-spin-in-rotate: 3deg; +@overlay-spin-out-rotate: 0deg; +@overlay-panel-link-color: inherit; +@overlay-panel-link-text-decoration: underline; +@overlay-area-background: rgba(0,0,0,0.3); +@overlay-area-icon: "\f002"; +@overlay-area-icon-size: 50px; +@overlay-area-icon-color: #fff; +@overlay-area-content-font-size: 1rem; +@overlay-area-content-padding-horizontal: 15px; +@overlay-area-content-color: #fff; +@overlay-area-content-link-color: inherit; +@overlay-caption-background: rgba(0,0,0,0.5); +@overlay-caption-padding: 15px; +@overlay-caption-color: #fff; +@pagination-font-size: 1rem; +@pagination-margin-left: 5px; +@pagination-padding-vertical: 3px; +@pagination-padding-horizontal: 5px; +@pagination-line-height: 20px; +@pagination-background: #eee; +@pagination-color: #444; +@pagination-hover-background: #f5f5f5; +@pagination-hover-color: #444; +@pagination-onclick-background: #ddd; +@pagination-onclick-color: #444; +@pagination-active-background: #00a8e6; +@pagination-active-color: #fff; +@pagination-disabled-background: #f5f5f5; +@pagination-disabled-color: #999; +@panel-title-margin-bottom: 15px; +@panel-title-font-size: 18px; +@panel-title-line-height: 24px; +@panel-title-font-weight: normal; +@panel-title-color: #444; +@panel-title-text-transform: none; +@panel-teaser-margin-bottom: @panel-title-margin-bottom; +@panel-box-padding: 15px; +@panel-box-background: #f5f5f5; +@panel-box-color: #444; +@panel-box-hover-color: @panel-box-color; +@panel-box-title-color: #444; +@panel-box-badge-top: 10px; +@panel-box-badge-right: @panel-box-badge-top; +@panel-box-teaser-margin: -@panel-box-padding; +@panel-box-primary-background: #ebf7fd; +@panel-box-primary-color: #2d7091; +@panel-box-primary-hover-color: @panel-box-primary-color; +@panel-box-primary-title-color: #2d7091; +@panel-box-secondary-background: #eee; +@panel-box-secondary-color: #444; +@panel-box-secondary-hover-color: @panel-box-secondary-color; +@panel-box-secondary-title-color: #444; +@panel-hover-padding: 15px; +@panel-hover-color: #444; +@panel-hover-hover-background: #f5f5f5; +@panel-hover-hover-color: #444; +@panel-hover-badge-top: 10px; +@panel-hover-badge-right: @panel-hover-badge-top; +@panel-hover-teaser-margin: -@panel-hover-padding; +@panel-header-title-padding: 10px; +@panel-header-title-border: #ddd; +@panel-header-title-border-width: 1px; +@panel-header-title-color: #444; +@panel-space-padding: 30px; +@panel-divider-gutter: 25px; +@panel-divider-gutter-large: 35px; +@panel-divider-border: #ddd; +@panel-divider-border-width: 1px; +@panel-body-padding: @panel-box-padding; +@subnav-margin-horizontal: 10px; +@subnav-margin-vertical: @subnav-margin-horizontal; +@subnav-color: #444; +@subnav-hover-color: #07D; +@subnav-hover-text-decoration: none; +@subnav-active-color: #07D; +@subnav-line-border-height: 10px; +@subnav-line-border: #ddd; +@subnav-line-border-width: 1px; +@subnav-pill-padding-vertical: 3px; +@subnav-pill-padding-horizontal: 9px; +@subnav-pill-hover-background: #eee; +@subnav-pill-hover-color: #444; +@subnav-pill-active-background: #00a8e6; +@subnav-pill-active-color: #fff; +@subnav-disabled-color: #999; +@tab-border: #ddd; +@tab-border-width: 1px; +@tab-padding-horizontal: 12px; +@tab-padding-vertical: 8px; +@tab-padding-top: @tab-padding-vertical; +@tab-padding-bottom: @tab-padding-vertical; +@tab-margin-horizontal: 5px; +@tab-margin-vertical: 5px; +@tab-color: #07D; +@tab-hover-border: #f5f5f5; +@tab-hover-background: #f5f5f5; +@tab-hover-color: #059; +@tab-active-border: #ddd; +@tab-active-background: #fff; +@tab-active-color: #444; +@tab-disabled-color: #999; +@table-margin-vertical: 15px; +@table-padding-vertical: 8px; +@table-padding-horizontal: 8px; +@table-caption-color: #999; +@table-caption-font-size: 12px; +@table-striped-background: #f5f5f5; +@table-condensed-padding-vertical: 4px; +@table-condensed-padding-horizontal: 8px; +@table-hover-background: #EEE; +@table-active-background: @table-hover-background; +@text-small-font-size: 11px; +@text-small-line-height: 16px; +@text-large-font-size: 18px; +@text-large-line-height: 24px; +@text-large-font-weight: normal; +@text-muted-color: #999; +@text-primary-color: #2d7091; +@text-success-color: #659f13; +@text-warning-color: #e28327; +@text-danger-color: #d85030; +@text-contrast-color: #fff; +@thumbnail-padding: 4px; +@thumbnail-border: #ddd; +@thumbnail-border-width: 1px; +@thumbnail-background: #fff; +@thumbnail-hover-border: #aaa; +@thumbnail-hover-background: #fff; +@thumbnail-caption-padding: @thumbnail-padding; +@thumbnail-caption-color: #444; +@thumbnail-mini-width: 150px; +@thumbnail-small-width: 200px; +@thumbnail-medium-width: 300px; +@thumbnail-large-width: 400px; +@thumbnav-margin-horizontal: 10px; +@thumbnav-margin-vertical: @thumbnav-margin-horizontal; +@thumbnav-background: #fff; +@thumbnav-opacity: 0.7; +@thumbnav-hover-opacity: 1; +@thumbnav-active-opacity: 1; +@utility-container-max-width: 980px; +@utility-container-padding-horizontal: 25px; +@utility-container-large-max-width: 1200px; +@utility-container-large-padding-horizontal: 35px; +@utility-align-horizontal: 15px; +@utility-align-vertical: 15px; +@utility-height-viewport-min-height: 600px; +@utility-margin: 15px; +@utility-margin-small: 5px; +@utility-margin-large: 50px; +@utility-border-rounded: 5px; +@utility-heading-large-small-font-size: 36px; +@utility-heading-large-small-line-height: 42px; +@utility-heading-large-font-size: 52px; +@utility-heading-large-line-height: 64px; +@utility-link-muted-color: #444; +@utility-link-muted-hover-color: #444; +@utility-scrollable-text-height: 300px; +@utility-scrollable-box-height: 170px; +@utility-scrollable-box-padding: 10px; +@utility-scrollable-box-border: #ddd; +@utility-scrollable-box-border-width: 1px; +@breakpoint-small: 480px; +@breakpoint-medium: 768px; +@breakpoint-large: 960px; +@breakpoint-xlarge: 1220px; +@breakpoint-mini-max: (@breakpoint-small - 1); +@breakpoint-small-max: (@breakpoint-medium - 1); +@breakpoint-medium-max: (@breakpoint-large - 1); +@breakpoint-large-max: (@breakpoint-xlarge - 1); \ No newline at end of file diff --git a/bower_components/uikit/less/uikit.less b/bower_components/uikit/less/uikit.less new file mode 100644 index 0000000..50cd82b --- /dev/null +++ b/bower_components/uikit/less/uikit.less @@ -0,0 +1,52 @@ +// LESS related +@import "core/variables.less"; + +// Defaults +@import "core/base.less"; + +// Layout +@import "core/grid.less"; +@import "core/panel.less"; +@import "core/block.less"; +@import "core/article.less"; +@import "core/comment.less"; +@import "core/cover.less"; + +// Navs +@import "core/nav.less"; +@import "core/navbar.less"; +@import "core/subnav.less"; +@import "core/breadcrumb.less"; +@import "core/pagination.less"; +@import "core/tab.less"; +@import "core/thumbnav.less"; + +// Elements +@import "core/list.less"; +@import "core/description-list.less"; +@import "core/table.less"; +@import "core/form.less"; + +// Common +@import "core/button.less"; +@import "core/icon.less"; +@import "core/close.less"; +@import "core/badge.less"; +@import "core/alert.less"; +@import "core/thumbnail.less"; +@import "core/overlay.less"; +@import "core/column.less"; +@import "core/animation.less"; + +// JavaScript +@import "core/dropdown.less"; +@import "core/modal.less"; +@import "core/offcanvas.less"; +@import "core/switcher.less"; + +// Need to be loaded last +@import "core/text.less"; +@import "core/utility.less"; +@import "core/flex.less"; +@import "core/contrast.less"; +@import "core/print.less"; diff --git a/bower_components/uikit/scss/components/accordion.scss b/bower_components/uikit/scss/components/accordion.scss new file mode 100644 index 0000000..e8cfa0e --- /dev/null +++ b/bower_components/uikit/scss/components/accordion.scss @@ -0,0 +1,94 @@ +// Name: Accordion +// Description: Defines styles for the accordion +// +// Component: `uk-accordion` +// +// Sub-objects: `uk-accordion-title` +// `uk-accordion-content` +// +// Markup: +// +// +//
                  +//

                  +//
                  +//

                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$accordion-title-margin-bottom: 15px !default; +$accordion-title-padding-vertical: 5px !default; +$accordion-title-padding-horizontal: 15px !default; +$accordion-title-font-size: 18px !default; +$accordion-title-line-height: 24px !default; +$accordion-title-background: #eee !default; + +$accordion-content-padding-horizontal: $accordion-title-padding-horizontal !default; +$accordion-content-padding-bottom: $accordion-title-padding-horizontal !default; + + +/* ======================================================================== + Component: Accordion + ========================================================================== */ + +.uk-accordion { + @include hook-accordion(); +} + +/* Sub-object: `uk-accordion-title` + ========================================================================== */ + +.uk-accordion-title { + margin-top: 0; + margin-bottom: $accordion-title-margin-bottom; + padding: $accordion-title-padding-vertical $accordion-title-padding-horizontal; + background: $accordion-title-background; + font-size: $accordion-title-font-size; + line-height: $accordion-title-line-height; + cursor: pointer; + @include hook-accordion-title(); +} + + +/* Sub-object: `uk-accordion-content` + ========================================================================== */ + +.uk-accordion-content { + padding: 0 $accordion-content-padding-horizontal $accordion-content-padding-bottom $accordion-content-padding-horizontal; + @include hook-accordion-content(); +} + +/* + * Micro clearfix to make panels more robust + */ + +.uk-accordion-content:before, +.uk-accordion-content:after { + content: ""; + display: table; +} + +.uk-accordion-content:after { clear: both; } + +/* + * Remove margin from the last-child + */ + + .uk-accordion-content > :last-child { margin-bottom: 0; } + + +// Hooks +// ======================================================================== + +@include hook-accordion-misc(); + +// @mixin hook-accordion(){} +// @mixin hook-accordion-title(){} +// @mixin hook-accordion-content(){} +// @mixin hook-accordion-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/autocomplete.scss b/bower_components/uikit/scss/components/autocomplete.scss new file mode 100644 index 0000000..70392f8 --- /dev/null +++ b/bower_components/uikit/scss/components/autocomplete.scss @@ -0,0 +1,107 @@ +// Name: Autocomplete +// Description: Provides suggestions while you type into an input field +// +// Component: `uk-autocomplete` +// +// Modifier: (Nav) `uk-nav-autocomplete` +// +// States: `uk-active` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +// Nav modifier +$nav-autocomplete-color: #444 !default; +$nav-autocomplete-active-background: #00a8e6 !default; +$nav-autocomplete-active-color: #fff !default; +$nav-autocomplete-header-color: #999 !default; +$nav-autocomplete-divider-border: #ddd !default; +$nav-autocomplete-divider-border-width: 1px !default; + + +/* ======================================================================== + Component: Autocomplete + ========================================================================== */ + +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + * 4. Remove the gap between the container and its child element + */ + +.uk-autocomplete { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; + /* 4 */ + vertical-align: middle; +} + +/* Legacy dropdown modifier */ +.uk-dropdown-flip { + left: auto; + right: 0; +} + +/* Nav modifier `uk-nav-autocomplete` + ========================================================================== */ + +/* + * Items + */ + +.uk-nav-autocomplete > li > a { + color: $nav-autocomplete-color; + @include hook-nav-autocomplete(); +} + +/* + * Active + * 1. Remove default focus style + */ + +.uk-nav-autocomplete > li.uk-active > a { + background: $nav-autocomplete-active-background; + color: $nav-autocomplete-active-color; + /* 1 */ + outline: none; + @include hook-nav-autocomplete-active(); +} + +/* + * Sub-object: `uk-nav-header` + */ + +.uk-nav-autocomplete .uk-nav-header { + color: $nav-autocomplete-header-color; + @include hook-nav-autocomplete-header(); +} + +/* + * Sub-object: `uk-nav-divider` + */ + +.uk-nav-autocomplete .uk-nav-divider { + border-top: $nav-autocomplete-divider-border-width solid $nav-autocomplete-divider-border; + @include hook-nav-autocomplete-divider(); +} + + +// Hooks +// ======================================================================== + +@include hook-autocomplete-misc(); + +// @mixin hook-nav-autocomplete(){} +// @mixin hook-nav-autocomplete-active(){} +// @mixin hook-nav-autocomplete-header(){} +// @mixin hook-nav-autocomplete-divider(){} + +// @mixin hook-autocomplete-misc(){} diff --git a/bower_components/uikit/scss/components/datepicker.scss b/bower_components/uikit/scss/components/datepicker.scss new file mode 100644 index 0000000..fe46117 --- /dev/null +++ b/bower_components/uikit/scss/components/datepicker.scss @@ -0,0 +1,197 @@ +// Name: Datepicker +// Description: Defines styles for a datepicker +// +// Component: `uk-datepicker` +// +// Modifiers: `uk-datepicker-nav` +// `uk-datepicker-previous` +// `uk-datepicker-next` +// `uk-datepicker-heading` +// `uk-datepicker-table` +// `uk-datepicker-table-muted` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$datepicker-z-index: 1050 !default; +$datepicker-animation: uk-fade !default; + +$datepicker-nav-height: 20px !default; +$datepicker-nav-margin-bottom: 15px !default; +$datepicker-nav-color: #444 !default; +$datepicker-nav-hover-color: #444 !default; +$datepicker-previous-icon: "\f053" !default; +$datepicker-next-icon: "\f054" !default; + +$datepicker-table-width: 26px !default; +$datepicker-table-height: 24px !default; +$datepicker-table-color: #444 !default; + +$datepicker-table-hover-background: #ddd !default; +$datepicker-table-hover-color: #444 !default; +$datepicker-table-onclick-background: #ccc !default; +$datepicker-table-onclick-color: #444 !default; + +$datepicker-table-active-background: #00a8e6 !default; +$datepicker-table-active-color: #fff !default; + +$datepicker-table-muted-color: #999 !default; + + +/* ======================================================================== + Component: Datepicker + ========================================================================== */ + +/* + * 1. Highest z-index + * 2. Reset dropdown width + * 3. Set animation + * 4. Needed for scale animation + */ + +.uk-datepicker { + /* 1 */ + z-index: $datepicker-z-index; + /* 2 */ + width: auto; + /* 3 */ + -webkit-animation: $datepicker-animation 0.2s ease-in-out; + animation: $datepicker-animation 0.2s ease-in-out; + /* 4 */ + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} + + +/* Sub-object: `uk-datepicker-nav` +========================================================================== */ + +.uk-datepicker-nav { + margin-bottom: $datepicker-nav-margin-bottom; + text-align: center; + line-height: $datepicker-nav-height; + @include hook-datepicker-nav(); +} + +/* + * Micro clearfix + */ + +.uk-datepicker-nav:before, +.uk-datepicker-nav:after { + content: ""; + display: table; +} + +.uk-datepicker-nav:after { clear: both; } + +/* + * Previous and next navigation + */ + +.uk-datepicker-nav a { + color: $datepicker-nav-color; + text-decoration: none; + @include hook-datepicker-nav-item(); +} + +.uk-datepicker-nav a:hover { color: $datepicker-nav-hover-color; } + +.uk-datepicker-previous { float: left; } +.uk-datepicker-next { float: right; } + +.uk-datepicker-previous:after, +.uk-datepicker-next:after { + width: $datepicker-nav-height; + font-family: FontAwesome; +} + +.uk-datepicker-previous:after { content: $datepicker-previous-icon; } +.uk-datepicker-next:after { content: $datepicker-next-icon; } + + +/* Sub-object: `uk-datepicker-heading` +========================================================================== */ + +.uk-datepicker-heading {} + + +/* Sub-object: `uk-datepicker-table` +========================================================================== */ + +/* Block element behavior */ +.uk-datepicker-table { width: 100%; } + +.uk-datepicker-table th, +.uk-datepicker-table td { padding: 2px; } + +.uk-datepicker-table th { font-size: 12px; } + +/* + * Item + */ + +.uk-datepicker-table a { + display: block; + width: $datepicker-table-width; + line-height: $datepicker-table-height; + text-align: center; + color: $datepicker-table-color; + text-decoration: none; + @include hook-datepicker-table-item(); +} + +/* + * Sub-object: `uk-datepicker-table-muted` + */ + +a.uk-datepicker-table-muted { color: $datepicker-table-muted-color; } + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-datepicker-table a:hover, +.uk-datepicker-table a:focus { // 1 + background-color: $datepicker-table-hover-background; + color: $datepicker-table-hover-color; + /* 2 */ + outline: none; + @include hook-datepicker-table-item-hover(); +} + +/* OnClick */ +.uk-datepicker-table a:active { + background-color: $datepicker-table-onclick-background; + color: $datepicker-table-onclick-color; + @include hook-datepicker-table-item-onclick(); +} + +/* + * Active + */ + +.uk-datepicker-table a.uk-active { + background: $datepicker-table-active-background; + color: $datepicker-table-active-color; + @include hook-datepicker-table-item-active(); +} + + +// Hooks +// ======================================================================== + +@include hook-datepicker-misc(); + +// @mixin hook-datepicker-nav(){} +// @mixin hook-datepicker-nav-item(){} +// @mixin hook-datepicker-table-item(){} +// @mixin hook-datepicker-table-item-hover(){} +// @mixin hook-datepicker-table-item-onclick(){} +// @mixin hook-datepicker-table-item-active(){} +// @mixin hook-datepicker-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/dotnav.scss b/bower_components/uikit/scss/components/dotnav.scss new file mode 100644 index 0000000..649a017 --- /dev/null +++ b/bower_components/uikit/scss/components/dotnav.scss @@ -0,0 +1,212 @@ +// Name: Dotnav +// Description: Defines styles for a dot navigation +// +// Component: `uk-dotnav` +// +// Modifier: `uk-dotnav-contrast` +// `uk-dotnav-vertical` +// +// States: `uk-active` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$dotnav-margin-horizontal: 15px !default; +$dotnav-margin-vertical: $dotnav-margin-horizontal !default; + +$dotnav-width: 20px !default; +$dotnav-height: $dotnav-width !default; +$dotnav-background: rgba(50,50,50,0.1) !default; + +$dotnav-hover-background: rgba(50,50,50,0.4) !default; +$dotnav-onclick-background: rgba(50,50,50,0.6) !default; +$dotnav-active-background: rgba(50,50,50,0.4) !default; + +$dotnav-contrast-background: rgba(255,255,255,0.4) !default; +$dotnav-contrast-hover-background: rgba(255,255,255,0.7) !default; +$dotnav-contrast-onclick-background: rgba(255,255,255,0.9) !default; +$dotnav-contrast-active-background: rgba(255,255,255,0.9) !default; + + +/* ======================================================================== + Component: Dotnav + ========================================================================== */ + +/* + * 1. Gutter + * 2. Remove default list style + */ + +.uk-dotnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -$dotnav-margin-horizontal; + margin-top: -$dotnav-margin-vertical; + /* 2 */ + padding: 0; + list-style: none; +} + +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + */ + +.uk-dotnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: $dotnav-margin-horizontal; + margin-top: $dotnav-margin-vertical; +} + +/* + * DEPRECATED IE9 Support + */ + +.uk-dotnav:before, +.uk-dotnav:after { + content: ""; + display: block; + overflow: hidden; +} + +.uk-dotnav:after { clear: both; } + +.uk-dotnav > * { float: left; } + + +/* Items + ========================================================================== */ + +/* + * Items + * 1. Hide text if present + */ + +.uk-dotnav > * > * { + display: block; + box-sizing: content-box; + width: $dotnav-width; + height: $dotnav-height; + border-radius: 50%; + background: $dotnav-background; + /* 1 */ + text-indent: 100%; + overflow: hidden; + white-space: nowrap; + @include hook-dotnav-item(); +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-dotnav > * > :hover, +.uk-dotnav > * > :focus { // 1 + background: $dotnav-hover-background; + /* 2 */ + outline: none; + @include hook-dotnav-item-hover(); +} + +/* OnClick */ +.uk-dotnav > * > :active { + background: $dotnav-onclick-background; + @include hook-dotnav-item-onclick(); +} + +/* Active */ +.uk-dotnav > .uk-active > * { + background: $dotnav-active-background; + @include hook-dotnav-item-active(); +} + + +/* Modifier: `uk-dotnav-contrast` + ========================================================================== */ + +.uk-dotnav-contrast > * > * { + background: $dotnav-contrast-background; + @include hook-dotnav-contrast-item(); +} + +/* + * Hover + * 1. Apply hover style also to focus state + */ + +.uk-dotnav-contrast > * > :hover, +.uk-dotnav-contrast > * > :focus { // 1 + background: $dotnav-contrast-hover-background; + @include hook-dotnav-contrast-item-hover(); +} + +/* OnClick */ +.uk-dotnav-contrast > * > :active { + background: $dotnav-contrast-onclick-background; + @include hook-dotnav-contrast-item-onclick(); +} + +/* Active */ +.uk-dotnav-contrast > .uk-active > * { + background: $dotnav-contrast-active-background; + @include hook-dotnav-contrast-item-active(); +} + + +/* Modifier: 'uk-dotnav-vertical' + ========================================================================== */ + +/* + * DEPRECATED + */ + +.uk-dotnav-vertical { + -ms-flex-direction: column; + -webkit-flex-direction: column; + flex-direction: column; +} + +/* + * DEPRECATED IE9 Support + */ + +.uk-dotnav-vertical > * { float: none; } + + + +// Hooks +// ======================================================================== + +@include hook-dotnav-misc(); + +// @mixin hook-dotnav-item(){} +// @mixin hook-dotnav-item-hover(){} +// @mixin hook-dotnav-item-onclick(){} +// @mixin hook-dotnav-item-active(){} +// @mixin hook-dotnav-contrast-item(){} +// @mixin hook-dotnav-contrast-item-hover(){} +// @mixin hook-dotnav-contrast-item-onclick(){} +// @mixin hook-dotnav-contrast-item-active(){} +// @mixin hook-dotnav-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/form-advanced.scss b/bower_components/uikit/scss/components/form-advanced.scss new file mode 100644 index 0000000..123a257 --- /dev/null +++ b/bower_components/uikit/scss/components/form-advanced.scss @@ -0,0 +1,128 @@ +// Name: Form advanced +// Description: Custom appearance of radio and checkbox buttons +// +// Component: `uk-form` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$form-advanced-size: 14px !default; +$form-advanced-border: #aaa !default; +$form-advanced-border-width: 1px !default; +$form-advanced-margin-top: -4px !default; +$form-advanced-color: transparent !default; + +$form-advanced-checked-color: #00a8e6 !default; + +$form-advanced-radio-size: 8px !default; + +$form-advanced-checkbox-icon: "\f00c" !default; +$form-advanced-checkbox-indeterminate-icon: "\f068" !default; +$form-advanced-checkbox-font-size: 12px !default; + +$form-advanced-disabled-border: #ddd !default; +$form-advanced-disabled-color: #aaa !default; + + +/* ======================================================================== + Component: Form advanced + Note: Only works in Webkit at the moment + ========================================================================== */ + +/* + * 1. Style + * 2. Makes box more robust so it clips the child element + * 3. Vertical alignment + * 4. Remove default style + * 5. Fix black background on iOS + */ + + +.uk-form input[type="radio"], +.uk-form input[type="checkbox"] { + /* 1 */ + display: inline-block; + height: $form-advanced-size; + width: $form-advanced-size; + border: $form-advanced-border-width solid $form-advanced-border; + /* 2 */ + overflow: hidden; + /* 3 */ + margin-top: $form-advanced-margin-top; + vertical-align: middle; + /* 4 */ + -webkit-appearance: none; + outline: 0; + /* 5 */ + background: $form-advanced-color; + @include hook-form-advanced(); +} + +/* Radio */ +.uk-form input[type="radio"] { border-radius: 50%; } + +/* + * Checked + */ + +.uk-form input[type=radio]:before, +.uk-form input[type=checkbox]:before { + display: block; + @include hook-form-advanced-checked(); +} + +/* Radio */ +.uk-form input[type=radio]:checked:before { + content: ''; + width: $form-advanced-radio-size; + height: $form-advanced-radio-size; + margin: (($form-advanced-size - (2 * $form-advanced-border-width) - $form-advanced-radio-size) / 2) auto 0; + border-radius: 50%; + background: $form-advanced-checked-color; + @include hook-form-advanced-radio(); +} + +/* Checkbox */ +.uk-form input[type=checkbox]:checked:before, +.uk-form input[type=checkbox]:indeterminate:before { + content: $form-advanced-checkbox-icon; + font-family: FontAwesome; + font-size: $form-advanced-checkbox-font-size; + -webkit-font-smoothing: antialiased; + text-align: center; + line-height: $form-advanced-size - (2 * $form-advanced-border-width); + color: $form-advanced-checked-color; + @include hook-form-advanced-checkbox(); +} + +.uk-form input[type=checkbox]:indeterminate:before { content: $form-advanced-checkbox-indeterminate-icon; } + +/* + * Disabled + */ + +.uk-form input[type=radio]:disabled, +.uk-form input[type=checkbox]:disabled { + border-color: $form-advanced-disabled-border; + @include hook-form-advanced-disabled(); +} + +.uk-form input[type=radio]:disabled:checked:before { background-color: $form-advanced-disabled-color; } +.uk-form input[type=checkbox]:disabled:checked:before, +.uk-form input[type=checkbox]:disabled:indeterminate:before { color: $form-advanced-disabled-color; } + + +// Hooks +// ======================================================================== + +@include hook-form-advanced-misc(); + +// @mixin hook-form-advanced(){} +// @mixin hook-form-advanced-checked(){} +// @mixin hook-form-advanced-radio(){} +// @mixin hook-form-advanced-checkbox(){} +// @mixin hook-form-advanced-disabled(){} +// @mixin hook-form-advanced-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/form-file.scss b/bower_components/uikit/scss/components/form-file.scss new file mode 100644 index 0000000..2f1f773 --- /dev/null +++ b/bower_components/uikit/scss/components/form-file.scss @@ -0,0 +1,63 @@ +// Name: Form file +// Description: Extends form component +// +// Component: `uk-form` +// +// Sub-objects: `uk-form-file` +// +// Markup: +// +// +//
                  +// +// +//
                  +// +// ======================================================================== + + +/* ======================================================================== + Component: Form file + ========================================================================== */ + +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ + +.uk-form-file { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} + +/* + * 1. Required for Firefox + * 2. Expand height and required for the cursor + */ + +.uk-form-file input[type="file"] { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + font-size: 500px; +} + + +// Hooks +// ======================================================================== + +@include hook-form-file-misc(); + +// @mixin hook-form-file-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/form-password.scss b/bower_components/uikit/scss/components/form-password.scss new file mode 100644 index 0000000..c11c6e9 --- /dev/null +++ b/bower_components/uikit/scss/components/form-password.scss @@ -0,0 +1,74 @@ +// Name: Form password +// Description: Extends form component +// +// Component: `uk-form` +// +// Sub-objects: `uk-form-password` +// +// Markup: +// +// +//
                  +//
                  +// +// +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$form-password-font-size: 13px !default; +$form-password-line-height: $form-password-font-size !default; +$form-password-color: #999 !default; +$form-password-hover-color: #999 !default; +$form-password-padding: 50px !default; + + +/* ======================================================================== + Component: Form password + ========================================================================== */ + +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + */ + +.uk-form-password { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; +} + +.uk-form-password-toggle { + display: block; + position: absolute; + top: 50%; + right: 10px; + margin-top: -(floor($form-password-line-height/2)); + font-size: $form-password-font-size; + line-height: $form-password-line-height; + color: $form-password-color; +} + +.uk-form-password-toggle:hover { + color: $form-password-hover-color; + text-decoration: none; +} + +.uk-form-password > input { padding-right: $form-password-padding !important; } + + +// Hooks +// ======================================================================== + +@include hook-form-password-misc(); + +// @mixin hook-form-password-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/form-select.scss b/bower_components/uikit/scss/components/form-select.scss new file mode 100644 index 0000000..a5a42ba --- /dev/null +++ b/bower_components/uikit/scss/components/form-select.scss @@ -0,0 +1,66 @@ +// Name: Form select +// Description: Extends form component +// +// Component: `uk-form` +// +// Sub-objects: `uk-form-select` +// +// Markup: +// +// +//
                  +// +// +//
                  +// +// ======================================================================== + + +/* ======================================================================== + Component: Form select + ========================================================================== */ + +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ + +.uk-form-select { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} + +/* + * 1. Required for Firefox + * 1. Required for Webkit to make `height` work + */ + +.uk-form-select select { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + -webkit-appearance: none; +} + + +// Hooks +// ======================================================================== + +@include hook-form-select-misc(); + +// @mixin hook-form-select-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/htmleditor.scss b/bower_components/uikit/scss/components/htmleditor.scss new file mode 100644 index 0000000..9a0462c --- /dev/null +++ b/bower_components/uikit/scss/components/htmleditor.scss @@ -0,0 +1,269 @@ +// Name: HTML editor +// Description: Defines styles for an HTML editor +// +// Component: `uk-htmleditor` +// +// Sub-objects: `uk-htmleditor-navbar` +// `uk-htmleditor-navbar-nav` +// `uk-htmleditor-navbar-flip` +// `uk-htmleditor-button-code +// `uk-htmleditor-button-preview` +// `uk-htmleditor-content` +// `uk-htmleditor-code` +// `uk-htmleditor-preview` +// `uk-htmleditor-iframe` +// +// Modifier: `uk-htmleditor-fullscreen` +// `[data-mode='tab']` +// `[data-mode='split']` +// +// States: `uk-active` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$htmleditor-navbar-background: #eee !default; + +$htmleditor-navbar-nav-height: 40px !default; +$htmleditor-navbar-nav-padding-horizontal: 15px !default; +$htmleditor-navbar-nav-line-height: $htmleditor-navbar-nav-height !default; +$htmleditor-navbar-nav-color: #444 !default; + +$htmleditor-navbar-nav-hover-background: #f5f5f5 !default; +$htmleditor-navbar-nav-hover-color: #444 !default; +$htmleditor-navbar-nav-onclick-background: #ddd !default; +$htmleditor-navbar-nav-onclick-color: #444 !default; +$htmleditor-navbar-nav-active-background: #f5f5f5 !default; +$htmleditor-navbar-nav-active-color: #444 !default; + +$htmleditor-content-border: #ddd !default; +$htmleditor-content-background: #fff !default; +$htmleditor-content-padding: 20px !default; +$htmleditor-content-split-border: #eee !default; + +$htmleditor-fullscreen-z-index: 990 !default; +$htmleditor-fullscreen-content-top: $htmleditor-navbar-nav-height !default; +$htmleditor-fullscreen-icon-resize: "\f066" !default; + + +/* ======================================================================== + Component: HTML editor + ========================================================================== */ + +.uk-htmleditor { + @include hook-htmleditor(); +} + + +/* Sub-object `uk-htmleditor-navbar` + ========================================================================== */ + +.uk-htmleditor-navbar { + background: $htmleditor-navbar-background; + @include hook-htmleditor-navbar(); +} + +/* + * Micro clearfix + */ + +.uk-htmleditor-navbar:before, +.uk-htmleditor-navbar:after { + content: ""; + display: table; +} + +.uk-htmleditor-navbar:after { clear: both; } + + +/* Sub-object `uk-htmleditor-navbar-nav` + ========================================================================== */ + +.uk-htmleditor-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} + +.uk-htmleditor-navbar-nav > li { float: left; } + +/* + * 1. Dimensions + * 2. Style + */ + +.uk-htmleditor-navbar-nav > li > a { + display: block; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: $htmleditor-navbar-nav-height; + padding: 0 $htmleditor-navbar-nav-padding-horizontal; + line-height: $htmleditor-navbar-nav-line-height; + /* 2 */ + color: $htmleditor-navbar-nav-color; + font-size: 11px; + cursor: pointer; + @include hook-htmleditor-navbar-nav(); +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-htmleditor-navbar-nav > li:hover > a, +.uk-htmleditor-navbar-nav > li > a:focus { // 1 + background-color: $htmleditor-navbar-nav-hover-background; + color: $htmleditor-navbar-nav-hover-color; + outline: none; /* 2 */ + @include hook-htmleditor-navbar-nav-hover(); +} + +/* OnClick */ +.uk-htmleditor-navbar-nav > li > a:active { + background-color: $htmleditor-navbar-nav-onclick-background; + color: $htmleditor-navbar-nav-onclick-color; + @include hook-htmleditor-navbar-nav-onclick(); +} + +/* Active */ +.uk-htmleditor-navbar-nav > li.uk-active > a { + background-color: $htmleditor-navbar-nav-active-background; + color: $htmleditor-navbar-nav-active-color; + @include hook-htmleditor-navbar-nav-active(); +} + + +/* Sub-object: `uk-htmleditor-navbar-flip` + ========================================================================== */ + + .uk-htmleditor-navbar-flip { float: right; } + + +/* Sub-object for special buttons + ========================================================================== */ + +[data-mode='split'] .uk-htmleditor-button-code, +[data-mode='split'] .uk-htmleditor-button-preview { display: none; } + + +/* Sub-object `uk-htmleditor-content` + ========================================================================== */ + +.uk-htmleditor-content { + border-left: 1px solid $htmleditor-content-border; + border-right: 1px solid $htmleditor-content-border; + border-bottom: 1px solid $htmleditor-content-border; + background: $htmleditor-content-background; + @include hook-htmleditor-content(); +} + +/* + * Micro clearfix + */ + +.uk-htmleditor-content:before, +.uk-htmleditor-content:after { + content: ""; + display: table; +} + +.uk-htmleditor-content:after { clear: both; } + + +/* Modifier `uk-htmleditor-fullscreen` + ========================================================================== */ + +.uk-htmleditor-fullscreen { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: $htmleditor-fullscreen-z-index; +} + +.uk-htmleditor-fullscreen .uk-htmleditor-content { + position: absolute; + top: $htmleditor-fullscreen-content-top; + left: 0; + right: 0; + bottom: 0; +} + + +.uk-htmleditor-fullscreen .uk-icon-expand:before { content: $htmleditor-fullscreen-icon-resize; } + + +/* Sub-objects `uk-htmleditor-code` and `uk-htmleditor-preview` + ========================================================================== */ + +.uk-htmleditor-code, +.uk-htmleditor-preview { box-sizing: border-box; } + +.uk-htmleditor-preview { + padding: $htmleditor-content-padding; + overflow-y: scroll; + position: relative; +} + +/* + * Tab view + */ + +[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview, +[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code { display: none; } + +/* + * Split view + */ + +[data-mode='split'] .uk-htmleditor-code, +[data-mode='split'] .uk-htmleditor-preview { + float: left; + width: 50%; +} + +[data-mode='split'] .uk-htmleditor-code { border-right: 1px solid $htmleditor-content-split-border; } + + +/* Sub-object `uk-htmleditor-iframe` + ========================================================================== */ + +.uk-htmleditor-iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + + +/* CodeMirror modifications + ========================================================================== */ + +.uk-htmleditor .CodeMirror { + padding: 10px; + box-sizing: border-box; +} + + +// Hooks +// ======================================================================== + +@include hook-htmleditor-misc(); + +// @mixin hook-htmleditor(){} +// @mixin hook-htmleditor-navbar(){} +// @mixin hook-htmleditor-navbar-nav(){} +// @mixin hook-htmleditor-navbar-nav-hover(){} +// @mixin hook-htmleditor-navbar-nav-onclick(){} +// @mixin hook-htmleditor-navbar-nav-active(){} +// @mixin hook-htmleditor-content(){} +// @mixin hook-htmleditor-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/nestable.scss b/bower_components/uikit/scss/components/nestable.scss new file mode 100644 index 0000000..a5c8a6d --- /dev/null +++ b/bower_components/uikit/scss/components/nestable.scss @@ -0,0 +1,231 @@ +// Name: Nestable +// Description: Defines styles for nestable lists +// +// Component: `uk-nestable` +// +// Sub-objects: `uk-nestable-list` +// `uk-nestable-item` +// `uk-nestable-handle` +// `uk-nestable-moving` +// `uk-nestable-toggle` +// `uk-nestable-panel` +// +// Modifier: `uk-nestable-dragged` +// `uk-nestable-placeholder` +// +// States: `uk-parent` +// `uk-collapsed` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$nestable-padding-left: 40px !default; + +$nestable-item-margin: 10px !default; + +$nestable-dragged-z-index: 1050 !default; + +$nestable-placeholder-border: #ddd !default; + +$nestable-empty-height: 30px !default; + +$nestable-toggle-icon: "\f147" !default; +$nestable-toggle-collapsed-icon: "\f196" !default; + +$nestable-panel-padding: 5px !default; +$nestable-panel-background: #f5f5f5 !default; + + +/* ======================================================================== + Component: Nestable + ========================================================================== */ + +.uk-nestable { + padding: 0; + list-style: none; + @include hook-nestable(); +} + +/* + * Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ + +.uk-nestable a, +.uk-nestable img { -webkit-touch-callout: none; } + + +/* Sub-object `uk-nestable-list` + ========================================================================== */ + +.uk-nestable-list { + margin: 0; + padding-left: $nestable-padding-left; + list-style: none; +} + + +/* Sub-modifier `uk-nestable-item` + ========================================================================== */ + +/* + * 1. Deactivate browser touch actions in IE11 + */ + +.uk-nestable-item { + /* 1 */ + touch-action: none; + @include hook-nestable-item(); +} + +.uk-nestable-item + .uk-nestable-item { margin-top: $nestable-item-margin; } + +.uk-nestable-list:not(.uk-nestable-dragged) > .uk-nestable-item:first-child { margin-top: $nestable-item-margin; } + + +/* Sub-modifier `uk-nestable-dragged` + ========================================================================== */ + +/* + * 1. Reset style + */ + +.uk-nestable-dragged { + position: absolute; + z-index: $nestable-dragged-z-index; + pointer-events: none; + /* 1 */ + padding-left: 0; + @include hook-nestable-dragged(); +} + + +/* Sub-modifier `uk-nestable-placeholder` + ========================================================================== */ + +.uk-nestable-placeholder { position: relative; } + +.uk-nestable-placeholder > * { opacity: 0; } + +.uk-nestable-placeholder:after { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + border: 1px dashed $nestable-placeholder-border; + opacity: 1; + @include hook-nestable-placeholder(); +} + + +/* Empty List + ========================================================================== */ + +.uk-nestable-empty { + min-height: $nestable-empty-height; + @include hook-nestable-empty(); +} + + +/* Sub-object `uk-nestable-handle` + ========================================================================== */ + +/* + * Deactivate browser touch actions in IE11 + */ + +.uk-nestable-handle { touch-action: none; } + +/* Hover */ +.uk-nestable-handle:hover { cursor: move; } + + +/* Sub-object `uk-nestable-moving` + ========================================================================== */ + +.uk-nestable-moving, +/* Needed if moving over links or buttons */ +.uk-nestable-moving * { cursor: move; } +/* Fixes dragging items over iframes */ +.uk-nestable-moving iframe { pointer-events: none; } + + +/* [data-nestable-action='toggle'] + ========================================================================== */ + +/* + * 1. Makes text unselectable. Happens if double clicked by mistake + */ + +[data-nestable-action='toggle'] { + cursor: pointer; + /* 1 */ + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/* Sub-object `.uk-nestable-toggle` + ========================================================================== */ + +.uk-nestable-toggle { + display: inline-block; + visibility: hidden; + @include hook-nestable-toggle(); +} + +.uk-nestable-toggle:after { + content: $nestable-toggle-icon; + font-family: FontAwesome; +} + +.uk-parent > :not(.uk-nestable-list) .uk-nestable-toggle { visibility: visible; } + +/* + * Collapsed + */ + +.uk-collapsed .uk-nestable-list { display: none; } + +.uk-collapsed .uk-nestable-toggle:after { content: $nestable-toggle-collapsed-icon; } + + +/* Sub-object `uk-nestable-panel` + ========================================================================== */ + +.uk-nestable-panel { + padding: $nestable-panel-padding; + background: $nestable-panel-background; + @include hook-nestable-panel(); +} + + +// Hooks +// ======================================================================== + +@include hook-nestable-misc(); + +// @mixin hook-nestable(){} +// @mixin hook-nestable-item(){} +// @mixin hook-nestable-dragged(){} +// @mixin hook-nestable-placeholder(){} +// @mixin hook-nestable-empty(){} +// @mixin hook-nestable-handle(){} +// @mixin hook-nestable-toggle(){} +// @mixin hook-nestable-panel(){} +// @mixin hook-nestable-misc(){} diff --git a/bower_components/uikit/scss/components/notify.scss b/bower_components/uikit/scss/components/notify.scss new file mode 100644 index 0000000..32f413b --- /dev/null +++ b/bower_components/uikit/scss/components/notify.scss @@ -0,0 +1,190 @@ +// Name: Notify +// Description: Defines styles for toggleable notifications +// +// Component: `uk-notify` +// +// Sub-objects: `uk-notify-message` +// +// Modifiers: `uk-notify-top-center` +// `uk-notify-top-right` +// `uk-notify-bottom-left` +// `uk-notify-bottom-center` +// `uk-notify-bottom-right` +// `uk-notify-message-primary` +// `uk-notify-message-success` +// `uk-notify-message-warning` +// `uk-notify-message-danger` +// +// Uses: Close: `uk-close` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$notify-position: 10px !default; +$notify-z-index: 1040 !default; +$notify-width: 350px !default; + +$notify-message-margin-bottom: 10px !default; +$notify-message-padding: 15px !default; +$notify-message-background: #444 !default; +$notify-message-color: #fff !default; +$notify-message-font-size: 16px !default; +$notify-message-line-height: 22px !default; + +$notify-message-primary-background: #ebf7fd !default; +$notify-message-primary-color: #2d7091 !default; + +$notify-message-success-background: #f2fae3 !default; +$notify-message-success-color: #659f13 !default; + +$notify-message-warning-background: #fffceb !default; +$notify-message-warning-color: #e28327 !default; + +$notify-message-danger-background: #fff1f0 !default; +$notify-message-danger-color: #d85030 !default; + + +/* ======================================================================== + Component: Notify + ========================================================================== */ + +/* + * Message container for positioning + */ + +.uk-notify { + position: fixed; + top: $notify-position; + left: $notify-position; + z-index: $notify-z-index; + box-sizing: border-box; + width: $notify-width; + @include hook-notify(); +} + + +/* Position modifiers +========================================================================== */ + +.uk-notify-top-right, +.uk-notify-bottom-right { + left: auto; + right: $notify-position; +} + +.uk-notify-top-center, +.uk-notify-bottom-center { + left: 50%; + margin-left: ($notify-width / -2); +} + +.uk-notify-bottom-left, +.uk-notify-bottom-right, +.uk-notify-bottom-center { + top: auto; + bottom: $notify-position; +} + + +/* Responsiveness +========================================================================== */ + +/* Phones portrait and smaller */ +@media (max-width: $breakpoint-mini-max) { + + /* + * Fit in small screen + */ + + .uk-notify { + left: 10px; + right: 10px; + width: auto; + margin: 0; + } + +} + + +/* Sub-object: `uk-notify-message` +========================================================================== */ + +.uk-notify-message { + position: relative; + margin-bottom: $notify-message-margin-bottom; + padding: $notify-message-padding; + background: $notify-message-background; + color: $notify-message-color; + font-size: $notify-message-font-size; + line-height: $notify-message-line-height; + cursor: pointer; + @include hook-notify-message(); +} + + +/* Close in notify + ========================================================================== */ + +.uk-notify-message > .uk-close { + visibility: hidden; + float: right; +} + +.uk-notify-message:hover > .uk-close { visibility: visible; } + + +/* Modifier: `uk-notify-message-primary` + ========================================================================== */ + +.uk-notify-message-primary { + background: $notify-message-primary-background; + color: $notify-message-primary-color; + @include hook-notify-message-primary(); +} + + +/* Modifier: `uk-notify-message-success` + ========================================================================== */ + +.uk-notify-message-success { + background: $notify-message-success-background; + color: $notify-message-success-color; + @include hook-notify-message-success(); +} + + +/* Modifier: `uk-notify-message-warning` + ========================================================================== */ + +.uk-notify-message-warning { + background: $notify-message-warning-background; + color: $notify-message-warning-color; + @include hook-notify-message-warning(); +} + + +/* Modifier: `uk-notify-message-danger` + ========================================================================== */ + +.uk-notify-message-danger { + background: $notify-message-danger-background; + color: $notify-message-danger-color; + @include hook-notify-message-danger(); +} + + +// Hooks +// ======================================================================== + +@include hook-notify-misc(); + +// @mixin hook-notify(){} +// @mixin hook-notify-message(){} +// @mixin hook-notify-message-primary(){} +// @mixin hook-notify-message-success(){} +// @mixin hook-notify-message-warning(){} +// @mixin hook-notify-message-danger(){} +// @mixin hook-notify-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/placeholder.scss b/bower_components/uikit/scss/components/placeholder.scss new file mode 100644 index 0000000..d8500d0 --- /dev/null +++ b/bower_components/uikit/scss/components/placeholder.scss @@ -0,0 +1,66 @@ +// Name: Placeholder +// Description: Defines styles for placeholder boxes +// +// Component: `uk-placeholder` +// +// Modifiers: `uk-placeholder-large` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$placeholder-margin-vertical: 15px !default; +$placeholder-padding: 20px !default; +$placeholder-border: #ddd !default; +$placeholder-background: #fafafa !default; +$placeholder-color: #444 !default; + +$placeholder-large-padding-vertical: 80px !default; + + +/* ======================================================================== + Component: Placeholder + ========================================================================== */ + +.uk-placeholder { + margin-bottom: $placeholder-margin-vertical; + padding: $placeholder-padding; + border: 1px dashed $placeholder-border; + background: $placeholder-background; + color: $placeholder-color; + @include hook-placeholder(); +} + +/* + * Add margin if adjacent element + */ + +* + .uk-placeholder { margin-top: $placeholder-margin-vertical; } + +/* + * Remove margin from the last-child + */ + +.uk-placeholder > :last-child { margin-bottom: 0; } + + +/* Modifier: `uk-placeholder-large` + ========================================================================== */ + +.uk-placeholder-large { + padding-top: $placeholder-large-padding-vertical; + padding-bottom: $placeholder-large-padding-vertical; + @include hook-placeholder-large(); +} + + +// Hooks +// ======================================================================== + +@include hook-placeholder-misc(); + +// @mixin hook-placeholder(){} +// @mixin hook-placeholder-large(){} +// @mixin hook-placeholder-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/progress.scss b/bower_components/uikit/scss/components/progress.scss new file mode 100644 index 0000000..314eaaf --- /dev/null +++ b/bower_components/uikit/scss/components/progress.scss @@ -0,0 +1,173 @@ +// Name: Progress +// Description: Defines styles for progress bars +// +// Component: `uk-progress` +// +// Sub-objects: `uk-progress-bar` +// +// Modifiers: `uk-progress-mini` +// `uk-progress-small` +// `uk-progress-success` +// `uk-progress-warning` +// `uk-progress-danger` +// `uk-progress-striped` +// +// Markup: +// +// +//
                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$progress-height: 20px !default; +$progress-mini-height: 6px !default; +$progress-small-height: 12px !default; + +$progress-margin-vertical: 15px !default; +$progress-background: #eee !default; + +$progress-bar-background: #00a8e6 !default; +$progress-bar-font-size: 12px !default; +$progress-bar-color: #fff !default; + +$progress-bar-success-background: #8cc14c !default; +$progress-bar-warning-background: #faa732 !default; +$progress-bar-danger-background: #da314b !default; + + +/* ======================================================================== + Component: Progress + ========================================================================== */ + +/* + * 1. Clearing + * 2. Vertical alignment if text is used + */ + +.uk-progress { + box-sizing: border-box; + height: $progress-height; + margin-bottom: $progress-margin-vertical; + background: $progress-background; + /* 1 */ + overflow: hidden; + /* 2 */ + line-height: $progress-height; + @include hook-progress(); +} + +/* + * Add margin if adjacent element + */ + +* + .uk-progress { margin-top: $progress-margin-vertical; } + + +/* Sub-object: `uk-progress-bar` + ========================================================================== */ + +/* + * 1. Transition + * 2. Needed for text + */ + +.uk-progress-bar { + width: 0; + height: 100%; + background: $progress-bar-background; + float: left; + /* 1 */ + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; + /* 2 */ + font-size: $progress-bar-font-size; + color: $progress-bar-color; + text-align: center; + @include hook-progress-bar(); +} + + +/* Size modifiers + ========================================================================== */ + +/* Mini */ +.uk-progress-mini { + height: $progress-mini-height; + @include hook-progress-mini(); +} + + +/* Small */ +.uk-progress-small { + height: $progress-small-height; + @include hook-progress-small(); +} + + +/* Color modifiers + ========================================================================== */ + +.uk-progress-success .uk-progress-bar { + background-color: $progress-bar-success-background; + @include hook-progress-bar-success(); +} + +.uk-progress-warning .uk-progress-bar { + background-color: $progress-bar-warning-background; + @include hook-progress-bar-warning(); +} + +.uk-progress-danger .uk-progress-bar { + background-color: $progress-bar-danger-background; + @include hook-progress-bar-danger(); +} + + +/* Modifier: `uk-progress-striped` + ========================================================================== */ + +.uk-progress-striped .uk-progress-bar { + background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 30px 30px; +} + +/* + * Animation + */ + +.uk-progress-striped.uk-active .uk-progress-bar { + -webkit-animation: uk-progress-bar-stripes 2s linear infinite; + animation: uk-progress-bar-stripes 2s linear infinite; +} + +@-webkit-keyframes uk-progress-bar-stripes { + 0% { background-position: 0 0;} + 100% { background-position: 30px 0; } +} + +@keyframes uk-progress-bar-stripes { + 0% { background-position: 0 0;} + 100% { background-position: 30px 0; } +} + + +// Hooks +// ======================================================================== + +@include hook-progress-misc(); + +// @mixin hook-progress(){} +// @mixin hook-progress-bar(){} +// @mixin hook-progress-mini(){} +// @mixin hook-progress-small(){} +// @mixin hook-progress-bar-success(){} +// @mixin hook-progress-bar-warning(){} +// @mixin hook-progress-bar-danger(){} +// @mixin hook-progress-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/search.scss b/bower_components/uikit/scss/components/search.scss new file mode 100644 index 0000000..24e47f1 --- /dev/null +++ b/bower_components/uikit/scss/components/search.scss @@ -0,0 +1,309 @@ +// Name: Search +// Description: Defines a search component +// +// Component: `uk-search` +// +// Sub-objects: `uk-search-field` +// +// Modifier: (Nav) `uk-nav-search` +// (Dropdown) `uk-dropdown-search` +// +// States: `uk-active` +// `uk-loading` +// +// Uses: Animation +// Icon: FontAwesome +// Navbar: `uk-navbar-flip` +// +// Used by: Off-canvas +// +// Markup: +// +// +// +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$search-width: 120px !default; +$search-focus-width: 180px !default; +$search-height: 30px !default; +$search-padding: 30px !default; +$search-border: rgba(0,0,0,0) !default; +$search-border-width: 1px !default; +$search-background: rgba(0,0,0,0) !default; +$search-color: #444 !default; +$search-placeholder-color: #999 !default; + +$search-icon: "\f002" !default; +$search-icon-size: 14px !default; +$search-icon-color: rgba(0,0,0,0.2) !default; + +// Dropdown modifier +$dropdown-search-width: 300px !default; +$dropdown-search-margin-top: 0 !default; +$dropdown-search-background: #f5f5f5 !default; +$dropdown-search-color: #444 !default; +$dropdown-search-animation: uk-slide-top-fixed !default; +$dropdown-search-navbar-margin-top: 5px !default; +$dropdown-search-navbar-margin-right: -15px !default; + +// Nav modifier +$nav-search-color: #444 !default; +$nav-search-active-background: #00a8e6 !default; +$nav-search-active-color: #fff !default; +$nav-search-header-color: #999 !default; +$nav-search-divider-border: #ddd !default; +$nav-search-divider-border-width: 1px !default; +$nav-search-nested-color: #07D !default; +$nav-search-nested-hover-color: #059 !default; + +// Search in offcanvas +$offcanvas-search-margin: 20px 15px !default; +$offcanvas-search-background: #1a1a1a !default; +$offcanvas-search-border: rgba(0,0,0,0) !default; +$offcanvas-search-color: #ccc !default; +$offcanvas-search-placeholder-color: #777 !default; +$offcanvas-search-icon-color: #777 !default; + + +/* ======================================================================== + Component: Search + ========================================================================== */ + +/* + * 1. Create position context for dropdowns + * 2. Needed for `form` element + */ + +.uk-search { + display: inline-block; + /* 1 */ + position: relative; + /* 2 */ + margin: 0; + @include hook-search(); +} + +/* + * Icon + */ + +.uk-search:before { + content: $search-icon; + position: absolute; + top: 0; + left: 0; + width: $search-padding; + line-height: $search-height; + text-align: center; + font-family: FontAwesome; + font-size: $search-icon-size; + color: $search-icon-color; + @include hook-search-icon(); +} + + +/* Sub-object `uk-search-field` + ========================================================================== */ + +/* + * Removes inner padding and border in Firefox 4+. + */ + +.uk-search-field::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X. + */ + +.uk-search-field::-webkit-search-cancel-button, +.uk-search-field::-webkit-search-decoration { -webkit-appearance: none; } + +/* + * Removes cancel button in IE10 + */ + +.uk-search-field::-ms-clear { display: none; } + +/* + * Removes placeholder transparency in Firefox. + */ + +.uk-search-field::-moz-placeholder { opacity: 1; } + +/* + * 1. Define consistent box sizing. + * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera. + * 3. Remove `border-radius` in iOS. + * 4. Correct `font` properties and `color` not being inherited. + * 5. Remove default style in iOS. + * 6. Style + */ + +.uk-search-field { + /* 1 */ + box-sizing: border-box; + /* 2 */ + margin: 0; + /* 3 */ + border-radius: 0; + /* 4 */ + font: inherit; + color: $search-color; + /* 5 */ + -webkit-appearance: none; + /* 6 */ + width: $search-width; + height: $search-height; + padding: 0 0 0 $search-padding; + border: $search-border-width solid $search-border; + background: $search-background; + -webkit-transition: all 0.2s linear; + transition: all 0.2s linear; + vertical-align: middle; + @include hook-search-field(); +} + +/* Placeholder */ +.uk-search-field:-ms-input-placeholder { color: $search-placeholder-color !important; } +.uk-search-field::-moz-placeholder { color: $search-placeholder-color; } +.uk-search-field::-webkit-input-placeholder { color: $search-placeholder-color; } + +/* Focus */ +.uk-search-field:focus { + outline: 0; + @include hook-search-field-focus(); +} + +/* Focus + Active */ +.uk-search-field:focus, +.uk-search.uk-active .uk-search-field { width: $search-focus-width; } + + +/* Dropdown modifier: `uk-dropdown-search` + ========================================================================== */ + +.uk-dropdown-search { + width: $dropdown-search-width; + margin-top: $dropdown-search-margin-top; + background: $dropdown-search-background; + color: $dropdown-search-color; + @include hook-dropdown-search(); +} + +.uk-open > .uk-dropdown-search { + -webkit-animation: $dropdown-search-animation 0.2s ease-in-out; + animation: $dropdown-search-animation 0.2s ease-in-out; +} + +/* + * Dependency `uk-navbar-flip` + */ + +.uk-navbar-flip .uk-dropdown-search { + margin-top: $dropdown-search-navbar-margin-top; + margin-right: $dropdown-search-navbar-margin-right; +} + + +/* Nav modifier `uk-nav-search` + ========================================================================== */ + +/* + * Items + */ + +.uk-nav-search > li > a { + color: $nav-search-color; + @include hook-nav-search(); +} + +/* + * Active + * 1. Remove default focus style + */ + +.uk-nav-search > li.uk-active > a { + background: $nav-search-active-background; + color: $nav-search-active-color; + /* 1 */ + outline: none; + @include hook-nav-search-active(); +} + +/* + * Sub-object: `uk-nav-header` + */ + +.uk-nav-search .uk-nav-header { + color: $nav-search-header-color; + @include hook-nav-search-header(); +} + +/* + * Sub-object: `uk-nav-divider` + */ + +.uk-nav-search .uk-nav-divider { + border-top: $nav-search-divider-border-width solid $nav-search-divider-border; + @include hook-nav-search-divider(); +} + +/* + * Nested items + */ + +.uk-nav-search ul a { color: $nav-search-nested-color; } +.uk-nav-search ul a:hover { color: $nav-search-nested-hover-color; } + + +/* Search in offcanvas + ========================================================================== */ + +.uk-offcanvas .uk-search { + display: block; + margin: $offcanvas-search-margin; +} + +.uk-offcanvas .uk-search:before { color: $offcanvas-search-icon-color; } + +.uk-offcanvas .uk-search-field { + width: 100%; + border-color: $offcanvas-search-border; + background: $offcanvas-search-background; + color: $offcanvas-search-color; + @include hook-offcanvas-search-field(); +} + +.uk-offcanvas .uk-search-field:-ms-input-placeholder { color: $offcanvas-search-placeholder-color !important; } +.uk-offcanvas .uk-search-field::-moz-placeholder { color: $offcanvas-search-placeholder-color; } +.uk-offcanvas .uk-search-field::-webkit-input-placeholder { color: $offcanvas-search-placeholder-color; } + + +// Hooks +// ======================================================================== + +@include hook-search-misc(); + +// @mixin hook-search(){} +// @mixin hook-search-icon(){} +// @mixin hook-search-field(){} +// @mixin hook-search-field-focus(){} + +// @mixin hook-dropdown-search(){} +// @mixin hook-nav-search(){} +// @mixin hook-nav-search-active(){} +// @mixin hook-nav-search-header(){} +// @mixin hook-nav-search-divider(){} +// @mixin hook-offcanvas-search-field(){} + +// @mixin hook-search-misc(){} diff --git a/bower_components/uikit/scss/components/slidenav.scss b/bower_components/uikit/scss/components/slidenav.scss new file mode 100644 index 0000000..1af517d --- /dev/null +++ b/bower_components/uikit/scss/components/slidenav.scss @@ -0,0 +1,183 @@ +// Name: Slidenav +// Description: Defines styles for a previous/next navigation between slides +// +// Component: `uk-slidenav` +// +// Modifiers: `uk-slidenav-previous` +// `uk-slidenav-next` +// `uk-slidenav-contrast` +// +// Sub-objects: `uk-slidenav-position` +// +// Uses: Icon: FontAwesome +// +// Markup: +// +// +// +// +// +// +//
                  +// +// +// +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$slidenav-width: 60px !default; +$slidenav-height: $slidenav-width !default; +$slidenav-color: rgba(50,50,50,0.4) !default; +$slidenav-font-size: 60px !default; +$slidenav-line-height: $slidenav-height !default; +$slidenav-previous-icon: "\f104" !default; +$slidenav-next-icon: "\f105" !default; + +$slidenav-hover-color: rgba(50,50,50,0.7) !default; + +$slidenav-active-color: rgba(50,50,50,0.9) !default; + +$slidenav-position-previous: 20px !default; +$slidenav-position-next: $slidenav-position-previous !default; + +$slidenav-contrast-color: rgba(255,255,255,0.5) !default; +$slidenav-contrast-hover-color: rgba(255,255,255,0.7) !default; +$slidenav-contrast-active-color: rgba(255,255,255,0.9) !default; + + +/* ======================================================================== + Component: Slidenav + ========================================================================== */ + +/* + * 1. Required for `a` elements + * 2. Dimension + * 3. Style + */ + +.uk-slidenav { + /* 1 */ + display: inline-block; + /* 2 */ + box-sizing: border-box; + width: $slidenav-width; + height: $slidenav-height; + /* 3 */ + line-height: $slidenav-line-height; + color: $slidenav-color; + font-size: $slidenav-font-size; + text-align: center; + @include hook-slidenav(); +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + * 4. Style + */ + +.uk-slidenav:hover, +.uk-slidenav:focus { // 1 + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + /* 4 */ + color: $slidenav-hover-color; + cursor: pointer; + @include hook-slidenav-hover(); +} + +/* Active */ +.uk-slidenav:active { + color: $slidenav-active-color; + @include hook-slidenav-active(); +} + +/* + * Icons + */ + +.uk-slidenav-previous:before { + content: $slidenav-previous-icon; + font-family: FontAwesome; +} + +.uk-slidenav-next:before { + content: $slidenav-next-icon; + font-family: FontAwesome; +} + + +/* Sub-object: `uk-slidenav-position` + ========================================================================== */ + +/* + * Create position context + */ + +.uk-slidenav-position { position: relative; } + +/* + * Center vertically + */ + +.uk-slidenav-position .uk-slidenav { + display: none; + position: absolute; + top: 50%; + z-index: 1; + margin-top: -($slidenav-height / 2); +} + +.uk-slidenav-position:hover .uk-slidenav { display: block; } + +.uk-slidenav-position .uk-slidenav-previous { left: $slidenav-position-previous; } +.uk-slidenav-position .uk-slidenav-next { right: $slidenav-position-next; } + + +/* Modifier: `uk-slidenav-contrast` + ========================================================================== */ + +.uk-slidenav-contrast { + color: $slidenav-contrast-color; + @include hook-slidenav-contrast(); +} + +/* + * Hover + * 1. Apply hover style also to focus state + */ + +.uk-slidenav-contrast:hover, +.uk-slidenav-contrast:focus { // 1 + color: $slidenav-contrast-hover-color; + @include hook-slidenav-contrast-hover(); +} + +/* Active */ +.uk-slidenav-contrast:active { + color: $slidenav-contrast-active-color; + @include hook-slidenav-contrast-active(); +} + + +// Hooks +// ======================================================================== + +@include hook-slidenav-misc(); + +// @mixin hook-slidenav(){} +// @mixin hook-slidenav-hover(){} +// @mixin hook-slidenav-active(){} +// @mixin hook-slidenav-contrast(){} +// @mixin hook-slidenav-contrast-hover(){} +// @mixin hook-slidenav-contrast-active(){} +// @mixin hook-slidenav-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/slider.scss b/bower_components/uikit/scss/components/slider.scss new file mode 100644 index 0000000..4a78a88 --- /dev/null +++ b/bower_components/uikit/scss/components/slider.scss @@ -0,0 +1,139 @@ +// Name: Slider +// Description: Defines styles for a horizontal slider +// +// Component: `uk-slider` +// +// Sub-objects: `uk-slider-container` +// +// Modifier: `uk-slider-fullscreen` +// +// States: `uk-drag` +// +// Markup: +// +// +//
                  +//
                  +//
                    +//
                  • +//
                  • +//
                  +//
                  +//
                  +// +// ======================================================================== + + +/* ======================================================================== + Component: Slider + ========================================================================== */ + +/* + * RTL Compatibility + */ + +[data-uk-slider] { direction: ltr; } + +html[dir="rtl"] .uk-slider > * { direction: rtl; } + +/* + * 1. Create position context + * 2. Create stacking context to prevent z-index issues with other components + * 3. Deactivate browser history navigation in IE11 + */ + +.uk-slider { + /* 1 */ + position: relative; + /* 2 */ + z-index: 0; + /* 3 */ + touch-action: pan-y; +} + +/* + * 1. Reset list style without interfering with grid + */ + +.uk-slider:not(.uk-grid) { + /* 1 */ + margin: 0; + padding: 0; + list-style: none; +} + +/* + * Sub-object item + * 1. Position items above each other + */ + +.uk-slider > * { + /* 1 */ + position: absolute; + top: 0; + left: 0; +} + +/* + * Clip child elements + */ + +.uk-slider-container { overflow: hidden; } + +/* + * Dragged + */ + +.uk-slider:not(.uk-drag) { + -webkit-transition: -webkit-transform 200ms linear; + transition: transform 200ms linear; +} + +/* + * 1. Makes text unselectable + */ + +.uk-slider.uk-drag { + cursor: col-resize; + /* 1 */ + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* + * 1. Prevents images and links from being dragged (default browser behavior) + * 2. Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ + +.uk-slider a, +.uk-slider img { + /* 1 */ + -webkit-user-drag: none; + user-drag: none; + /* 2 */ + -webkit-touch-callout: none; +} + +/* + * 1. Prevents images and links from being dragged in Firefox + */ + +.uk-slider img { pointer-events: none; } + + +/* Modifier: `uk-slider-fullscreen` + ========================================================================== */ + +.uk-slider-fullscreen, +.uk-slider-fullscreen > li { height: 100vh; } + + +// Hooks +// ======================================================================== + +@include hook-slider-misc(); + +// @mixin hook-slider-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/components/slideshow.scss b/bower_components/uikit/scss/components/slideshow.scss new file mode 100644 index 0000000..2e59e39 --- /dev/null +++ b/bower_components/uikit/scss/components/slideshow.scss @@ -0,0 +1,208 @@ +// Name: Slideshow +// Description: Defines styles for a slideshow +// +// Component: `uk-slideshow` +// +// Modifier: `uk-slideshow-fullscreen` +// +// Sub-modifier: `uk-slideshow-fade-out` +// `uk-slideshow-scroll-forward-in` +// `uk-slideshow-scroll-forward-out` +// `uk-slideshow-scroll-backward-in` +// `uk-slideshow-scroll-backward-out` +// `uk-slideshow-scale-out` +// `uk-slideshow-swipe-forward-in` +// `uk-slideshow-swipe-forward-out` +// `uk-slideshow-swipe-backward-in` +// `uk-slideshow-swipe-backward-out` +// +// States: `uk-active` +// +// Uses: Cover (JS) +// +// Markup: +// +// +//
                    +//
                  • +//
                  +// +// ======================================================================== + + +/* ======================================================================== + Component: Slideshow + ========================================================================== */ + +/* + * 1. Create position context + * 2. Create stacking context to prevent z-index issues with other components + * 3. Set width because child elements are positioned absolute. Height is set via JS + * 4. Reset list style + * 5. Clip child elements + * 6. Deactivate browser history navigation in IE11 + */ + +.uk-slideshow { + /* 1 */ + position: relative; + /* 2 */ + z-index: 0; + /* 3 */ + width: 100%; + /* 4 */ + margin: 0; + padding: 0; + list-style: none; + /* 5 */ + overflow: hidden; + /* 6 */ + touch-action: pan-y; +} + +/* + * Sub-object item + * 1. Position items above each other + * 2. Expand to parent container width + * 3. Hide by default + */ + +.uk-slideshow > li { + /* 1 */ + position: absolute; + top: 0; + left: 0; + /* 2 */ + width: 100%; + /* 3 */ + opacity: 0; +} + +/* + * Active + * 1. Stack at first + * 2. Show slide + */ + +.uk-slideshow > .uk-active { + /* 1 */ + z-index: 10; + /* 2 */ + opacity: 1; +} + +/* + * Hide default images which is only relevant to keep existing proportions + */ + +.uk-slideshow > li > img { visibility: hidden; } + +/* + * Pointer for controls + */ + +[data-uk-slideshow-slide] { cursor: pointer; } + + +/* Modifier: `uk-slideshow-fullscreen` + ========================================================================== */ + +.uk-slideshow-fullscreen, +.uk-slideshow-fullscreen > li { height: 100vh; } + + +/* Animations + ========================================================================== */ + +/* + * Fade + */ + + .uk-slideshow-fade-in { + -webkit-animation: uk-fade 0.5s linear; + animation: uk-fade 0.5s linear; + } + +.uk-slideshow-fade-out { + -webkit-animation: uk-fade 0.5s linear reverse; + animation: uk-fade 0.5s linear reverse; +} + +/* + * Scroll + */ + +.uk-slideshow-scroll-forward-in { + -webkit-animation: uk-slide-right 0.5s ease-in-out; + animation: uk-slide-right 0.5s ease-in-out; +} + +.uk-slideshow-scroll-forward-out { + -webkit-animation: uk-slide-left 0.5s ease-in-out reverse; + animation: uk-slide-left 0.5s ease-in-out reverse; +} + +.uk-slideshow-scroll-backward-in { + -webkit-animation: uk-slide-left 0.5s ease-in-out; + animation: uk-slide-left 0.5s ease-in-out; +} + +.uk-slideshow-scroll-backward-out { + -webkit-animation: uk-slide-right 0.5s ease-in-out reverse; + animation: uk-slide-right 0.5s ease-in-out reverse; +} + +/* + * Scale + */ + +.uk-slideshow-scale-out { + -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse; + animation: uk-fade-scale-15 0.5s ease-in-out reverse; +} + +/* + * Swipe + */ + +.uk-slideshow-swipe-forward-in { + -webkit-animation: uk-slide-left-33 0.5s ease-in-out; + animation: uk-slide-left-33 0.5s ease-in-out; +} + +.uk-slideshow-swipe-forward-out { + -webkit-animation: uk-slide-left 0.5s ease-in-out reverse; + animation: uk-slide-left 0.5s ease-in-out reverse; +} + +.uk-slideshow-swipe-backward-in { + -webkit-animation: uk-slide-right-33 0.5s ease-in-out; + animation: uk-slide-right-33 0.5s ease-in-out; +} + +.uk-slideshow-swipe-backward-out { + -webkit-animation: uk-slide-right 0.5s ease-in-out reverse; + animation: uk-slide-right 0.5s ease-in-out reverse; +} + +.uk-slideshow-swipe-forward-in:before, +.uk-slideshow-swipe-backward-in:before { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 1; + background: rgba(0,0,0,0.6); + -webkit-animation: uk-fade 0.5s ease-in-out reverse; + animation: uk-fade 0.5s ease-in-out reverse; +} + + +// Hooks +// ======================================================================== + +@include hook-slideshow-misc(); + +// @mixin hook-slideshow-misc(){} diff --git a/bower_components/uikit/scss/components/sortable.scss b/bower_components/uikit/scss/components/sortable.scss new file mode 100644 index 0000000..88c2836 --- /dev/null +++ b/bower_components/uikit/scss/components/sortable.scss @@ -0,0 +1,124 @@ +// Name: Sortable +// Description: Defines styles for sortable grids and lists +// +// Component: `uk-sortable` +// +// Sub-objects: `uk-sortable-handle` +// `uk-sortable-moving` +// +// Modifier: `uk-sortable-dragged` +// `uk-sortable-placeholder` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$sortable-dragged-z-index: 1050 !default; + +$sortable-placeholder-opacity: 0 !default; + +$sortable-empty-height: 30px !default; + + +/* ======================================================================== + Component: Sortable + ========================================================================== */ + +.uk-sortable { + position: relative; + @include hook-sortable(); +} + +/* + * Deactivate browser touch actions in IE11 + */ + +.uk-sortable > * { touch-action: none; } + +/* + * Disables the default callout shown when you touch and hold a touch target + * Currently only works in Webkit + */ + +.uk-sortable a, +.uk-sortable img { -webkit-touch-callout: none; } + +/* + * Remove margin from the last-child + */ + +.uk-sortable > :last-child { margin-bottom: 0; } + + +/* Sub-modifier `uk-sortable-dragged` + ========================================================================== */ + +.uk-sortable-dragged { + position: absolute; + z-index: $sortable-dragged-z-index; + pointer-events: none; + @include hook-sortable-dragged(); +} + + +/* Sub-modifier `uk-sortable-placeholder` + ========================================================================== */ + +.uk-sortable-placeholder { + opacity: $sortable-placeholder-opacity; + @include hook-sortable-placeholder(); +} + + +/* Empty List + ========================================================================== */ + +.uk-sortable-empty { + min-height: $sortable-empty-height; + @include hook-sortable-empty(); +} + + +/* Sub-object `uk-sortable-handle` + ========================================================================== */ + +/* + * Deactivate browser touch actions in IE11 + */ + +.uk-sortable-handle { touch-action: none; } + +/* Hover */ +.uk-sortable-handle:hover { cursor: move; } + + +/* Sub-object `uk-sortable-moving` + ========================================================================== */ + +.uk-sortable-moving, +/* Needed if moving over links or buttons */ +.uk-sortable-moving * { cursor: move; } +/* Fixes dragging items over iframes */ +.uk-sortable-moving iframe { pointer-events: none; } + + +// Hooks +// ======================================================================== + +@include hook-sortable-misc(); + +// @mixin hook-sortable(){} +// @mixin hook-sortable-dragged(){} +// @mixin hook-sortable-placeholder(){} +// @mixin hook-sortable-empty(){} +// @mixin hook-sortable-misc(){} diff --git a/bower_components/uikit/scss/components/sticky.scss b/bower_components/uikit/scss/components/sticky.scss new file mode 100644 index 0000000..60bf98a --- /dev/null +++ b/bower_components/uikit/scss/components/sticky.scss @@ -0,0 +1,57 @@ +// Name: Sticky +// Description: Make elements remain at the top of the viewport +// +// Component: `data-uk-sticky` +// +// States: `uk-active` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$sticky-z-index: 980 !default; + +$sticky-animation-duration: 0.2s !default; +$sticky-reverse-animation-duration: 0.2s !default; + + +/* ======================================================================== + Component: Sticky + ========================================================================== */ + +/* + * 1. More robust if padding and border are used + * 2. Enable hardware acceleration for iOS browsers, resolves scrolling issue + */ + +[data-uk-sticky].uk-active { + z-index: $sticky-z-index; + /* 1 */ + box-sizing: border-box; + /* 2 */ + -webkit-backface-visibility: hidden +} + +/* + * Faster animations + */ + +[data-uk-sticky][class*='uk-animation-'] { + -webkit-animation-duration: $sticky-animation-duration; + animation-duration: $sticky-animation-duration; +} + +[data-uk-sticky].uk-animation-reverse { + -webkit-animation-duration: $sticky-reverse-animation-duration; + animation-duration: $sticky-reverse-animation-duration; +} + + +// Hooks +// ======================================================================== + +@include hook-sticky-misc(); + +// @mixin hook-sticky-misc(){} diff --git a/bower_components/uikit/scss/components/tooltip.scss b/bower_components/uikit/scss/components/tooltip.scss new file mode 100644 index 0000000..f87bc00 --- /dev/null +++ b/bower_components/uikit/scss/components/tooltip.scss @@ -0,0 +1,177 @@ +// Name: Tooltip +// Description: Defines styles for tooltips +// +// Component: `uk-tooltip` +// +// Modifiers `uk-tooltip-top` +// `uk-tooltip-top-left` +// `uk-tooltip-top-right` +// `uk-tooltip-bottom` +// `uk-tooltip-bottom-left` +// `uk-tooltip-bottom-right` +// `uk-tooltip-left` +// `uk-tooltip-right` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$tooltip-z-index: 1030 !default; +$tooltip-max-width: 200px !default; +$tooltip-padding-vertical: 5px !default; +$tooltip-padding-horizontal: 8px !default; +$tooltip-background: #333 !default; +$tooltip-triangle-size: 5px !default; + +$tooltip-color: rgba(255,255,255,0.7) !default; +$tooltip-font-size: 12px !default; +$tooltip-line-height: 18px !default; + +$tooltip-offset-horizontal: 10px !default; + + +/* ======================================================================== + Component: Tooltip + ========================================================================== */ + +/* + * 1. Hide by default + * 2. Set fixed position + * 3. Set dimensions + * 4. Set style + */ + +.uk-tooltip { + /* 1 */ + display: none; + /* 2 */ + position: absolute; + z-index: $tooltip-z-index; + /* 3 */ + box-sizing: border-box; + max-width: $tooltip-max-width; + padding: $tooltip-padding-vertical $tooltip-padding-horizontal; + /* 4 */ + background: $tooltip-background; + color: $tooltip-color; + font-size: $tooltip-font-size; + line-height: $tooltip-line-height; + @include hook-tooltip(); +} + + +/* Triangle + ========================================================================== */ + +/* + * 1. Dashed is less antialised than solid + */ + +.uk-tooltip:after { + content: ""; + display: block; + position: absolute; + width: 0; + height: 0; + /* 1 */ + border: $tooltip-triangle-size dashed $tooltip-background; +} + + +/* Direction modifiers + ========================================================================== */ + +/* + * Top + */ + +.uk-tooltip-top:after, +.uk-tooltip-top-left:after, +.uk-tooltip-top-right:after { + bottom: -$tooltip-triangle-size; + border-top-style: solid; + border-bottom: none; + border-left-color: transparent; + border-right-color: transparent; + border-top-color: $tooltip-background; +} + +/* + * Bottom + */ + +.uk-tooltip-bottom:after, +.uk-tooltip-bottom-left:after, +.uk-tooltip-bottom-right:after { + top: -$tooltip-triangle-size; + border-bottom-style: solid; + border-top: none; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-color: $tooltip-background; +} + +/* + * Top/Bottom center + */ + +.uk-tooltip-top:after, +.uk-tooltip-bottom:after { + left: 50%; + margin-left: -$tooltip-triangle-size; +} + +/* + * Top/Bottom left + */ + +.uk-tooltip-top-left:after, +.uk-tooltip-bottom-left:after { left: $tooltip-offset-horizontal; } + +/* + * Top/Bottom right + */ + +.uk-tooltip-top-right:after, +.uk-tooltip-bottom-right:after { right: $tooltip-offset-horizontal; } + +/* + * Left + */ + +.uk-tooltip-left:after { + right: -$tooltip-triangle-size; + top: 50%; + margin-top: -$tooltip-triangle-size; + border-left-style: solid; + border-right: none; + border-top-color: transparent; + border-bottom-color: transparent; + border-left-color: $tooltip-background; +} + +/* + * Right + */ + +.uk-tooltip-right:after { + left: -$tooltip-triangle-size; + top: 50%; + margin-top: -$tooltip-triangle-size; + border-right-style: solid; + border-left: none; + border-top-color: transparent; + border-bottom-color: transparent; + border-right-color: $tooltip-background; +} + + +// Hooks +// ======================================================================== + +@include hook-tooltip-misc(); + +// @mixin hook-tooltip(){} +// @mixin hook-tooltip-misc(){} diff --git a/bower_components/uikit/scss/components/upload.scss b/bower_components/uikit/scss/components/upload.scss new file mode 100644 index 0000000..2809cc1 --- /dev/null +++ b/bower_components/uikit/scss/components/upload.scss @@ -0,0 +1,34 @@ +// Name: Upload +// Description: Provides a dragover state for uploads +// +// Component: `uk-upload` +// +// States: `uk-dragover` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$uk-upload-dragover-box-shadow: rgba(100,100,100,0.3) !default; +$uk-upload-dragover-box-shadow-blur: 20px !default; + + +/* ======================================================================== + Component: Upload + ========================================================================== */ + +/* + * Create a box-shadow when dragging a file over the upload area + */ + +.uk-dragover { box-shadow: 0 0 $uk-upload-dragover-box-shadow-blur $uk-upload-dragover-box-shadow; } + + +// Hooks +// ======================================================================== + +@include hook-upload-misc(); + +// @mixin hook-upload-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/alert.scss b/bower_components/uikit/scss/core/alert.scss new file mode 100644 index 0000000..e52be40 --- /dev/null +++ b/bower_components/uikit/scss/core/alert.scss @@ -0,0 +1,141 @@ +// Name: Alert +// Description: Defines styles for alert messages +// +// Component: `uk-alert` +// +// Sub-objects: `uk-alert-close` +// +// Modifiers: `uk-alert-success` +// `uk-alert-warning` +// `uk-alert-danger` +// `uk-alert-large` +// +// Uses: Close: `uk-close` +// +// Markup: +// +// +//
                  +// +//

                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$alert-margin-vertical: 15px !default; +$alert-padding: 10px !default; +$alert-background: #ebf7fd !default; +$alert-color: #2d7091 !default; + +$alert-success-background: #f2fae3 !default; +$alert-success-color: #659f13 !default; + +$alert-warning-background: #fffceb !default; +$alert-warning-color: #e28327 !default; + +$alert-danger-background: #fff1f0 !default; +$alert-danger-color: #d85030 !default; + +$alert-large-padding: 20px !default; + + +/* ======================================================================== + Component: Alert + ========================================================================== */ + +.uk-alert { + margin-bottom: $alert-margin-vertical; + padding: $alert-padding; + background: $alert-background; + color: $alert-color; + @include hook-alert(); +} + +/* + * Add margin if adjacent element + */ + +* + .uk-alert { margin-top: $alert-margin-vertical; } + +/* + * Remove margin from the last-child + */ + +.uk-alert > :last-child { margin-bottom: 0; } + +/* + * Keep color for headings if the default heading color is changed + */ + +.uk-alert h1, +.uk-alert h2, +.uk-alert h3, +.uk-alert h4, +.uk-alert h5, +.uk-alert h6 { color: inherit; } + + +/* Close in alert + ========================================================================== */ + +.uk-alert > .uk-close:first-child { float: right; } + +/* + * Remove margin from adjacent element + */ + +.uk-alert > .uk-close:first-child + * { margin-top: 0; } + + +/* Modifier: `uk-alert-success` + ========================================================================== */ + +.uk-alert-success { + background: $alert-success-background; + color: $alert-success-color; + @include hook-alert-success(); +} + + +/* Modifier: `uk-alert-warning` + ========================================================================== */ + +.uk-alert-warning { + background: $alert-warning-background; + color: $alert-warning-color; + @include hook-alert-warning(); +} + + +/* Modifier: `uk-alert-danger` + ========================================================================== */ + +.uk-alert-danger { + background: $alert-danger-background; + color: $alert-danger-color; + @include hook-alert-danger(); +} + + +/* Modifier: `uk-alert-large` + ========================================================================== */ + +.uk-alert-large { padding: $alert-large-padding; } + +.uk-alert-large > .uk-close:first-child { margin: -10px -10px 0 0; } + + +// Hooks +// ======================================================================== + +@include hook-alert-misc(); + +// @mixin hook-alert(){} +// @mixin hook-alert-success(){} +// @mixin hook-alert-warning(){} +// @mixin hook-alert-danger(){} +// @mixin hook-alert-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/animation.scss b/bower_components/uikit/scss/core/animation.scss new file mode 100644 index 0000000..adacdf9 --- /dev/null +++ b/bower_components/uikit/scss/core/animation.scss @@ -0,0 +1,599 @@ +// Name: Animation +// Description: Provides a useful set of keyframe animations +// +// Component: `uk-animation-*` +// +// Modifiers: `uk-animation-fade` +// `uk-animation-scale-up` +// `uk-animation-scale-down` +// `uk-animation-slide-top` +// `uk-animation-slide-bottom` +// `uk-animation-slide-left` +// `uk-animation-slide-right` +// `uk-animation-scale` +// `uk-animation-shake` +// `uk-animation-reverse` +// `uk-animation-15` +// `uk-animation-top-left` +// `uk-animation-top-center` +// `uk-animation-top-right` +// `uk-animation-middle-left` +// `uk-animation-middle-right` +// `uk-animation-bottom-left` +// `uk-animation-bottom-center` +// `uk-animation-bottom-right` +// +// Sub-objects: `uk-animation-hover` +// +// Uses: Scrollspy +// +// Used by: Dropdown +// Icon +// Search +// Datepicker +// Slideshow +// +// ======================================================================== + + +/* ======================================================================== + Component: Animation + ========================================================================== */ + +[class*='uk-animation-'] { + -webkit-animation-duration: 0.5s; + animation-duration: 0.5s; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +/* Hide animated element if scrollspy is used */ +@media screen { + + [data-uk-scrollspy*='uk-animation-']:not([data-uk-scrollspy*='target']) { opacity: 0; } + +} + +/* + * Fade + * Higher specificity (!important) needed because of reverse modifier + */ + +.uk-animation-fade { + -webkit-animation-name: uk-fade; + animation-name: uk-fade; + -webkit-animation-duration: 0.8s; + animation-duration: 0.8s; + -webkit-animation-timing-function: linear !important; + animation-timing-function: linear !important; +} + +/* + * Fade with scale + */ + +.uk-animation-scale-up { + -webkit-animation-name: uk-fade-scale-02; + animation-name: uk-fade-scale-02; +} + +.uk-animation-scale-down { + -webkit-animation-name: uk-fade-scale-18; + animation-name: uk-fade-scale-18; +} + +/* + * Fade with slide + */ + +.uk-animation-slide-top { + -webkit-animation-name: uk-fade-top; + animation-name: uk-fade-top; +} + +.uk-animation-slide-bottom { + -webkit-animation-name: uk-fade-bottom; + animation-name: uk-fade-bottom; +} + +.uk-animation-slide-left { + -webkit-animation-name: uk-fade-left; + animation-name: uk-fade-left; +} + +.uk-animation-slide-right { + -webkit-animation-name: uk-fade-right; + animation-name: uk-fade-right; +} + +/* + * Scale + */ + +.uk-animation-scale { + -webkit-animation-name: uk-scale-12; + animation-name: uk-scale-12; +} + +/* + * Shake + */ + +.uk-animation-shake { + -webkit-animation-name: uk-shake; + animation-name: uk-shake; +} + + +/* Direction modifiers + ========================================================================== */ + +.uk-animation-reverse { + -webkit-animation-direction: reverse; + animation-direction: reverse; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + + +/* Duration modifiers +========================================================================== */ + +.uk-animation-15 { + -webkit-animation-duration: 15s; + animation-duration: 15s; +} + + +/* Origin modifiers +========================================================================== */ + +.uk-animation-top-left { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} + +.uk-animation-top-center { + -webkit-transform-origin: 50% 0; + transform-origin: 50% 0; +} + +.uk-animation-top-right { + -webkit-transform-origin: 100% 0; + transform-origin: 100% 0; +} + +.uk-animation-middle-left { + -webkit-transform-origin: 0 50%; + transform-origin: 0 50%; +} + +.uk-animation-middle-right { + -webkit-transform-origin: 100% 50%; + transform-origin: 100% 50%; +} + +.uk-animation-bottom-left { + -webkit-transform-origin: 0 100%; + transform-origin: 0 100%; +} + +.uk-animation-bottom-center { + -webkit-transform-origin: 50% 100%; + transform-origin: 50% 100%; +} + +.uk-animation-bottom-right { + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100%; +} + + +/* Sub-object: `uk-animation-hover` +========================================================================== */ + +/* + * Enable animation only on hover + * Note: Firefox also needs this because animations are not triggered when switching between display `hidden` and `block` + */ + +.uk-animation-hover:not(:hover), +.uk-animation-hover:not(:hover) [class*='uk-animation-'], +.uk-touch .uk-animation-hover:not(.uk-hover), +.uk-touch .uk-animation-hover:not(.uk-hover) [class*='uk-animation-'] { + -webkit-animation-name: none; + animation-name: none; +} + + +/* Keyframes: Fade + * Used by dropdown, datepicker and slideshow component + ========================================================================== */ + +@-webkit-keyframes uk-fade { + 0% { opacity: 0; } + 100% { opacity: 1; } +} + +@keyframes uk-fade { + 0% { opacity: 0; } + 100% { opacity: 1; } +} + + +/* Keyframes: Fade with slide + ========================================================================== */ + +/* + * Top + */ + +@-webkit-keyframes uk-fade-top { + 0% { + opacity: 0; + -webkit-transform: translateY(-100%); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} + +@keyframes uk-fade-top { + 0% { + opacity: 0; + transform: translateY(-100%); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} + +/* + * Bottom + */ + +@-webkit-keyframes uk-fade-bottom { + 0% { + opacity: 0; + -webkit-transform: translateY(100%); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} + +@keyframes uk-fade-bottom { + 0% { + opacity: 0; + transform: translateY(100%); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} + +/* + * Left + */ + +@-webkit-keyframes uk-fade-left { + 0% { + opacity: 0; + -webkit-transform: translateX(-100%); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} + +@keyframes uk-fade-left { + 0% { + opacity: 0; + transform: translateX(-100%); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} + +/* + * Right + */ + +@-webkit-keyframes uk-fade-right { + 0% { + opacity: 0; + -webkit-transform: translateX(100%); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} + +@keyframes uk-fade-right { + 0% { + opacity: 0; + transform: translateX(100%); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} + + +/* Keyframes: Fade with scale + ========================================================================== */ + +/* + * Scale by 0.2 + */ + +@-webkit-keyframes uk-fade-scale-02 { + 0% { + opacity: 0; + -webkit-transform: scale(0.2); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} + +@keyframes uk-fade-scale-02 { + 0% { + opacity: 0; + transform: scale(0.2); + } + 100% { + opacity: 1; + transform: scale(1); + } +} + +/* + * Scale by 1.5 + * Used by slideshow component + */ + +@-webkit-keyframes uk-fade-scale-15 { + 0% { + opacity: 0; + -webkit-transform: scale(1.5); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} + +@keyframes uk-fade-scale-15 { + 0% { + opacity: 0; + transform: scale(1.5); + } + 100% { + opacity: 1; + transform: scale(1); + } +} + +/* + * Scale by 1.8 + */ + +@-webkit-keyframes uk-fade-scale-18 { + 0% { + opacity: 0; + -webkit-transform: scale(1.8); + } + 100% { + opacity: 1; + -webkit-transform: scale(1); + } +} + +@keyframes uk-fade-scale-18 { + 0% { + opacity: 0; + transform: scale(1.8); + } + 100% { + opacity: 1; + transform: scale(1); + } +} + + +/* Keyframes: Slide + * Used by slideshow component + ========================================================================== */ + +/* + * Left + */ + +@-webkit-keyframes uk-slide-left { + 0% { -webkit-transform: translateX(-100%); } + 100% { -webkit-transform: translateX(0); } +} + +@keyframes uk-slide-left { + 0% { transform: translateX(-100%); } + 100% { transform: translateX(0); } +} + +/* + * Right + */ + +@-webkit-keyframes uk-slide-right { + 0% { -webkit-transform: translateX(100%); } + 100% { -webkit-transform: translateX(0); } +} + +@keyframes uk-slide-right { + 0% { transform: translateX(100%); } + 100% { transform: translateX(0); } +} + +/* + * Left third + */ + +@-webkit-keyframes uk-slide-left-33 { + 0% { -webkit-transform: translateX(33%); } + 100% { -webkit-transform: translateX(0); } +} + +@keyframes uk-slide-left-33 { + 0% { transform: translateX(33%); } + 100% { transform: translateX(0); } +} + +/* + * Right third + */ + +@-webkit-keyframes uk-slide-right-33 { + 0% { -webkit-transform: translateX(-33%); } + 100% { -webkit-transform: translateX(0); } +} + +@keyframes uk-slide-right-33 { + 0% { transform: translateX(-33%); } + 100% { transform: translateX(0); } +} + + +/* Keyframes: Scale + ========================================================================== */ + +@-webkit-keyframes uk-scale-12 { + 0% { -webkit-transform: scale(1.2); } + 100% { -webkit-transform: scale(1); } +} + +@keyframes uk-scale-12 { + 0% { transform: scale(1.2); } + 100% { transform: scale(1); } +} + + +/* Keyframes: Rotate + * Used by icon component + ========================================================================== */ + +@-webkit-keyframes uk-rotate { + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(359deg); } +} + +@keyframes uk-rotate { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(359deg); } +} + + +/* Keyframes: Shake + ========================================================================== */ + +@-webkit-keyframes uk-shake { + 0%, 100% { -webkit-transform: translateX(0); } + 10% { -webkit-transform: translateX(-9px); } + 20% { -webkit-transform: translateX(8px); } + 30% { -webkit-transform: translateX(-7px); } + 40% { -webkit-transform: translateX(6px); } + 50% { -webkit-transform: translateX(-5px); } + 60% { -webkit-transform: translateX(4px); } + 70% { -webkit-transform: translateX(-3px); } + 80% { -webkit-transform: translateX(2px); } + 90% { -webkit-transform: translateX(-1px); } +} + +@keyframes uk-shake { + 0%, 100% { transform: translateX(0); } + 10% { transform: translateX(-9px); } + 20% { transform: translateX(8px); } + 30% { transform: translateX(-7px); } + 40% { transform: translateX(6px); } + 50% { transform: translateX(-5px); } + 60% { transform: translateX(4px); } + 70% { transform: translateX(-3px); } + 80% { transform: translateX(2px); } + 90% { transform: translateX(-1px); } +} + + +/* Keyframes: Fade with slide fixed + * Used by dropdown and search component + ========================================================================== */ + +/* + * Top fixed + */ + +@-webkit-keyframes uk-slide-top-fixed { + 0% { + opacity: 0; + -webkit-transform: translateY(-10px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} + +@keyframes uk-slide-top-fixed { + 0% { + opacity: 0; + transform: translateY(-10px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} + +/* + * Bottom fixed + */ + +@-webkit-keyframes uk-slide-bottom-fixed { + 0% { + opacity: 0; + -webkit-transform: translateY(10px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} + +@keyframes uk-slide-bottom-fixed { + 0% { + opacity: 0; + transform: translateY(10px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} + + +// Hooks +// ======================================================================== + +@include hook-animation-misc(); + +// @mixin hook-animation-misc(){} diff --git a/bower_components/uikit/scss/core/article.scss b/bower_components/uikit/scss/core/article.scss new file mode 100644 index 0000000..e043444 --- /dev/null +++ b/bower_components/uikit/scss/core/article.scss @@ -0,0 +1,139 @@ +// Name: Article +// Description: Defines styles for articles within your page +// +// Component: `uk-article` +// +// Sub-objects: `uk-article-title` +// `uk-article-meta` +// `uk-article-lead` +// `uk-article-divider` +// +// Markup: +// +// +//
                  +//

                  +// +//

                  +//

                  +//
                  +//

                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$article-margin-top: 25px !default; + +$article-title-font-size: 36px !default; +$article-title-line-height: 42px !default; +$article-title-font-weight: normal !default; +$article-title-text-transform: none !default; + +$article-meta-font-size: 12px !default; +$article-meta-line-height: 18px !default; +$article-meta-color: #999 !default; + +$article-lead-color: #444 !default; +$article-lead-font-size: 18px !default; +$article-lead-line-height: 24px !default; +$article-lead-font-weight: normal !default; + +$article-divider-margin: 25px !default; +$article-divider-border: #ddd !default; + + +/* ======================================================================== + Component: Article + ========================================================================== */ + +/* + * Micro clearfix to make articles more robust + */ + +.uk-article:before, +.uk-article:after { + content: ""; + display: table; +} + +.uk-article:after { clear: both; } + +/* + * Remove margin from the last-child + */ + +.uk-article > :last-child { margin-bottom: 0; } + +/* + * Vertical gutter for articles + */ + +.uk-article + .uk-article { margin-top: $article-margin-top; } + + +/* Sub-object `uk-article-title` + ========================================================================== */ + +.uk-article-title { + font-size: $article-title-font-size; + line-height: $article-title-line-height; + font-weight: $article-title-font-weight; + text-transform: $article-title-text-transform; + @include hook-article-title(); +} + +.uk-article-title a { + color: inherit; + text-decoration: none; +} + + +/* Sub-object `uk-article-meta` + ========================================================================== */ + +.uk-article-meta { + font-size: $article-meta-font-size; + line-height: $article-meta-line-height; + color: $article-meta-color; + @include hook-article-meta(); +} + + +/* Sub-object `uk-article-lead` + ========================================================================== */ + +.uk-article-lead { + color: $article-lead-color; + font-size: $article-lead-font-size; + line-height: $article-lead-line-height; + font-weight: $article-lead-font-weight; + @include hook-article-lead(); +} + + +/* Sub-object `uk-article-divider` + ========================================================================== */ + +.uk-article-divider { + margin-bottom: $article-divider-margin; + border-color: $article-divider-border; + @include hook-article-divider(); +} + +* + .uk-article-divider { margin-top: $article-divider-margin; } + + +// Hooks +// ======================================================================== + +@include hook-article-misc(); + +// @mixin hook-article-title(){} +// @mixin hook-article-meta(){} +// @mixin hook-article-lead(){} +// @mixin hook-article-divider(){} +// @mixin hook-article-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/badge.scss b/bower_components/uikit/scss/core/badge.scss new file mode 100644 index 0000000..9eec67e --- /dev/null +++ b/bower_components/uikit/scss/core/badge.scss @@ -0,0 +1,110 @@ +// Name: Badge +// Description: Defines styles for badges +// +// Component: `uk-badge` +// +// Modifiers: `uk-badge-notification` +// `uk-badge-success` +// `uk-badge-danger` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$badge-background: #00a8e6 !default; +$badge-padding-horizontal: 5px !default; +$badge-font-size: 10px !default; +$badge-font-weight: bold !default; +$badge-line-height: 14px !default; +$badge-color: #fff !default; +$badge-text-transform: none !default; +$badge-hover-color: #fff !default; + +$badge-notification-font-size: 12px !default; +$badge-notification-line-height: 18px !default; + +$badge-success-background: #8cc14c !default; +$badge-warning-background: #faa732 !default; +$badge-danger-background: #da314b !default; + + +/* ======================================================================== + Component: Badge + ========================================================================== */ + +.uk-badge { + display: inline-block; + padding: 0 $badge-padding-horizontal; + background: $badge-background; + font-size: $badge-font-size; + font-weight: $badge-font-weight; + line-height: $badge-line-height; + color: $badge-color; + text-align: center; + vertical-align: middle; + text-transform: $badge-text-transform; + @include hook-badge(); +} + +/* + * Keep color when badge is a link + */ + +a.uk-badge:hover { color: $badge-hover-color; } + + +/* Modifier: `uk-badge-notification`; + ========================================================================== */ + +.uk-badge-notification { + box-sizing: border-box; + min-width: $badge-notification-line-height; + border-radius: 500px; + font-size: $badge-notification-font-size; + line-height: $badge-notification-line-height; +} + + +/* Color modifier + ========================================================================== */ + +/* + * Modifier: `uk-badge-success` + */ + +.uk-badge-success { + background-color: $badge-success-background; + @include hook-badge-success(); +} + +/* + * Modifier: `uk-badge-warning` + */ + +.uk-badge-warning { + background-color: $badge-warning-background; + @include hook-badge-warning(); +} + +/* + * Modifier: `uk-badge-danger` + */ + +.uk-badge-danger { + background-color: $badge-danger-background; + @include hook-badge-danger(); +} + + +// Hooks +// ======================================================================== + +@include hook-badge-misc(); + +// @mixin hook-badge(){} +// @mixin hook-badge-success(){} +// @mixin hook-badge-warning(){} +// @mixin hook-badge-danger(){} +// @mixin hook-badge-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/base.scss b/bower_components/uikit/scss/core/base.scss new file mode 100644 index 0000000..27b9b63 --- /dev/null +++ b/bower_components/uikit/scss/core/base.scss @@ -0,0 +1,563 @@ +// Name: Base +// Description: Sets default values for HTML elements +// +// Component: `uk-h1`, `uk-h2`, `uk-h3`, `uk-h4`, `uk-h5`, `uk-h6` +// `uk-link` +// `uk-img-preserve` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$base-body-background: #fff !default; +$base-body-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; +$base-body-font-weight: normal !default; +$base-body-font-size: 14px !default; +$base-body-line-height: 20px !default; +$base-body-color: #444 !default; + +$base-link-color: #07D !default; +$base-link-text-decoration: none !default; +$base-link-hover-color: #059 !default; +$base-link-hover-text-decoration: underline !default; + +$base-code-color: #D05 !default; +$base-code-font-size: 12px !default; +$base-code-font-family: Consolas, monospace, serif !default; +$base-em-color: #D05 !default; +$base-ins-background: #ffa !default; +$base-ins-color: #444 !default; +$base-mark-background: #ffa !default; +$base-mark-color: #444 !default; +$base-quote-font-style: italic !default; + +$base-margin-vertical: 15px !default; + +$base-heading-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; +$base-heading-font-weight: normal !default; +$base-heading-color: #444 !default; +$base-heading-text-transform: none !default; +$base-heading-margin-top: 25px !default; +$base-h1-font-size: 36px !default; +$base-h1-line-height: 42px !default; +$base-h2-font-size: 24px !default; +$base-h2-line-height: 30px !default; +$base-h3-font-size: 18px !default; +$base-h3-line-height: 24px !default; +$base-h4-font-size: 16px !default; +$base-h4-line-height: 22px !default; +$base-h5-font-size: 14px !default; +$base-h5-line-height: 20px !default; +$base-h6-font-size: 12px !default; +$base-h6-line-height: 18px !default; + +$base-list-padding-left: 30px !default; + +$base-hr-margin-vertical: $base-margin-vertical !default; +$base-hr-border: #ddd !default; +$base-hr-border-width: 1px !default; + +$base-blockquote-padding-left: 15px !default; +$base-blockquote-border: #ddd !default; +$base-blockquote-border-width: 5px !default; +$base-blockquote-font-size: 16px !default; +$base-blockquote-line-height: 22px !default; +$base-blockquote-font-style: italic !default; + +$base-pre-padding: 10px !default; +$base-pre-background: #f5f5f5 !default; +$base-pre-color: #444 !default; +$base-pre-font-size: 12px !default; +$base-pre-line-height: 18px !default; +$base-pre-font-family: $base-code-font-family !default; + +$base-selection-background: #39f !default; +$base-selection-color: #fff !default; + + +/* ======================================================================== + Component: Base + ========================================================================== */ + +/* + * 1. Normalize default `font-family` and set `font-size` to support `rem` units + * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom + * 3. Style + */ + +html { + /* 1 */ + font: $base-body-font-weight $base-body-font-size unquote("/") $base-body-line-height $base-body-font-family; + /* 2 */ + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + /* 3 */ + background: $base-body-background; + color: $base-body-color; + @include hook-base-body(); +} + +/* + * Removes default margin. + */ + +body { margin: 0; } + + +/* Links + ========================================================================== */ + +/* + * Remove the gray background color from active links in IE 10. + */ + +a { background: transparent; } + +/* + * Improve readability of focused elements when they are also in an active/hover state. + */ + +a:active, +a:hover { outline: 0; } + +/* + * Style + */ + +a, +.uk-link { + color: $base-link-color; + text-decoration: $base-link-text-decoration; + cursor: pointer; + @include hook-base-link(); +} + +a:hover, +.uk-link:hover { + color: $base-link-hover-color; + text-decoration: $base-link-hover-text-decoration; + @include hook-base-link-hover(); +} + + +/* Text-level semantics + ========================================================================== */ + +/* + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { border-bottom: 1px dotted; } + +/* + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { font-weight: bold; } + +/* + * 1. Address odd `em`-unit font size rendering in all browsers. + * 2. Consolas has a better baseline in running text compared to `Courier` + */ + +:not(pre) > code, +:not(pre) > kbd, +:not(pre) > samp { + /* 1 */ + font-size: $base-code-font-size; + /* 2 */ + font-family: $base-code-font-family; + /* 3 */ + color: $base-code-color; + white-space: nowrap; + @include hook-base-code(); +} + +/* + * Emphasize + */ + +em { color: $base-em-color; } + +/* + * Insert + */ + +ins { + background: $base-ins-background; + color: $base-ins-color; + text-decoration: none; +} + +/* + * Mark + * Note: Addresses styling not present in IE 8/9. + */ + +mark { + background: $base-mark-background; + color: $base-mark-color; +} + +/* + * Quote + */ + +q { font-style: $base-quote-font-style; } + +/* + * Addresses inconsistent and variable font size in all browsers. + */ + +small { font-size: 80%; } + +/* + * Prevents `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { top: -0.5em; } +sub { bottom: -0.25em; } + + +/* Embedded content + ========================================================================== */ + +/* + * Remove the gap between embedded content and the bottom of their containers. + */ + +audio, +canvas, +iframe, +img, +svg, +video { vertical-align: middle; } + +/* + * Responsiveness + * 1. Sets a maximum width relative to the parent and auto scales the height + * 2. Corrects `max-width` behavior if padding and border are used + */ + +audio, +canvas, +img, +svg, +video { + /* 1 */ + max-width: 100%; + height: auto; + /* 2 */ + box-sizing: border-box; +} + +/* + * Preserve original dimensions + */ + +.uk-img-preserve, +.uk-img-preserve audio, +.uk-img-preserve canvas, +.uk-img-preserve img, +.uk-img-preserve svg, +.uk-img-preserve video { max-width: none; } + +/* + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { border: 0; } + +/* + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { overflow: hidden; } + + +/* Block elements + ========================================================================== */ + +/* + * Reset margin + */ + +blockquote, +figure { margin: 0; } + +/* + * Margins + */ + +p, +ul, +ol, +dl, +blockquote, +pre, +address, +fieldset, +figure { margin: 0 0 $base-margin-vertical 0; } + +* + p, +* + ul, +* + ol, +* + dl, +* + blockquote, +* + pre, +* + address, +* + fieldset, +* + figure { margin-top: $base-margin-vertical; } + + +/* Headings + ========================================================================== */ + +h1, h2, h3, h4, h5, h6 { + margin: 0 0 $base-margin-vertical 0; + font-family: $base-heading-font-family; + font-weight: $base-heading-font-weight; + color: $base-heading-color; + text-transform: $base-heading-text-transform; + @include hook-base-h(); +} + +/* + * Margins + */ + +* + h1, +* + h2, +* + h3, +* + h4, +* + h5, +* + h6 { margin-top: $base-heading-margin-top; } + +/* + * Sizes + */ + +h1, .uk-h1 { + font-size: $base-h1-font-size; + line-height: $base-h1-line-height; + @include hook-base-h1(); +} + +h2, .uk-h2 { + font-size: $base-h2-font-size; + line-height: $base-h2-line-height; + @include hook-base-h2(); +} + +h3, .uk-h3 { + font-size: $base-h3-font-size; + line-height: $base-h3-line-height; + @include hook-base-h3(); +} + +h4, .uk-h4 { + font-size: $base-h4-font-size; + line-height: $base-h4-line-height; + @include hook-base-h4(); +} + +h5, .uk-h5 { + font-size: $base-h5-font-size; + line-height: $base-h5-line-height; + @include hook-base-h5(); +} + +h6, .uk-h6 { + font-size: $base-h6-font-size; + line-height: $base-h6-line-height; + @include hook-base-h6(); +} + + +/* Lists + ========================================================================== */ + +ul, +ol { padding-left: $base-list-padding-left; } + +/* + * Reset margin for nested lists + */ + +ul > li > ul, +ul > li > ol, +ol > li > ol, +ol > li > ul { margin: 0; } + + +/* Description lists + ========================================================================== */ + +dt { font-weight: bold; } +dd { margin-left: 0; } + + +/* Horizontal rules + ========================================================================== */ + +/* + * 1. Address differences between Firefox and other browsers. + * 2. Style + */ + +hr { + /* 1 */ + box-sizing: content-box; + height: 0; + /* 2 */ + margin: $base-hr-margin-vertical 0; + border: 0; + border-top: $base-hr-border-width solid $base-hr-border; + @include hook-base-hr(); +} + + +/* Address + ========================================================================== */ + +address { font-style: normal; } + + +/* Blockquotes + ========================================================================== */ + +blockquote { + padding-left: $base-blockquote-padding-left; + border-left: $base-blockquote-border-width solid $base-blockquote-border; + font-size: $base-blockquote-font-size; + line-height: $base-blockquote-line-height; + font-style: $base-blockquote-font-style; + @include hook-base-blockquote(); +} + + +/* Preformatted text + ========================================================================== */ + +/* + * 1. Contain overflow in all browsers. + */ + +pre { + padding: $base-pre-padding; + background: $base-pre-background; + font: $base-pre-font-size unquote("/") $base-pre-line-height $base-pre-font-family; + color: $base-pre-color; + -moz-tab-size: 4; + tab-size: 4; + /* 1 */ + overflow: auto; + @include hook-base-pre(); +} + + +/* Selection pseudo-element + ========================================================================== */ + +::-moz-selection { + background: $base-selection-background; + color: $base-selection-color; + text-shadow: none; +} + +::selection { + background: $base-selection-background; + color: $base-selection-color; + text-shadow: none; +} + + +/* HTML5 elements + ========================================================================== */ + +/* + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +nav, +section, +summary { display: block; } + +/* + * Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +progress { vertical-align: baseline; } + +/* + * Prevent displaying `audio` without controls in Chrome, Safari and Opera + */ + +audio:not([controls]) { display: none; } + +/* + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + */ + +[hidden], +template { display: none; } + + +/* Iframe + ========================================================================== */ + +iframe { border: 0; } + + +/* Fix viewport for IE10 snap mode + ========================================================================== */ + +@media screen and (max-width: 400px) { + @-ms-viewport{ + width: device-width; + } +} + + +// Hooks +// ======================================================================== + +@include hook-base-misc(); + +// @mixin hook-base-body(){} +// @mixin hook-base-link(){} +// @mixin hook-base-link-hover(){} +// @mixin hook-base-code(){} +// @mixin hook-base-h(){} +// @mixin hook-base-h1(){} +// @mixin hook-base-h2(){} +// @mixin hook-base-h3(){} +// @mixin hook-base-h4(){} +// @mixin hook-base-h5(){} +// @mixin hook-base-h6(){} +// @mixin hook-base-hr(){} +// @mixin hook-base-blockquote(){} +// @mixin hook-base-pre(){} +// @mixin hook-base-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/block.scss b/bower_components/uikit/scss/core/block.scss new file mode 100644 index 0000000..9044ba0 --- /dev/null +++ b/bower_components/uikit/scss/core/block.scss @@ -0,0 +1,155 @@ +// Name: Block +// Description: Defines styles to create horizontal layout blocks +// +// Component: `uk-block` +// +// Modifiers: `uk-block-large` +// `uk-block-default` +// `uk-block-muted` +// `uk-block-primary` +// `uk-block-secondary` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$block-padding-vertical: 20px !default; +$block-padding-vertical-large: 50px !default; + +$block-large-padding-vertical: $block-padding-vertical !default; +$block-large-padding-vertical-medium: $block-padding-vertical-large !default; +$block-large-padding-vertical-large: 100px !default; + +$block-default-background: #fff !default; +$block-muted-background: #f9f9f9 !default; +$block-primary-background: #00a8e6 !default; +$block-secondary-background: #222 !default; + + +/* ======================================================================== + Component: Block + ========================================================================== */ + +.uk-block { + position: relative; + box-sizing: border-box; + padding-top: $block-padding-vertical; + padding-bottom: $block-padding-vertical; + @include hook-block(); +} + +/* Phone landscape and bigger */ +@media (min-width: $breakpoint-medium) { + + .uk-block { + padding-top: $block-padding-vertical-large; + padding-bottom: $block-padding-vertical-large; + } + +} + +/* + * Micro clearfix to make blocks more robust + */ + +.uk-block:before, +.uk-block:after { + content: ""; + display: table; +} + +.uk-block:after { clear: both; } + +/* + * Remove margin from the last-child + */ + +.uk-block > :last-child { margin-bottom: 0; } + + +/* Padding Modifier + ========================================================================== */ + +/* + * Large padding + */ + +.uk-block-large { + padding-top: $block-large-padding-vertical; + padding-bottom: $block-large-padding-vertical; +} + +/* Tablets and bigger */ +@media (min-width: $breakpoint-medium) { + + .uk-block-large { + padding-top: $block-large-padding-vertical-medium; + padding-bottom: $block-large-padding-vertical-medium; + } + +} + +/* Desktop and bigger */ +@media (min-width: $breakpoint-large) { + + .uk-block-large { + padding-top: $block-large-padding-vertical-large; + padding-bottom: $block-large-padding-vertical-large; + } + +} + + +/* Color Modifier + ========================================================================== */ + +/* + * Default + */ + +.uk-block-default { + background: $block-default-background; + @include hook-block-default(); +} + +/* + * Muted + */ + +.uk-block-muted { + background: $block-muted-background; + @include hook-block-muted(); +} + +/* + * Primary + */ + +.uk-block-primary { + background: $block-primary-background; + @include hook-block-primary(); +} + +/* + * Secondary + */ + +.uk-block-secondary { + background: $block-secondary-background; + @include hook-block-secondary(); +} + + +// Hooks +// ======================================================================== + +@include hook-block-misc(); + +// @mixin hook-block(){} +// @mixin hook-block-default(){} +// @mixin hook-block-muted(){} +// @mixin hook-block-secondary(){} +// @mixin hook-block-primary(){} +// @mixin hook-block-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/breadcrumb.scss b/bower_components/uikit/scss/core/breadcrumb.scss new file mode 100644 index 0000000..184c8c7 --- /dev/null +++ b/bower_components/uikit/scss/core/breadcrumb.scss @@ -0,0 +1,86 @@ +// Name: Breadcrumb +// Description: Defines styles for a breadcrumb navigation +// +// Component: `uk-breadcrumb` +// +// States: `uk-active` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$breadcrumb-font-size: 1rem !default; + +$breadcrumb-divider: "/" !default; +$breadcrumb-divider-margin: 8px !default; +$breadcrumb-disabled-color: #999 !default; + + +/* ======================================================================== + Component: Breadcrumb + ========================================================================== */ + +/* + * 1. Remove default list style + * 2. Remove whitespace between child elements when using `inline-block` + */ + +.uk-breadcrumb { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + font-size: 0.001px; + @include hook-breadcrumb(); +} + + +/* Items + ========================================================================== */ + +/* + * Reset whitespace hack + */ + +.uk-breadcrumb > li { + font-size: $breadcrumb-font-size; + vertical-align: top; +} + +.uk-breadcrumb > li, +.uk-breadcrumb > li > a, +.uk-breadcrumb > li > span { display: inline-block; } + +.uk-breadcrumb > li:nth-child(n+2):before { + content: $breadcrumb-divider; + display: inline-block; + margin: 0 $breadcrumb-divider-margin; + @include hook-breadcrumb-divider(); +} + +/* + * Disabled + */ + +.uk-breadcrumb > li:not(.uk-active) > span { color: $breadcrumb-disabled-color; } + + +// Hooks +// ======================================================================== + +@include hook-breadcrumb-misc(); + +// @mixin hook-breadcrumb(){} +// @mixin hook-breadcrumb-divider(){} +// @mixin hook-breadcrumb-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/button.scss b/bower_components/uikit/scss/core/button.scss new file mode 100644 index 0000000..a26a567 --- /dev/null +++ b/bower_components/uikit/scss/core/button.scss @@ -0,0 +1,406 @@ +// Name: Button +// Description: Defines styles for buttons +// +// Component: `uk-button` +// +// Sub-objects: `uk-button-group` +// `uk-button-dropdown` +// +// Modifiers: `uk-button-primary` +// `uk-button-success` +// `uk-button-danger` +// `uk-button-link` +// `uk-button-mini` +// `uk-button-small` +// `uk-button-large` +// +// States: `uk-active` +// +// Markup: +// +// +//
                  +// +// +//
                  +// +// +//
                  +// +//
                  +//
                    +//
                  • +//
                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$button-height: 30px !default; +$button-mini-height: 20px !default; +$button-small-height: 25px !default; +$button-large-height: 40px !default; + +$button-line-height: 30px !default; +$button-mini-line-height: 20px !default; +$button-small-line-height: 25px !default; +$button-large-line-height: 40px !default; + +$button-mini-font-size: 11px !default; +$button-small-font-size: 12px !default; +$button-large-font-size: 16px !default; + +$button-padding-horizontal: 12px !default; +$button-mini-padding-horizontal: 6px !default; +$button-small-padding-horizontal: 10px !default; +$button-large-padding-horizontal: 15px !default; + +$button-font-size: 1rem !default; +$button-background: #eee !default; +$button-color: #444 !default; +$button-hover-background: #f5f5f5 !default; +$button-hover-color: #444 !default; +$button-active-background: #ddd !default; +$button-active-color: #444 !default; + +$button-primary-background: #00a8e6 !default; +$button-primary-color: #fff !default; +$button-primary-hover-background: #35b3ee !default; +$button-primary-hover-color: #fff !default; +$button-primary-active-background: #0091ca !default; +$button-primary-active-color: #fff !default; + +$button-success-background: #8cc14c !default; +$button-success-color: #fff !default; +$button-success-hover-background: #8ec73b !default; +$button-success-hover-color: #fff !default; +$button-success-active-background: #72ae41 !default; +$button-success-active-color: #fff !default; + +$button-danger-background: #da314b !default; +$button-danger-color: #fff !default; +$button-danger-hover-background: #e4354f !default; +$button-danger-hover-color: #fff !default; +$button-danger-active-background: #c91032 !default; +$button-danger-active-color: #fff !default; + +$button-disabled-background: #f5f5f5 !default; +$button-disabled-color: #999 !default; + +$button-link-color: #07D !default; +$button-link-hover-color: #059 !default; +$button-link-hover-text-decoration: underline !default; +$button-link-disabled-color: #999 !default; + + +/* ======================================================================== + Component: Button + ========================================================================== */ + +/* + * Removes inner padding and border in Firefox 4+. + */ + +.uk-button::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * 1. Correct inability to style clickable `input` types in iOS. + * 2. Remove margins in Chrome, Safari and Opera. + * 3. Remove borders for `button`. + * 4. Address `overflow` set to `hidden` in IE 8/9/10/11. + * 5. Correct `font` properties and `color` not being inherited for `button`. + * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE + * 7. Style + * 8. `line-height` is used to create a height + * 9. `min-height` is necessary for `input` elements in Firefox and Opera because `line-height` is not working. + * 10. Reset button group whitespace hack + * 11. Required for `a`. + */ + +.uk-button { + /* 1 */ + -webkit-appearance: none; + /* 2 */ + margin: 0; + /* 3 */ + border: none; + /* 4 */ + overflow: visible; + /* 5 */ + font: inherit; + color: $button-color; + /* 6 */ + text-transform: none; + /* 7 */ + display: inline-block; + box-sizing: border-box; + padding: 0 $button-padding-horizontal; + background: $button-background; + vertical-align: middle; + /* 8 */ + line-height: $button-line-height; + /* 9 */ + min-height: $button-height; + /* 10 */ + font-size: $button-font-size; + /* 11 */ + text-decoration: none; + text-align: center; + @include hook-button(); +} + +.uk-button:not(:disabled) { cursor: pointer; } + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + */ + +.uk-button:hover, +.uk-button:focus { // 1 + background-color: $button-hover-background; + color: $button-hover-color; + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + @include hook-button-hover(); +} + +/* Active */ +.uk-button:active, +.uk-button.uk-active { + background-color: $button-active-background; + color: $button-active-color; + @include hook-button-active(); +} + + +/* Color modifiers + ========================================================================== */ + +/* + * Modifier: `uk-button-primary` + */ + +.uk-button-primary { + background-color: $button-primary-background; + color: $button-primary-color; + @include hook-button-primary(); +} + +/* Hover */ +.uk-button-primary:hover, +.uk-button-primary:focus { + background-color: $button-primary-hover-background; + color: $button-primary-hover-color; + @include hook-button-primary-hover(); +} + +/* Active */ +.uk-button-primary:active, +.uk-button-primary.uk-active { + background-color: $button-primary-active-background; + color: $button-primary-active-color; + @include hook-button-primary-active(); +} + +/* + * Modifier: `uk-button-success` + */ + +.uk-button-success { + background-color: $button-success-background; + color: $button-success-color; + @include hook-button-success(); +} + +/* Hover */ +.uk-button-success:hover, +.uk-button-success:focus { + background-color: $button-success-hover-background; + color: $button-success-hover-color; + @include hook-button-success-hover(); +} + +/* Active */ +.uk-button-success:active, +.uk-button-success.uk-active { + background-color: $button-success-active-background; + color: $button-success-active-color; + @include hook-button-success-active(); +} + +/* + * Modifier: `uk-button-danger` + */ + +.uk-button-danger { + background-color: $button-danger-background; + color: $button-danger-color; + @include hook-button-danger(); +} + +/* Hover */ +.uk-button-danger:hover, +.uk-button-danger:focus { + background-color: $button-danger-hover-background; + color: $button-danger-hover-color; + @include hook-button-danger-hover(); +} + +/* Active */ +.uk-button-danger:active, +.uk-button-danger.uk-active { + background-color: $button-danger-active-background; + color: $button-danger-active-color; + @include hook-button-danger-active(); +} + + +/* Disabled state + * Overrides also the color modifiers + ========================================================================== */ + +/* Equal for all button types */ +.uk-button:disabled { + background-color: $button-disabled-background; + color: $button-disabled-color; + @include hook-button-disable(); +} + + +/* Modifier: `uk-button-link` + ========================================================================== */ + + /* Reset */ +.uk-button-link, +.uk-button-link:hover, +.uk-button-link:focus, +.uk-button-link:active, +.uk-button-link.uk-active, +.uk-button-link:disabled { + border-color: transparent; + background: none; + @include hook-button-link(); +} + +/* Color */ +.uk-button-link { color: $button-link-color; } + +.uk-button-link:hover, +.uk-button-link:focus, +.uk-button-link:active, +.uk-button-link.uk-active { + color: $button-link-hover-color; + text-decoration: $button-link-hover-text-decoration; +} + +.uk-button-link:disabled { color: $button-link-disabled-color; } + +/* Focus */ +.uk-button-link:focus { outline: 1px dotted; } + + +/* Size modifiers + ========================================================================== */ + +.uk-button-mini { + min-height: $button-mini-height; + padding: 0 $button-mini-padding-horizontal; + line-height: $button-mini-line-height; + font-size: $button-mini-font-size; +} + +.uk-button-small { + min-height: $button-small-height; + padding: 0 $button-small-padding-horizontal; + line-height: $button-small-line-height; + font-size: $button-small-font-size; +} + +.uk-button-large { + min-height: $button-large-height; + padding: 0 $button-large-padding-horizontal; + line-height: $button-large-line-height; + font-size: $button-large-font-size; + @include hook-button-large(); +} + + +/* Sub-object `uk-button-group` + ========================================================================== */ + +/* + * 1. Behave like buttons + * 2. Create position context for dropdowns + * 3. Remove whitespace between child elements when using `inline-block` + * 4. Prevent buttons from wrapping + * 5. Remove whitespace between child elements when using `inline-block` + */ + +.uk-button-group { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + font-size: 0.001px; + /* 4 */ + white-space: nowrap; +} + +.uk-button-group > * { display: inline-block; } + +/* 5 */ +.uk-button-group .uk-button { vertical-align: top; } + + +/* Sub-object: `uk-button-dropdown` + ========================================================================== */ + +/* + * 1. Behave like buttons + * 2. Create position context for dropdowns + */ + +.uk-button-dropdown { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; +} + + +// Hooks +// ======================================================================== + +@include hook-button-misc(); + +// @mixin hook-button(){} +// @mixin hook-button-hover(){} +// @mixin hook-button-active(){} +// @mixin hook-button-primary(){} +// @mixin hook-button-primary-hover(){} +// @mixin hook-button-primary-active(){} +// @mixin hook-button-success(){} +// @mixin hook-button-success-hover(){} +// @mixin hook-button-success-active(){} +// @mixin hook-button-danger(){} +// @mixin hook-button-danger-hover(){} +// @mixin hook-button-danger-active(){} +// @mixin hook-button-disable(){} +// @mixin hook-button-link(){} +// @mixin hook-button-large(){} +// @mixin hook-button-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/close.scss b/bower_components/uikit/scss/core/close.scss new file mode 100644 index 0000000..7871ceb --- /dev/null +++ b/bower_components/uikit/scss/core/close.scss @@ -0,0 +1,132 @@ +// Name: Close +// Description: Defines styles for a close button +// +// Component: `uk-close` +// +// Modifiers: `uk-close-alt` +// +// Uses: Icon: FontAwesome +// +// Used by: Alert +// Modal +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$close-size: 20px !default; + +$close-alt-padding: 2px !default; +$close-alt-background: #eee !default; + + +/* ======================================================================== + Component: Close + ========================================================================== */ + +/* + * Removes inner padding and border in Firefox 4+. + */ + +.uk-close::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * 1. Correct inability to style clickable `input` types in iOS. + * 2. Remove margins in Chrome, Safari and Opera. + * 3. Remove borders for `button`. + * 4. Address `overflow` set to `hidden` in IE 8/9/10/11. + * 5. Correct `font` properties and `color` not being inherited for `button`. + * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE + * 7. Remove default `button` padding and background color + * 8. Style + */ + +.uk-close { + /* 1 */ + -webkit-appearance: none; + /* 2 */ + margin: 0; + /* 3 */ + border: none; + /* 4 */ + overflow: visible; + /* 5 */ + font: inherit; + color: inherit; + /* 6 */ + text-transform: none; + /* 7. */ + padding: 0; + background: transparent; + /* 8 */ + display: inline-block; + box-sizing: content-box; + width: $close-size; + line-height: $close-size; + text-align: center; + vertical-align: middle; + opacity: 0.3; + @include hook-close(); +} + +/* Icon */ +.uk-close:after { + display: block; + content: "\f00d"; + font-family: FontAwesome; +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + */ + +.uk-close:hover, +.uk-close:focus { // 1 + opacity: 0.5; + /* 2 */ + outline: none; + /* 3 */ + color: inherit; + text-decoration: none; + cursor: pointer; +} + + +/* Modifier + ========================================================================== */ + +.uk-close-alt { + padding: $close-alt-padding; + border-radius: 50%; + background: $close-alt-background; + opacity: 1; + @include hook-close-alt(); +} + +/* Hover */ +.uk-close-alt:hover, +.uk-close-alt:focus { opacity: 1; } + +/* Icon */ +.uk-close-alt:after { opacity: 0.5; } + +.uk-close-alt:hover:after, +.uk-close-alt:focus:after { opacity: 0.8; } + + +// Hooks +// ======================================================================== + +@include hook-close-misc(); + +// @mixin hook-close(){} +// @mixin hook-close-alt(){} +// @mixin hook-close-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/column.scss b/bower_components/uikit/scss/core/column.scss new file mode 100644 index 0000000..ba6a69b --- /dev/null +++ b/bower_components/uikit/scss/core/column.scss @@ -0,0 +1,209 @@ +// Name: Column +// Description: Provides a responsive, fluid and nestable columns for text and inline elements +// +// Component: `uk-column` +// +// Modifiers: `uk-column-small` +// `uk-column-medium-*` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$column-gutter: 25px !default; + + +/* ======================================================================== + Component: Column + ========================================================================== */ + +[class*='uk-column-'] { + -webkit-column-gap: $column-gutter; + -moz-column-gap: $column-gutter; + column-gap: $column-gutter; + @include hook-column(); +} + + +/* Width modifiers + ========================================================================== */ + +.uk-column-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; +} + +.uk-column-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; +} + +.uk-column-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; +} + +.uk-column-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; +} + +.uk-column-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; +} + +/* Phone landscape and bigger */ +@media (min-width: $breakpoint-small) { + + .uk-column-small-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + + .uk-column-small-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + + .uk-column-small-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + + .uk-column-small-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + + .uk-column-small-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } + +} + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + .uk-column-medium-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + + .uk-column-medium-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + + .uk-column-medium-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + + .uk-column-medium-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + + .uk-column-medium-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } + +} + +/* Desktop and bigger */ +@media (min-width: $breakpoint-large) { + + .uk-column-large-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + + .uk-column-large-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + + .uk-column-large-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + + .uk-column-large-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + + .uk-column-large-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } + +} + +/* Large screen and bigger */ +@media (min-width: $breakpoint-xlarge) { + + .uk-column-xlarge-1-2 { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + } + + .uk-column-xlarge-1-3 { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + } + + .uk-column-xlarge-1-4 { + -webkit-column-count: 4; + -moz-column-count: 4; + column-count: 4; + } + + .uk-column-xlarge-1-5 { + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + } + + .uk-column-xlarge-1-6 { + -webkit-column-count: 6; + -moz-column-count: 6; + column-count: 6; + } +} + + +// Hooks +// ======================================================================== + +@include hook-column-misc(); + +// @mixin hook-column(){} +// @mixin hook-column-misc(){} diff --git a/bower_components/uikit/scss/core/comment.scss b/bower_components/uikit/scss/core/comment.scss new file mode 100644 index 0000000..176df94 --- /dev/null +++ b/bower_components/uikit/scss/core/comment.scss @@ -0,0 +1,172 @@ +// Name: Comment +// Description: Defines styles for comment threads +// +// Component: `uk-comment` +// +// Sub-objects: `uk-comment-header` +// `uk-comment-avatar` +// `uk-comment-title` +// `uk-comment-meta` +// `uk-comment-body` +// `uk-comment-list` +// `uk-comment-primary` +// +// Markup: +// +// +//
                  +//
                  +// +//

                  +//
                  +//
                  +//
                  +//

                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$comment-header-margin-bottom: 15px !default; + +$comment-avatar-margin-right: 15px !default; + +$comment-title-margin-top: 5px !default; +$comment-title-font-size: 16px !default; +$comment-title-line-height: 22px !default; + +$comment-meta-margin-top: 2px !default; +$comment-meta-color: #999 !default; +$comment-meta-font-size: 11px !default; +$comment-meta-line-height: 16px !default; + +$comment-list-margin-top: 15px !default; +$comment-list-padding-left: 100px !default; + + +/* ======================================================================== + Component: Comment + ========================================================================== */ + +.uk-comment { + @include hook-comment(); +} + + +/* Sub-object `uk-comment-header` + ========================================================================== */ + +.uk-comment-header { + margin-bottom: $comment-header-margin-bottom; + @include hook-comment-header(); +} + +/* + * Micro clearfix + */ + +.uk-comment-header:before, +.uk-comment-header:after { + content: ""; + display: table; +} + +.uk-comment-header:after { clear: both; } + + +/* Sub-object `uk-comment-avatar` + ========================================================================== */ + +.uk-comment-avatar { + margin-right: $comment-avatar-margin-right; + float: left; + @include hook-comment-avatar(); +} + + +/* Sub-object `uk-comment-title` + ========================================================================== */ + +.uk-comment-title { + margin: $comment-title-margin-top 0 0 0; + font-size: $comment-title-font-size; + line-height: $comment-title-line-height; + @include hook-comment-title(); +} + + +/* Sub-object `uk-comment-meta` + ========================================================================== */ + +.uk-comment-meta { + margin: $comment-meta-margin-top 0 0 0; + font-size: $comment-meta-font-size; + line-height: $comment-meta-line-height; + color: $comment-meta-color; + @include hook-comment-meta(); +} + + +/* Sub-object `uk-comment-body` + ========================================================================== */ + +.uk-comment-body { + @include hook-comment-body(); +} + +/* + * Remove margin from the last-child + */ + + .uk-comment-body > :last-child { margin-bottom: 0; } + + +/* Sub-object `uk-comment-list` + ========================================================================== */ + +.uk-comment-list { + padding: 0; + list-style: none; +} + +.uk-comment-list .uk-comment + ul { + margin: $comment-list-margin-top 0 0 0; + list-style: none; +} + +.uk-comment-list > li:nth-child(n+2), +.uk-comment-list .uk-comment + ul > li:nth-child(n+2) { margin-top: $comment-list-margin-top; } + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + .uk-comment-list .uk-comment + ul { padding-left: $comment-list-padding-left; } + +} + + +/* Modifier `uk-comment-primary` + ========================================================================== */ + +.uk-comment-primary { + @include hook-comment-primary(); +} + + +// Hooks +// ======================================================================== + +@include hook-comment-misc(); + +// @mixin hook-comment(){} +// @mixin hook-comment-header(){} +// @mixin hook-comment-avatar(){} +// @mixin hook-comment-title(){} +// @mixin hook-comment-meta(){} +// @mixin hook-comment-body(){} +// @mixin hook-comment-primary(){} +// @mixin hook-comment-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/contrast.scss b/bower_components/uikit/scss/core/contrast.scss new file mode 100644 index 0000000..31c99ae --- /dev/null +++ b/bower_components/uikit/scss/core/contrast.scss @@ -0,0 +1,493 @@ +// Name: Contrast +// Description: Utility class to adjust colors for dark or colored blocks +// +// Component: `uk-contrast` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$contrast-color: #fff !default; +$contrast-inverted-color: #444 !default; + +// +// Components +// + +$contrast-base-color: $contrast-color !default; + +$contrast-base-link-color: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-base-link-text-decoration: none !default; +$contrast-base-link-hover-color: $contrast-color !default; +$contrast-base-link-hover-text-decoration: underline !default; + +$contrast-base-code-color: $contrast-color !default; +$contrast-base-em-color: $contrast-color !default; + +$contrast-base-heading-color: $contrast-color !default; + +$contrast-base-hr-border: fade-out($contrast-color, 0.8) !default; + +$contrast-nav-side-color: $contrast-color !default; +$contrast-nav-side-hover-background: fade-out($contrast-color, 0.9) !default; +$contrast-nav-side-hover-color: $contrast-color !default; +$contrast-nav-side-active-background: $contrast-color !default; +$contrast-nav-side-active-color: $contrast-inverted-color !default; +$contrast-nav-side-header-color: $contrast-color !default; +$contrast-nav-side-divider-border: fade-out($contrast-color, 0.8) !default; +$contrast-nav-side-nested-color: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-nav-side-nested-hover-color: $contrast-color !default; + +$contrast-subnav-color: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-subnav-hover-color: $contrast-color !default; +$contrast-subnav-hover-text-decoration: none !default; +$contrast-subnav-active-color: $contrast-color !default; + +$contrast-subnav-line-border: fade-out($contrast-color, 0.8) !default; + +$contrast-subnav-pill-hover-background: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-subnav-pill-hover-color: $contrast-inverted-color !default; +$contrast-subnav-pill-active-background: $contrast-color !default; +$contrast-subnav-pill-active-color: $contrast-inverted-color !default; + +$contrast-tab-border: fade-out($contrast-color, 0.8) !default; +$contrast-tab-color: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-tab-hover-border: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-tab-hover-background: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-tab-hover-color: $contrast-inverted-color !default; +$contrast-tab-active-border: fade-out($contrast-color, 0.8) !default; +$contrast-tab-active-background: $contrast-color !default; +$contrast-tab-active-color: $contrast-inverted-color !default; + +$contrast-list-line-border: fade-out($contrast-color, 0.8) !default; + +$contrast-form-border: fade-out($contrast-color, 0.19999999999999996) !default; +$contrast-form-background: fade-out($contrast-color, 0.19999999999999996) !default; +$contrast-form-color: $contrast-inverted-color !default; +$contrast-form-focus-border: $contrast-color !default; +$contrast-form-focus-background: $contrast-color !default; +$contrast-form-focus-color: $contrast-inverted-color !default; + +$contrast-form-placeholder-color: fade-out($contrast-inverted-color, 0.30000000000000004) !default; + +$contrast-button-background: $contrast-color !default; +$contrast-button-color: $contrast-inverted-color !default; +$contrast-button-hover-background: fade-out($contrast-color, 0.19999999999999996) !default; +$contrast-button-hover-color: $contrast-inverted-color !default; +$contrast-button-active-background: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-button-active-color: $contrast-inverted-color !default; + +$contrast-button-primary-background: #00a8e6 !default; +$contrast-button-primary-color: $contrast-color !default; +$contrast-button-primary-hover-background: #35b3ee !default; +$contrast-button-primary-hover-color: $contrast-color !default; +$contrast-button-primary-active-background: #0091ca !default; +$contrast-button-primary-active-color: $contrast-color !default; + +$contrast-icon-hover-color: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-icon-hover-hover-color: $contrast-color !default; + +$contrast-icon-button-background: $contrast-color !default; +$contrast-icon-button-color: $contrast-inverted-color !default; +$contrast-icon-button-hover-background: fade-out($contrast-color, 0.19999999999999996) !default; +$contrast-icon-button-hover-color: $contrast-inverted-color !default; +$contrast-icon-button-active-background: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-icon-button-active-color: $contrast-inverted-color !default; + +$contrast-text-muted-color: fade-out($contrast-color, 0.4) !default; +$contrast-text-primary-color: #2d7091 !default; + + +/* ======================================================================== + Component: Contrast + ========================================================================== */ + +.uk-contrast { + + color: $contrast-base-color; + + // Base + // ======================================================================== + + // + // Link + // + + a:not([class]), + .uk-link { + color: $contrast-base-link-color; + text-decoration: $contrast-base-link-text-decoration; + } + + a:not([class]):hover, + .uk-link:hover { + color: $contrast-base-link-hover-color; + text-decoration: $contrast-base-link-hover-text-decoration; + } + + // + // Code + // + + :not(pre) > code, + :not(pre) > kbd, + :not(pre) > samp { + color: $contrast-base-code-color; + @include hook-contrast-base-code(); + } + + // + // Emphasize + // + + em { color: $contrast-base-em-color; } + + // + // Headings + // + + h1, h2, h3, h4, h5, h6 { color: $contrast-base-heading-color; } + + // + // Horizontal rules + // + + hr { border-top-color: $contrast-base-hr-border; } + + + // Nav + // ======================================================================== + + .uk-nav li > a, + .uk-nav li > a:hover { text-decoration: none; } + + // + // Nav Site + // + + .uk-nav-side > li > a { + color: $contrast-nav-side-color; + @include hook-contrast-nav-side(); + } + + .uk-nav-side > li > a:hover, + .uk-nav-side > li > a:focus { + background: $contrast-nav-side-hover-background; + color: $contrast-nav-side-hover-color; + @include hook-contrast-nav-side-hover(); + } + + .uk-nav-side > li.uk-active > a { + background: $contrast-nav-side-active-background; + color: $contrast-nav-side-active-color; + @include hook-contrast-nav-side-active(); + } + + // Nav header + .uk-nav-side .uk-nav-header { + color: $contrast-nav-side-header-color; + @include hook-contrast-nav-side-header(); + } + + // Nav divider + .uk-nav-side .uk-nav-divider { + border-top-color: $contrast-nav-side-divider-border; + @include hook-contrast-nav-side-divider(); + } + + // Nested items + .uk-nav-side ul a { color: $contrast-nav-side-nested-color; } + .uk-nav-side ul a:hover { color: $contrast-nav-side-nested-hover-color; } + + + // Subnav + // ======================================================================== + + .uk-subnav > * > a { + color: $contrast-subnav-color; + text-decoration: none; + @include hook-contrast-subnav(); + } + + .uk-subnav > * > a:hover, + .uk-subnav > * > a:focus { + color: $contrast-subnav-hover-color; + text-decoration: $contrast-subnav-hover-text-decoration; + @include hook-contrast-subnav-hover(); + } + + .uk-subnav > .uk-active > a { + color: $contrast-subnav-active-color; + @include hook-contrast-subnav-active(); + } + + // + // Subnav line + // + + .uk-subnav-line > :nth-child(n+2):before { + border-left-color: $contrast-subnav-line-border; + @include hook-contrast-subnav-line-divider(); + } + + // + // Subnav pill + // + + .uk-subnav-pill > * > a:hover, + .uk-subnav-pill > * > a:focus { + background: $contrast-subnav-pill-hover-background; + color: $contrast-subnav-pill-hover-color; + text-decoration: none; + @include hook-contrast-subnav-pill-hover(); + } + + .uk-subnav-pill > .uk-active > a { + background: $contrast-subnav-pill-active-background; + color: $contrast-subnav-pill-active-color; + @include hook-contrast-subnav-pill-active(); + } + + + // Tab + // ======================================================================== + + .uk-tab { border-bottom-color: $contrast-tab-border; } + + .uk-tab > li > a { + border-color: transparent; + color: $contrast-tab-color; + @include hook-contrast-tab(); + } + + .uk-tab > li > a:hover, + .uk-tab > li > a:focus, + .uk-tab > li.uk-open > a { + border-color: $contrast-tab-hover-border; + background: $contrast-tab-hover-background; + color: $contrast-tab-hover-color; + text-decoration: none; + @include hook-contrast-tab-hover(); + } + + /* Active */ + .uk-tab > li.uk-active > a { + border-color: $contrast-tab-active-border; + border-bottom-color: transparent; + background: $contrast-tab-active-background; + color: $contrast-tab-active-color; + @include hook-contrast-tab-active(); + } + + // + // Tab center + // + + .uk-tab-center { border-bottom-color: $contrast-tab-border; } + + // + // Tab grid + // + + .uk-tab-grid:before { border-top-color: $contrast-tab-border; } + + + // List + // ======================================================================== + + .uk-list-line > li:nth-child(n+2) { + border-top-color: $contrast-list-line-border; + @include hook-contrast-list-line(); + } + + + // Form + // ======================================================================== + + .uk-form select, + .uk-form textarea, + .uk-form input:not([type]), + .uk-form input[type="text"], + .uk-form input[type="password"], + .uk-form input[type="datetime"], + .uk-form input[type="datetime-local"], + .uk-form input[type="date"], + .uk-form input[type="month"], + .uk-form input[type="time"], + .uk-form input[type="week"], + .uk-form input[type="number"], + .uk-form input[type="email"], + .uk-form input[type="url"], + .uk-form input[type="search"], + .uk-form input[type="tel"], + .uk-form input[type="color"] { + border-color: $contrast-form-border; + background: $contrast-form-background; + color: $contrast-form-color; + background-clip: padding-box; + @include hook-contrast-form(); + + &:focus { + border-color: $contrast-form-focus-border; + background: $contrast-form-focus-background; + color: $contrast-form-focus-color; + @include hook-contrast-form-focus(); + } + } + + // + // Placeholder + // + + .uk-form :-ms-input-placeholder { color: $contrast-form-placeholder-color !important; } + .uk-form ::-moz-placeholder { color: $contrast-form-placeholder-color; } + .uk-form ::-webkit-input-placeholder { color: $contrast-form-placeholder-color; } + + + // Button + // ======================================================================== + + .uk-button { + color: $contrast-button-color; + background: $contrast-button-background; + @include hook-contrast-button(); + } + + .uk-button:hover, + .uk-button:focus { + background-color: $contrast-button-hover-background; + color: $contrast-button-hover-color; + @include hook-contrast-button-hover(); + } + + .uk-button:active, + .uk-button.uk-active { + background-color: $contrast-button-active-background; + color: $contrast-button-active-color; + @include hook-contrast-button-active(); + } + + // + // Button primary + // + + .uk-button-primary { + background-color: $contrast-button-primary-background; + color: $contrast-button-primary-color; + @include hook-contrast-button-primary(); + } + + .uk-button-primary:hover, + .uk-button-primary:focus { + background-color: $contrast-button-primary-hover-background; + color: $contrast-button-primary-hover-color; + @include hook-contrast-button-primary-hover(); + } + + .uk-button-primary:active, + .uk-button-primary.uk-active { + background-color: $contrast-button-primary-active-background; + color: $contrast-button-primary-active-color; + @include hook-contrast-button-primary-active(); + } + + + // Icon + // ======================================================================== + + // + // Icon hover + // + + .uk-icon-hover { + color: $contrast-icon-hover-color; + @include hook-contrast-icon-hover(); + } + + .uk-icon-hover:hover { + color: $contrast-icon-hover-hover-color; + @include hook-contrast-icon-hover-hover(); + } + + // + // Icon button + // + + .uk-icon-button { + background: $contrast-icon-button-background; + color: $contrast-icon-button-color; + @include hook-contrast-icon-button(); + } + + .uk-icon-button:hover, + .uk-icon-button:focus { + background-color: $contrast-icon-button-hover-background; + color: $contrast-icon-button-hover-color; + @include hook-contrast-icon-button-hover(); + } + + .uk-icon-button:active { + background-color: $contrast-icon-button-active-background; + color: $contrast-icon-button-active-color; + @include hook-contrast-icon-button-active(); + } + + + // Text + // ======================================================================== + + .uk-text-muted { color: $contrast-text-muted-color !important; } + .uk-text-primary { color: $contrast-text-primary-color !important; } + + + // Misc hook + // ======================================================================== + + @include hook-contrast-misc(); + +} + + +// Hooks +// ======================================================================== + +// @mixin hook-contrast-base-code(){} + +// @mixin hook-contrast-nav-side(){} +// @mixin hook-contrast-nav-side-hover(){} +// @mixin hook-contrast-nav-side-active(){} +// @mixin hook-contrast-nav-side-header(){} +// @mixin hook-contrast-nav-side-divider(){} + +// @mixin hook-contrast-subnav(){} +// @mixin hook-contrast-subnav-hover(){} +// @mixin hook-contrast-subnav-active(){} +// @mixin hook-contrast-subnav-line-divider(){} +// @mixin hook-contrast-subnav-pill-hover(){} +// @mixin hook-contrast-subnav-pill-active(){} + +// @mixin hook-contrast-tab(){} +// @mixin hook-contrast-tab-hover(){} +// @mixin hook-contrast-tab-active(){} + +// @mixin hook-contrast-list-line(){} + +// @mixin hook-contrast-form(){} +// @mixin hook-contrast-form-focus(){} + +// @mixin hook-contrast-button(){} +// @mixin hook-contrast-button-hover(){} +// @mixin hook-contrast-button-active(){} +// @mixin hook-contrast-button-primary(){} +// @mixin hook-contrast-button-primary-hover(){} +// @mixin hook-contrast-button-primary-active(){} + +// @mixin hook-contrast-icon-hover(){} +// @mixin hook-contrast-icon-hover-hover(){} +// @mixin hook-contrast-icon-button(){} +// @mixin hook-contrast-icon-button-hover(){} +// @mixin hook-contrast-icon-button-active(){} + +// @mixin hook-contrast-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/cover.scss b/bower_components/uikit/scss/core/cover.scss new file mode 100644 index 0000000..bdd3a3b --- /dev/null +++ b/bower_components/uikit/scss/core/cover.scss @@ -0,0 +1,70 @@ +// Name: Cover +// Description: Defines styles for images and videos to cover their container in a centered position +// +// Component: `uk-cover-*` +// +// Used by: Slideshow +// +// ======================================================================== + + +/* ======================================================================== + Component: Cover + ========================================================================== */ + +/* + * Background image always covers and centers its element + */ + +.uk-cover-background { + background-position: 50% 50%; + background-size: cover; + background-repeat: no-repeat; +} + +/* + * Emulates image cover, works with video and image elements + * 1. Parent container which clips resized object + * 2. Resizes the object to always covers its container + * 3. Reset the responsive image CSS + * 4. Center object + */ + +/* 1 */ +.uk-cover { overflow: hidden; } + +.uk-cover-object { + /* 2 */ + width: auto; + height: auto; + min-width: 100%; + min-height: 100%; + /* 3 */ + max-width: none; + /* 4 */ + position: relative; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); +} + +/* + * To center iframes use `data-uk-cover` JavaScript + */ + +[data-uk-cover] { + position: relative; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); +} + + +// Hooks +// ======================================================================== + +@include hook-cover-misc(); + +// @mixin hook-cover-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/description-list.scss b/bower_components/uikit/scss/core/description-list.scss new file mode 100644 index 0000000..bd0a365 --- /dev/null +++ b/bower_components/uikit/scss/core/description-list.scss @@ -0,0 +1,71 @@ +// Name: Description list +// Description: Defines styles for description lists +// +// Component: `uk-description-list` +// +// Modifiers: `uk-description-list-horizontal` +// `uk-description-list-line` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$description-list-horizontal-width: 160px !default; +$description-list-horizontal-margin-left: 180px !default; + +$description-list-line-margin-top: 5px !default; +$description-list-line-border-width: 1px !default; +$description-list-line-border: #ddd !default; +$description-list-line-color: #999 !default; + +$description-list-line-font-weight: normal !default; + + +/* ======================================================================== + Component: Description list + ========================================================================== */ + + +/* Modifier: `uk-description-list-horizontal` + ========================================================================== */ + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + .uk-description-list-horizontal { overflow: hidden; } + + .uk-description-list-horizontal > dt { + width: $description-list-horizontal-width; + float: left; + clear: both; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .uk-description-list-horizontal > dd { margin-left: $description-list-horizontal-margin-left; } +} + + +/* Modifier: `uk-description-list-line` + ========================================================================== */ + +.uk-description-list-line > dt { font-weight: $description-list-line-font-weight; } + +.uk-description-list-line > dt:nth-child(n+2) { + margin-top: $description-list-line-margin-top; + padding-top: $description-list-line-margin-top; + border-top: $description-list-line-border-width solid $description-list-line-border; +} + +.uk-description-list-line > dd { color: $description-list-line-color; } + + +// Hooks +// ======================================================================== + +@include hook-description-list-misc(); + +// @mixin hook-description-list-misc(){} diff --git a/bower_components/uikit/scss/core/dropdown.scss b/bower_components/uikit/scss/core/dropdown.scss new file mode 100644 index 0000000..7168e4e --- /dev/null +++ b/bower_components/uikit/scss/core/dropdown.scss @@ -0,0 +1,283 @@ +// Name: Dropdown +// Description: Defines styles for a toggleable dropdown +// +// Component: `uk-dropdown` +// +// Sub-objects: `uk-dropdown-overlay` +// +// Modifiers: `uk-dropdown-blank` +// `uk-dropdown-top` +// `uk-dropdown-bottom` +// `uk-dropdown-left` +// `uk-dropdown-right` +// `uk-dropdown-justify` +// `uk-dropdown-grid` +// `uk-dropdown-width-2` +// `uk-dropdown-width-3` +// `uk-dropdown-width-4` +// `uk-dropdown-width-5` +// `uk-dropdown-stack` +// `uk-dropdown-small` +// `uk-dropdown-navbar` +// `uk-dropdown-scrollable` +// +// States: `uk-open` +// +// Uses: Animation +// Grid: `uk-width-*` +// Panel: `uk-panel` +// Nav: `uk-nav` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$dropdown-z-index: 970 !default; +$dropdown-width: 200px !default; +$dropdown-margin-top: 5px !default; +$dropdown-padding: 15px !default; +$dropdown-background: #f5f5f5 !default; +$dropdown-color: #444 !default; +$dropdown-font-size: 1rem !default; +$dropdown-animation: uk-fade !default; + +$dropdown-divider-border-width: 1px !default; +$dropdown-divider-border: #ddd !default; + +$dropdown-small-padding: 5px !default; + +$dropdown-navbar-margin: 0 !default; +$dropdown-navbar-background: #f5f5f5 !default; +$dropdown-navbar-color: #444 !default; +$dropdown-navbar-animation: uk-slide-top-fixed !default; + +$dropdown-scrollable-height: 200px !default; + + +/* ======================================================================== + Component: Dropdown + ========================================================================== */ + +/* + * 1. Hide by default + * 2. Set position + * 3. Box-sizing is needed for `uk-dropdown-justify` + * 4. Set width + */ + +.uk-dropdown, +.uk-dropdown-blank { + /* 1 */ + display: none; + /* 2 */ + position: absolute; + z-index: $dropdown-z-index; + /* 3 */ + box-sizing: border-box; + /* 4 */ + width: $dropdown-width; +} + +/* + * Dropdown style + * 1. Reset button group whitespace hack + */ + +.uk-dropdown { + padding: $dropdown-padding; + background: $dropdown-background; + color: $dropdown-color; + /* 1 */ + font-size: $dropdown-font-size; + vertical-align: top; + @include hook-dropdown(); +} + +/* Focus */ +.uk-dropdown:focus { outline: none; } + +/* + * 1. Show dropdown + * 2. Set animation + * 3. Needed for scale animation + */ + +.uk-open > .uk-dropdown, +.uk-open > .uk-dropdown-blank { + /* 1 */ + display: block; + /* 2 */ + -webkit-animation: $dropdown-animation 0.2s ease-in-out; + animation: $dropdown-animation 0.2s ease-in-out; + /* 3 */ + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} + +/* Alignment modifiers + ========================================================================== */ + +/* + * Modifier + */ + +.uk-dropdown-top { margin-top: (-1 * $dropdown-margin-top); } +.uk-dropdown-bottom { margin-top: $dropdown-margin-top; } +.uk-dropdown-left { margin-left: (-1 * $dropdown-margin-top); } +.uk-dropdown-right { margin-left: $dropdown-margin-top; } + + +/* Nav in dropdown + ========================================================================== */ + +.uk-dropdown .uk-nav { margin: 0 (-$dropdown-padding); } + + +/* Grid and panel in dropdown + ========================================================================== */ + +/* +* Vertical gutter +*/ + +/* + * Grid + * Higher specificity to override large gutter + */ + +.uk-grid .uk-dropdown-grid + .uk-dropdown-grid { margin-top: $dropdown-padding; } + +/* Panels */ +.uk-dropdown-grid > [class*='uk-width-'] > .uk-panel + .uk-panel { margin-top: $dropdown-padding; } + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + /* + * Horizontal gutter + */ + + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid { + margin-left: -$dropdown-padding ; + margin-right: -$dropdown-padding; + } + + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-'] { + padding-left: $dropdown-padding; + padding-right: $dropdown-padding; + } + + /* + * Column divider + */ + + .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { border-left: $dropdown-divider-border-width solid $dropdown-divider-border; } + + /* + * Width multiplier for dropdown columns + */ + + .uk-dropdown-width-2:not(.uk-dropdown-stack) { width: ($dropdown-width * 2); } + .uk-dropdown-width-3:not(.uk-dropdown-stack) { width: ($dropdown-width * 3); } + .uk-dropdown-width-4:not(.uk-dropdown-stack) { width: ($dropdown-width * 4); } + .uk-dropdown-width-5:not(.uk-dropdown-stack) { width: ($dropdown-width * 5); } + +} + +/* Phone landscape and smaller */ +@media (max-width: $breakpoint-small-max) { + + /* + * Stack columns and take full width + */ + + .uk-dropdown-grid > [class*='uk-width-'] { width: 100%; } + + /* + * Vertical gutter + */ + + .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { margin-top: $dropdown-padding; } + +} + +/* +* Stack grid columns +*/ + +.uk-dropdown-stack > .uk-dropdown-grid > [class*='uk-width-'] { width: 100%; } + +.uk-dropdown-stack > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) { margin-top: $dropdown-padding; } + + + +/* Modifier `uk-dropdown-small` + ========================================================================== */ + +/* + * Set min-width and text expands dropdown if needed + */ + +.uk-dropdown-small { + min-width: 150px; + width: auto; + padding: $dropdown-small-padding; + white-space: nowrap; +} + +/* + * Nav in dropdown + */ + +.uk-dropdown-small .uk-nav { margin: 0 (-$dropdown-small-padding); } + + +/* Modifier: `uk-dropdown-navbar` + ========================================================================== */ + +.uk-dropdown-navbar { + margin-top: $dropdown-navbar-margin; + background: $dropdown-navbar-background; + color: $dropdown-navbar-color; + @include hook-dropdown-navbar(); +} + +.uk-open > .uk-dropdown-navbar { + -webkit-animation: $dropdown-navbar-animation 0.2s ease-in-out; + animation: $dropdown-navbar-animation 0.2s ease-in-out; +} + + +/* Modifier `uk-dropdown-scrollable` + ========================================================================== */ + +/* + * Usefull for long lists + */ + +.uk-dropdown-scrollable { + overflow-y: auto; + max-height: $dropdown-scrollable-height; +} + + +/* Sub-object: `uk-dropdown-overlay` + ========================================================================== */ + +.uk-dropdown-overlay { + @include hook-dropdown-overlay(); +} + + + +// Hooks +// ======================================================================== + +@include hook-dropdown-misc(); + +// @mixin hook-dropdown(){} +// @mixin hook-dropdown-navbar(){} +// @mixin hook-dropdown-overlay(){} +// @mixin hook-dropdown-misc(){} diff --git a/bower_components/uikit/scss/core/flex.scss b/bower_components/uikit/scss/core/flex.scss new file mode 100644 index 0000000..278767a --- /dev/null +++ b/bower_components/uikit/scss/core/flex.scss @@ -0,0 +1,320 @@ +// Name: Flex +// Description: Defines styles to create layouts with flexbox +// +// Component: `uk-flex-*` +// +// Used by: Caption +// +// +// ======================================================================== + + +/* ======================================================================== + Component: Flex + ========================================================================== */ + +.uk-flex { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; +} + +.uk-flex-inline { + display: -ms-inline-flexbox; + display: -webkit-inline-flex; + display: inline-flex; +} + +/* + * Fixes initial flex-shrink value in IE10 + */ + +.uk-flex > *, +.uk-flex-inline > * { -ms-flex-negative: 1; } + + +/* Alignment + ========================================================================== */ + +/* + * Vertical alignment + * Default value is `stretch` + */ + +// .uk-flex-stretch { align-items: stretch; } + +.uk-flex-top { + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; +} + +.uk-flex-middle { + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} + +.uk-flex-bottom { + -ms-flex-align: end; + -webkit-align-items: flex-end; + align-items: flex-end; +} + +/* + * Horizontal alignment + * Default value is `flex-start` + */ + +// .uk-flex-left { justify-content: flex-start; } + +.uk-flex-center { + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} + +.uk-flex-right { + -ms-flex-pack: end; + -webkit-justify-content: flex-end; + justify-content: flex-end; +} + +.uk-flex-space-between { + -ms-flex-pack: justify; + -webkit-justify-content: space-between; + justify-content: space-between; +} + +.uk-flex-space-around { + -ms-flex-pack: distribute; + -webkit-justify-content: space-around; + justify-content: space-around; +} + + +/* Direction + ========================================================================== */ + +// .uk-flex-row { flex-direction: row; } + +.uk-flex-row-reverse { + -ms-flex-direction: row-reverse; + -webkit-flex-direction: row-reverse; + flex-direction: row-reverse; +} + +.uk-flex-column { + -ms-flex-direction: column; + -webkit-flex-direction: column; + flex-direction: column; +} + +.uk-flex-column-reverse { + -ms-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + flex-direction: column-reverse; +} + + +/* Wrap + ========================================================================== */ + +// Default +.uk-flex-nowrap { + -ms-flex-wrap: nowrap; + -webkit-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +.uk-flex-wrap { + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; +} + +.uk-flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse; + -webkit-flex-wrap: wrap-reverse; + flex-wrap: wrap-reverse; +} + +/* + * Horizontal alignment + * Default value is `stretch` + */ + +// .uk-flex-wrap-stretch { align-content: stretch; } + +.uk-flex-wrap-top { + -ms-flex-line-pack: start; + -webkit-align-content: flex-start; + align-content: flex-start; +} + +.uk-flex-wrap-middle { + -ms-flex-line-pack: center; + -webkit-align-content: center; + align-content: center; +} + +.uk-flex-wrap-bottom { + -ms-flex-line-pack: end; + -webkit-align-content: flex-end; + align-content: flex-end; +} + +.uk-flex-wrap-space-between { + -ms-flex-line-pack: justify; + -webkit-align-content: space-between; + align-content: space-between; +} + +.uk-flex-wrap-space-around { + -ms-flex-line-pack: distribute; + -webkit-align-content: space-around; + align-content: space-around; +} + + +/* Item ordering + ========================================================================== */ + +/* + * Default is 0 + */ + +.uk-flex-order-first { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; +} + +.uk-flex-order-last { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; +} + + +/* Phone landscape and bigger */ +@media (min-width: $breakpoint-small) { + + .uk-flex-order-first-small { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + + .uk-flex-order-last-small { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } + +} + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + .uk-flex-order-first-medium { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + + .uk-flex-order-last-medium { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } + +} + +/* Desktop and bigger */ +@media (min-width: $breakpoint-large) { + + .uk-flex-order-first-large { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + + .uk-flex-order-last-large { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } + +} + +/* Large screen and bigger */ +@media (min-width: $breakpoint-xlarge) { + + .uk-flex-order-first-xlarge { + -ms-flex-order: -1; + -webkit-order: -1; + order: -1; + } + + .uk-flex-order-last-xlarge { + -ms-flex-order: 99; + -webkit-order: 99; + order: 99; + } + +} + + + +/* Item dimensions + ========================================================================== */ + +/* + * Initial: 0 1 auto + * Content dimensions, but shrinks + */ + +/* + * No Flex: 0 0 auto + * Content dimensions + */ + +.uk-flex-item-none { + -ms-flex: none; + -webkit-flex: none; + flex: none; +} + +/* + * Relative Flex: 1 1 auto + * Space is allocated considering content + * 1. Fixes flex-shrink value in IE10 + */ + +.uk-flex-item-auto { + -ms-flex: auto; + -webkit-flex: auto; + flex: auto; + /* 1 */ + -ms-flex-negative: 1; +} + +/* + * Absolute Flex: 1 1 0% + * Space is allocated solely based on flex + */ + +.uk-flex-item-1 { + -ms-flex: 1; + -webkit-flex: 1; + flex: 1; +} + + +// Hooks +// ======================================================================== + +@include hook-flex-misc(); + +// @mixin hook-flex-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/form.scss b/bower_components/uikit/scss/core/form.scss new file mode 100644 index 0000000..0f271ae --- /dev/null +++ b/bower_components/uikit/scss/core/form.scss @@ -0,0 +1,629 @@ +// Name: Form +// Description: Defines styles for forms +// +// Component: `uk-form` +// +// Sub-objects: `uk-form-row` +// `uk-form-help-inline` +// `uk-form-help-block` +// `uk-form-label` +// `uk-form-controls` +// `uk-form-controls-condensed` +// `uk-form-icon` +// +// Modifiers: `uk-form-stacked` +// `uk-form-horizontal` +// +// Sub-modifiers: `uk-form-danger` +// `uk-form-success` +// `uk-form-small` +// `uk-form-large` +// `uk-form-blank` +// `uk-form-width-mini` +// `uk-form-width-small` +// `uk-form-width-medium` +// `uk-form-width-large` +// `uk-form-controls-text` +// +// Markup: +// +// +//
                  +//
                  +// +//
                  +// +//
                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$form-height: 30px !default; +$form-padding: 4px 6px !default; +$form-border: #ddd !default; +$form-border-width: 1px !default; +$form-background: #fff !default; +$form-color: #444 !default; + +$form-focus-border: #99baca !default; +$form-focus-background: #f5fbfe !default; +$form-focus-color: #444 !default; + +$form-disabled-border: #ddd !default; +$form-disabled-background: #f5f5f5 !default; +$form-disabled-color: #999 !default; + +$form-placeholder-color: #999 !default; + +$form-gutter: 15px !default; + +$form-legend-border: #ddd !default; +$form-legend-border-width: 1px !default; +$form-legend-font-size: 18px !default; +$form-legend-line-height: 30px !default; + +$form-small-height: 25px !default; +$form-large-height: 40px !default; +$form-small-padding: 3px 3px !default; +$form-large-padding: 8px 6px !default; +$form-small-font-size: 12px !default; +$form-large-font-size: 16px !default; + +$form-danger-border: #dc8d99 !default; +$form-danger-background: #fff7f8 !default; +$form-danger-color: #d85030 !default; + +$form-success-border: #8ec73b !default; +$form-success-background: #fafff2 !default; +$form-success-color: #659f13 !default; + +$form-blank-border: #ddd !default; +$form-blank-border-style: dashed !default; + +$form-mini-width: 40px !default; +$form-small-width: 130px !default; +$form-medium-width: 200px !default; +$form-large-width: 500px !default; + +$form-help-inline-margin-left: 10px !default; +$form-help-block-margin-top: 5px !default; + +$form-controls-condensed-margin-vertical: 5px !default; + +$form-stacked-margin-bottom: 5px !default; +$form-stacked-font-weight: bold !default; + +$form-horizontal-label-width: 200px !default; +$form-horizontal-label-margin-top: 5px !default; +$form-horizontal-controls-margin-left: 215px !default; +$form-horizontal-controls-text-padding-top: 5px !default; + +$form-icon-width: 30px !default; +$form-icon-font-size: 14px !default; +$form-icon-color: #999 !default; + + +/* ======================================================================== + Component: Form + ========================================================================== */ + +/* + * 1. Define consistent box sizing. + * Default is `content-box` with following exceptions set to `border-box` + * `button`, `select`, `input[type="checkbox"]` and `input[type="radio"]` + * `input[type="search"]` in Chrome, Safari and Opera + * `input[type="color"]` in Firefox + * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera. + * 3. Remove `border-radius` in iOS. + * 4. Correct `font` properties and `color` not being inherited. + */ + +.uk-form input, +.uk-form select, +.uk-form textarea { + /* 1 */ + box-sizing: border-box; + /* 2 */ + margin: 0; + /* 3 */ + border-radius: 0; + /* 4 */ + font: inherit; + color: inherit; +} + +/* + * Address inconsistent `text-transform` inheritance which is only inherit in Firefox + */ + +.uk-form select { text-transform: none; } + +/* + * 1. Correct `font` properties not being inherited. + * 2. Don't inherit the `font-weight` and use `bold` instead. + * NOTE: Both declarations don't work in Chrome, Safari and Opera. + */ + +.uk-form optgroup { + /* 1 */ + font: inherit; + /* 2 */ + font-weight: bold; +} + +/* + * Removes inner padding and border in Firefox 4+. + */ + +.uk-form input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * Removes excess padding in IE 8/9/10. + */ + +.uk-form input[type="checkbox"], +.uk-form input[type="radio"] { padding: 0; } + +/* + * Improves consistency of cursor style for clickable elements + */ + +.uk-form input[type="checkbox"]:not(:disabled), +.uk-form input[type="radio"]:not(:disabled) { cursor: pointer; } + +/* + * Remove default style in iOS. + */ + +.uk-form textarea, +.uk-form input:not([type]), +.uk-form input[type="text"], +.uk-form input[type="password"], +.uk-form input[type="email"], +.uk-form input[type="url"], +.uk-form input[type="search"], +.uk-form input[type="tel"], +.uk-form input[type="number"], +.uk-form input[type="datetime"] { -webkit-appearance: none; } + +/* + * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X. + */ + +.uk-form input[type="search"]::-webkit-search-cancel-button, +.uk-form input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/* + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +.uk-form input[type="number"]::-webkit-inner-spin-button, +.uk-form input[type="number"]::-webkit-outer-spin-button { height: auto; } + +/* + * Define consistent border, margin, and padding. + */ + +.uk-form fieldset { + border: none; + margin: 0; + padding: 0; +} + +/* + * 1. Remove default vertical scrollbar in IE 8/9/10/11. + * 2. Improve readability and alignment in all browsers. + */ + +.uk-form textarea { + /* 1 */ + overflow: auto; + /* 2 */ + vertical-align: top; +} + +/* + * Removes placeholder transparency in Firefox. + */ + +.uk-form ::-moz-placeholder { opacity: 1; } + +/* + * Removes `box-shadow` for invalid controls in Firefox. + */ + +.uk-form :invalid { box-shadow: none; } + +/* + * Vertical alignment + */ + +.uk-form input:not([type="radio"]):not([type="checkbox"]), +.uk-form select { vertical-align: middle; } + + +/* Style + ========================================================================== */ + +/* + * Remove margin from the last-child + */ + +.uk-form > :last-child { margin-bottom: 0; } + +/* + * Controls + * Except for `range`, `radio`, `checkbox`, `file`, `submit`, `reset`, `button` and `image` + * 1. Must be `height` because `min-height` is not working in OSX + * 2. Responsiveness: Sets a maximum width relative to the parent to scale on narrower viewports + * 3. Vertical `padding` needed for `select` elements in Firefox + * 4. Style + */ + +.uk-form select, +.uk-form textarea, +.uk-form input:not([type]), +.uk-form input[type="text"], +.uk-form input[type="password"], +.uk-form input[type="datetime"], +.uk-form input[type="datetime-local"], +.uk-form input[type="date"], +.uk-form input[type="month"], +.uk-form input[type="time"], +.uk-form input[type="week"], +.uk-form input[type="number"], +.uk-form input[type="email"], +.uk-form input[type="url"], +.uk-form input[type="search"], +.uk-form input[type="tel"], +.uk-form input[type="color"] { + /* 1 */ + height: $form-height; + /* 2 */ + max-width: 100%; + /* 3 */ + padding: $form-padding; + /* 4 */ + border: $form-border-width solid $form-border; + background: $form-background; + color: $form-color; + -webkit-transition: all 0.2s linear; + -webkit-transition-property: border, background, color, box-shadow, padding; + transition: all 0.2s linear; + transition-property: border, background, color, box-shadow, padding; + @include hook-form(); + + // Focus state + &:focus { + border-color: $form-focus-border; + outline: 0; + background: $form-focus-background; + color: $form-focus-color; + @include hook-form-focus(); + } + + // Disabled state + &:disabled { + border-color: $form-disabled-border; + background-color: $form-disabled-background; + color: $form-disabled-color; + @include hook-form-disabled(); + } +} + +/* + * Placeholder + */ + +.uk-form :-ms-input-placeholder { color: $form-placeholder-color !important; } +.uk-form ::-moz-placeholder { color: $form-placeholder-color; } +.uk-form ::-webkit-input-placeholder { color: $form-placeholder-color; } + +.uk-form :disabled:-ms-input-placeholder { color: $form-disabled-color !important; } +.uk-form :disabled::-moz-placeholder { color: $form-disabled-color; } +.uk-form :disabled::-webkit-input-placeholder { color: $form-disabled-color; } + +/* + * Legend + * 1. Behave like block element + * 2. Correct `color` not being inherited in IE 8/9/10/11. + * 3. Remove padding + * 4. `margin-bottom` is not working in Safari and Opera. + * Using `padding` and :after instead to create the border + * 5. Style + */ + +.uk-form legend { + /* 1 */ + width: 100%; + /* 2 */ + border: 0; + /* 3 */ + padding: 0; + /* 4 */ + padding-bottom: $form-gutter; + /* 5 */ + font-size: $form-legend-font-size; + line-height: $form-legend-line-height; + @include hook-form-legend(); +} + +/* + * 1. Fixes IE9 + */ + +.uk-form legend:after { + content: ""; + display: block; + border-bottom: $form-legend-border-width solid $form-legend-border; + /* 1 */ + width: 100%; +} + + +/* Size modifiers + * Higher specificity needed to override defaults + ========================================================================== */ + +select.uk-form-small, +textarea.uk-form-small, +input[type].uk-form-small, +input:not([type]).uk-form-small { + height: $form-small-height; + padding: $form-small-padding; + font-size: $form-small-font-size; +} + +select.uk-form-large, +textarea.uk-form-large, +input[type].uk-form-large, +input:not([type]).uk-form-large { + height: $form-large-height; + padding: $form-large-padding; + font-size: $form-large-font-size; +} + + +/* Reset height + * Must be after size modifiers + ========================================================================== */ + +.uk-form textarea, +.uk-form select[multiple], +.uk-form select[size] { height: auto; } + + +/* Validation states + * Using !important to keep the selector simple + ========================================================================== */ + +/* + * Error state + */ + +.uk-form-danger { + border-color: $form-danger-border !important; + background: $form-danger-background !important; + color: $form-danger-color !important; + @include hook-form-danger(); +} + +/* + * Success state + */ + +.uk-form-success { + border-color: $form-success-border !important; + background: $form-success-background !important; + color: $form-success-color !important; + @include hook-form-success(); +} + + +/* Style modifiers + * Using !important to keep the selector simple + ========================================================================== */ + +/* + * Blank form + */ + +.uk-form-blank { + border-color: transparent !important; + border-style: $form-blank-border-style !important; + background: none !important; + @include hook-form-blank(); +} + +.uk-form-blank:focus { + border-color: $form-blank-border !important; + @include hook-form-blank-focus(); +} + + +/* Size sub-modifiers + ========================================================================== */ + +/* + * Fixed widths + * Different widths for mini sized `input` and `select` elements + */ + +input.uk-form-width-mini { width: $form-mini-width; } +select.uk-form-width-mini { width: ($form-mini-width + 25px); } +.uk-form-width-small { width: $form-small-width; } +.uk-form-width-medium { width: $form-medium-width; } +.uk-form-width-large { width: $form-large-width; } + + +/* Sub-objects: `uk-form-row` + * Groups labels and controls in rows + ========================================================================== */ + +/* + * Micro clearfix + * Needed for `uk-form-horizontal` modifier + */ + +.uk-form-row:before, +.uk-form-row:after { + content: ""; + display: table; +} + +.uk-form-row:after { clear: both; } + +/* + * Vertical gutter + */ + +.uk-form-row + .uk-form-row { margin-top: $form-gutter; } + + +/* Help text + * Sub-object: `uk-form-help-inline`, `uk-form-help-block` + ========================================================================== */ + +.uk-form-help-inline { + display: inline-block; + margin: 0 0 0 $form-help-inline-margin-left; +} + +.uk-form-help-block { margin: $form-help-block-margin-top 0 0 0; } + + +/* Controls content + * Sub-object: `uk-form-controls`, `uk-form-controls-condensed` + ========================================================================== */ + +/* + * Remove margins + */ + +.uk-form-controls > :first-child { margin-top: 0; } +.uk-form-controls > :last-child { margin-bottom: 0; } + +/* + * Group controls and text into blocks with a small spacing between blocks + */ + +.uk-form-controls-condensed { margin: $form-controls-condensed-margin-vertical 0; } + + +/* Modifier: `uk-form-stacked` + * Requires sub-object: `uk-form-label` + ========================================================================== */ + +.uk-form-stacked .uk-form-label { + display: block; + margin-bottom: $form-stacked-margin-bottom; + font-weight: $form-stacked-font-weight; + @include hook-form-stacked-label(); +} + + +/* Modifier: `uk-form-horizontal` + * Requires sub-objects: `uk-form-label`, `uk-form-controls` + ========================================================================== */ + +/* Tablet portrait and smaller */ +@media (max-width: $breakpoint-medium-max) { + + /* Behave like `uk-form-stacked` */ + .uk-form-horizontal .uk-form-label { + display: block; + margin-bottom: $form-stacked-margin-bottom; + font-weight: $form-stacked-font-weight; + @include hook-form-stacked-label(); + } + +} + +/* Desktop and bigger */ +@media (min-width: $breakpoint-large) { + + .uk-form-horizontal .uk-form-label { + width: $form-horizontal-label-width; + margin-top: $form-horizontal-label-margin-top; + float: left; + @include hook-form-horizontal-label(); + } + + .uk-form-horizontal .uk-form-controls { margin-left: $form-horizontal-controls-margin-left; } + + /* Better vertical alignment if controls are checkboxes and radio buttons with text */ + .uk-form-horizontal .uk-form-controls-text { padding-top: $form-horizontal-controls-text-padding-top; } + +} + + +/* Sub-object: `uk-form-icon` + ========================================================================== */ + +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Prevent `inline-block` consequences + */ + +.uk-form-icon { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; +} + +/* + * 1. Make form element clickable through icon + */ + +.uk-form-icon > [class*='uk-icon-'] { + position: absolute; + top: 50%; + width: $form-icon-width; + margin-top: round($form-icon-font-size / -2); + font-size: $form-icon-font-size; + color: $form-icon-color; + text-align: center; + /* 1 */ + pointer-events: none; +} + +.uk-form-icon:not(.uk-form-icon-flip) > input { padding-left: $form-icon-width !important; } + +/* + * Sub-modifier: `uk-form-icon-flip` + */ + +.uk-form-icon-flip > [class*='uk-icon-'] { right: 0; } +.uk-form-icon-flip > input { padding-right: $form-icon-width !important; } + + +// Hooks +// ======================================================================== + +@include hook-form-misc(); + +// @mixin hook-form(){} +// @mixin hook-form-focus(){} +// @mixin hook-form-disabled(){} +// @mixin hook-form-legend(){} +// @mixin hook-form-danger(){} +// @mixin hook-form-success(){} +// @mixin hook-form-blank(){} +// @mixin hook-form-blank-focus(){} +// @mixin hook-form-stacked-label(){} +// @mixin hook-form-horizontal-label(){} +// @mixin hook-form-misc(){} diff --git a/bower_components/uikit/scss/core/grid.scss b/bower_components/uikit/scss/core/grid.scss new file mode 100644 index 0000000..5e3068b --- /dev/null +++ b/bower_components/uikit/scss/core/grid.scss @@ -0,0 +1,731 @@ +// Name: Grid +// Description: Provides a responsive, fluid and nestable grid +// +// Component: `uk-grid` +// `uk-width-*` +// `uk-push-*` +// `uk-pull-*` +// +// Modifiers: `uk-grid-collapse` +// `uk-grid-small` +// `uk-grid-medium` +// `uk-grid-large` +// `uk-grid-divider` +// `uk-grid-margin` +// `uk-grid-match` +// `uk-grid-width-*` +// +// Uses: Panel: `uk-panel` +// +// Used by: Dropdown +// +// Markup: +// +// +//
                  +//
                  +//
                  +//
                  +// +// +//
                  +//
                  +//
                  +//
                  +//
                  +//
                  +//
                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$grid-gutter-horizontal: 25px !default; +$grid-gutter-vertical: 25px !default; + +$grid-gutter-large-horizontal: 35px !default; +$grid-gutter-large-vertical: 35px !default; + +$grid-gutter-xlarge-horizontal: 50px !default; +$grid-gutter-xlarge-vertical: 50px !default; + +$grid-gutter-small-horizontal: 10px !default; +$grid-gutter-small-vertical: 10px !default; + +$grid-divider-border: #ddd !default; +$grid-divider-border-width: 1px !default; + + +/* ======================================================================== + Component: Grid + ========================================================================== */ + +/* + * 1. Makes grid more robust so that it can be used with other block elements like lists + */ + +.uk-grid { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin: 0; + padding: 0; + list-style: none; +} + +/* + * DEPRECATED + * Micro clearfix + * Can't use `table` because it creates a 1px gap when it becomes a flex item, only in Webkit + */ + +.uk-grid:before, +.uk-grid:after { + content: ""; + display: block; + overflow: hidden; +} + +.uk-grid:after { clear: both; } + +/* + * Grid cell + * 1. Space is allocated solely based on content dimensions + * 2. Makes grid more robust so that it can be used with other block elements + * 3. DEPRECATED Using `float` to support IE9 + */ + +.uk-grid > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + margin: 0; + /* 3 */ + float: left; +} + +/* + * Remove margin from the last-child + */ + +.uk-grid > * > :last-child { margin-bottom: 0; } + + +/* Grid gutter + ========================================================================== */ + +/* + * Default gutter + */ + +/* Horizontal */ +.uk-grid { margin-left: -$grid-gutter-horizontal; } +.uk-grid > * { padding-left: $grid-gutter-horizontal; } + +/* Vertical */ +.uk-grid + .uk-grid, +.uk-grid-margin, +.uk-grid > * > .uk-panel + .uk-panel { margin-top: $grid-gutter-vertical; } + +/* Large screen and bigger */ +@media (min-width: $breakpoint-xlarge) { + + /* Horizontal */ + .uk-grid { margin-left: -$grid-gutter-large-horizontal; } + .uk-grid > * { padding-left: $grid-gutter-large-horizontal; } + + /* Vertical */ + .uk-grid + .uk-grid, + .uk-grid-margin, + .uk-grid > * > .uk-panel + .uk-panel { margin-top: $grid-gutter-large-vertical; } + +} + +/* + * Collapse gutter + */ + +/* Horizontal */ +.uk-grid-collapse { margin-left: 0; } +.uk-grid-collapse > * { padding-left: 0; } + +/* Vertical */ +.uk-grid-collapse + .uk-grid-collapse, +.uk-grid-collapse > .uk-grid-margin, +.uk-grid-collapse > * > .uk-panel + .uk-panel { margin-top: 0; } + +/* + * Small gutter + */ + +/* Horizontal */ +.uk-grid-small { margin-left: -$grid-gutter-small-horizontal; } +.uk-grid-small > * { padding-left: $grid-gutter-small-horizontal; } + +/* Vertical */ +.uk-grid-small + .uk-grid-small, +.uk-grid-small > .uk-grid-margin, +.uk-grid-small > * > .uk-panel + .uk-panel { margin-top: $grid-gutter-small-vertical; } + +/* + * Medium gutter + */ + +/* Horizontal */ +.uk-grid-medium { margin-left: -$grid-gutter-horizontal; } +.uk-grid-medium > * { padding-left: $grid-gutter-horizontal; } + +/* Vertical */ +.uk-grid-medium + .uk-grid-medium, +.uk-grid-medium > .uk-grid-margin, +.uk-grid-medium > * > .uk-panel + .uk-panel { margin-top: $grid-gutter-vertical; } + + +/* + * Large gutter + */ + +/* Large screen and bigger */ +@media (min-width: $breakpoint-large) { + + /* Horizontal */ + .uk-grid-large { margin-left: -$grid-gutter-large-horizontal; } + .uk-grid-large > * { padding-left: $grid-gutter-large-horizontal; } + + /* Vertical */ + .uk-grid-large + .uk-grid-large, + .uk-grid-large-margin, + .uk-grid-large > * > .uk-panel + .uk-panel { margin-top: $grid-gutter-large-vertical; } + +} + +/* Extra Large screens */ +@media (min-width: $breakpoint-xlarge) { + + /* Horizontal */ + .uk-grid-large { margin-left: -$grid-gutter-xlarge-horizontal; } + .uk-grid-large > * { padding-left: $grid-gutter-xlarge-horizontal; } + + /* Vertical */ + .uk-grid-large + .uk-grid-large, + .uk-grid-large-margin, + .uk-grid-large > * > .uk-panel + .uk-panel { margin-top: $grid-gutter-xlarge-vertical; } + +} + + +/* Modifier: `uk-grid-divider` + ========================================================================== */ + +/* + * Horizontal divider + * Only works with the default gutter. Does not work with gutter collapse, small or large. + * Does not work with `uk-push-*`, `uk-pull-*` and not if the columns float into the next row. + */ + +.uk-grid-divider:not(:empty) { + margin-left: -$grid-gutter-horizontal; + margin-right: -$grid-gutter-horizontal; +} + +.uk-grid-divider > * { + padding-left: $grid-gutter-horizontal; + padding-right: $grid-gutter-horizontal; +} + +.uk-grid-divider > [class*='uk-width-1-']:not(.uk-width-1-1):nth-child(n+2), +.uk-grid-divider > [class*='uk-width-2-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-3-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-4-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-5-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-6-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-7-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-8-']:nth-child(n+2), +.uk-grid-divider > [class*='uk-width-9-']:nth-child(n+2) { border-left: $grid-divider-border-width solid $grid-divider-border; } + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + .uk-grid-divider > [class*='uk-width-medium-']:not(.uk-width-medium-1-1):nth-child(n+2) { border-left: $grid-divider-border-width solid $grid-divider-border; } + +} + +/* Desktop and bigger */ +@media (min-width: $breakpoint-large) { + + .uk-grid-divider > [class*='uk-width-large-']:not(.uk-width-large-1-1):nth-child(n+2) { border-left: $grid-divider-border-width solid $grid-divider-border; } + +} + +/* Large screen and bigger */ +@media (min-width: $breakpoint-xlarge) { + + /* + * Large gutter + */ + + .uk-grid-divider:not(:empty) { + margin-left: -$grid-gutter-large-horizontal; + margin-right: -$grid-gutter-large-horizontal; + } + + .uk-grid-divider > * { + padding-left: $grid-gutter-large-horizontal; + padding-right: $grid-gutter-large-horizontal; + } + + .uk-grid-divider:empty { + margin-top: $grid-gutter-large-vertical; + margin-bottom: $grid-gutter-large-vertical; + } + +} + +/* + * Vertical divider + */ + +.uk-grid-divider:empty { + margin-top: $grid-gutter-vertical; + margin-bottom: $grid-gutter-vertical; + border-top: $grid-divider-border-width solid $grid-divider-border; +} + +/* Match panels in grids + ========================================================================== */ + +/* + * 1. Behave like a block element + */ + +.uk-grid-match > * { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + /* 1 */ + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; +} + +.uk-grid-match > * > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + box-sizing: border-box; + width: 100%; +} + + +/* Even grid cell widths + ========================================================================== */ + +[class*='uk-grid-width'] > * { + box-sizing: border-box; + width: 100%; +} + +.uk-grid-width-1-2 > * { width: 50%; } +.uk-grid-width-1-3 > * { width: 33.333%; } +.uk-grid-width-1-4 > * { width: 25%; } +.uk-grid-width-1-5 > * { width: 20%; } +.uk-grid-width-1-6 > * { width: 16.666%; } +.uk-grid-width-1-10 > * { width: 10%; } + +.uk-grid-width-auto > * { width: auto; } + +/* Phone landscape and bigger */ +@media (min-width: $breakpoint-small) { + + .uk-grid-width-small-1-1 > * { width: 100%; } + .uk-grid-width-small-1-2 > * { width: 50%; } + .uk-grid-width-small-1-3 > * { width: 33.333%; } + .uk-grid-width-small-1-4 > * { width: 25%; } + .uk-grid-width-small-1-5 > * { width: 20%; } + .uk-grid-width-small-1-6 > * { width: 16.666%; } + .uk-grid-width-small-1-10 > * { width: 10%; } + +} + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + .uk-grid-width-medium-1-1 > * { width: 100%; } + .uk-grid-width-medium-1-2 > * { width: 50%; } + .uk-grid-width-medium-1-3 > * { width: 33.333%; } + .uk-grid-width-medium-1-4 > * { width: 25%; } + .uk-grid-width-medium-1-5 > * { width: 20%; } + .uk-grid-width-medium-1-6 > * { width: 16.666%; } + .uk-grid-width-medium-1-10 > * { width: 10%; } + +} + +/* Desktop and bigger */ +@media (min-width: $breakpoint-large) { + + .uk-grid-width-large-1-1 > * { width: 100%; } + .uk-grid-width-large-1-2 > * { width: 50%; } + .uk-grid-width-large-1-3 > * { width: 33.333%; } + .uk-grid-width-large-1-4 > * { width: 25%; } + .uk-grid-width-large-1-5 > * { width: 20%; } + .uk-grid-width-large-1-6 > * { width: 16.666%; } + .uk-grid-width-large-1-10 > * { width: 10%; } + +} + +/* Large screen and bigger */ +@media (min-width: $breakpoint-xlarge) { + + .uk-grid-width-xlarge-1-1 > * { width: 100%; } + .uk-grid-width-xlarge-1-2 > * { width: 50%; } + .uk-grid-width-xlarge-1-3 > * { width: 33.333%; } + .uk-grid-width-xlarge-1-4 > * { width: 25%; } + .uk-grid-width-xlarge-1-5 > * { width: 20%; } + .uk-grid-width-xlarge-1-6 > * { width: 16.666%; } + .uk-grid-width-xlarge-1-10 > * { width: 10%; } + +} + + +/* Sub-objects: `uk-width-*` + ========================================================================== */ + +[class*='uk-width'] { + box-sizing: border-box; + width: 100%; +} + +/* + * Widths + */ + +/* Whole */ +.uk-width-1-1 { width: 100%; } + +/* Halves */ +.uk-width-1-2, +.uk-width-2-4, +.uk-width-3-6, +.uk-width-5-10 { width: 50%; } + +/* Thirds */ +.uk-width-1-3, +.uk-width-2-6 { width: 33.333%; } +.uk-width-2-3, +.uk-width-4-6 { width: 66.666%; } + +/* Quarters */ +.uk-width-1-4 { width: 25%; } +.uk-width-3-4 { width: 75%; } + +/* Fifths */ +.uk-width-1-5, +.uk-width-2-10 { width: 20%; } +.uk-width-2-5, +.uk-width-4-10 { width: 40%; } +.uk-width-3-5, +.uk-width-6-10 { width: 60%; } +.uk-width-4-5, +.uk-width-8-10 { width: 80%; } + +/* Sixths */ +.uk-width-1-6 { width: 16.666%; } +.uk-width-5-6 { width: 83.333%; } + +/* Tenths */ +.uk-width-1-10 { width: 10%; } +.uk-width-3-10 { width: 30%; } +.uk-width-7-10 { width: 70%; } +.uk-width-9-10 { width: 90%; } + +/* Phone landscape and bigger */ +@media (min-width: $breakpoint-small) { + + /* Whole */ + .uk-width-small-1-1 { width: 100%; } + + /* Halves */ + .uk-width-small-1-2, + .uk-width-small-2-4, + .uk-width-small-3-6, + .uk-width-small-5-10 { width: 50%; } + + /* Thirds */ + .uk-width-small-1-3, + .uk-width-small-2-6 { width: 33.333%; } + .uk-width-small-2-3, + .uk-width-small-4-6 { width: 66.666%; } + + /* Quarters */ + .uk-width-small-1-4 { width: 25%; } + .uk-width-small-3-4 { width: 75%; } + + /* Fifths */ + .uk-width-small-1-5, + .uk-width-small-2-10 { width: 20%; } + .uk-width-small-2-5, + .uk-width-small-4-10 { width: 40%; } + .uk-width-small-3-5, + .uk-width-small-6-10 { width: 60%; } + .uk-width-small-4-5, + .uk-width-small-8-10 { width: 80%; } + + /* Sixths */ + .uk-width-small-1-6 { width: 16.666%; } + .uk-width-small-5-6 { width: 83.333%; } + + /* Tenths */ + .uk-width-small-1-10 { width: 10%; } + .uk-width-small-3-10 { width: 30%; } + .uk-width-small-7-10 { width: 70%; } + .uk-width-small-9-10 { width: 90%; } + +} + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + /* Whole */ + .uk-width-medium-1-1 { width: 100%; } + + /* Halves */ + .uk-width-medium-1-2, + .uk-width-medium-2-4, + .uk-width-medium-3-6, + .uk-width-medium-5-10 { width: 50%; } + + /* Thirds */ + .uk-width-medium-1-3, + .uk-width-medium-2-6 { width: 33.333%; } + .uk-width-medium-2-3, + .uk-width-medium-4-6 { width: 66.666%; } + + /* Quarters */ + .uk-width-medium-1-4 { width: 25%; } + .uk-width-medium-3-4 { width: 75%; } + + /* Fifths */ + .uk-width-medium-1-5, + .uk-width-medium-2-10 { width: 20%; } + .uk-width-medium-2-5, + .uk-width-medium-4-10 { width: 40%; } + .uk-width-medium-3-5, + .uk-width-medium-6-10 { width: 60%; } + .uk-width-medium-4-5, + .uk-width-medium-8-10 { width: 80%; } + + /* Sixths */ + .uk-width-medium-1-6 { width: 16.666%; } + .uk-width-medium-5-6 { width: 83.333%; } + + /* Tenths */ + .uk-width-medium-1-10 { width: 10%; } + .uk-width-medium-3-10 { width: 30%; } + .uk-width-medium-7-10 { width: 70%; } + .uk-width-medium-9-10 { width: 90%; } + +} + +/* Desktop and bigger */ +@media (min-width: $breakpoint-large) { + + /* Whole */ + .uk-width-large-1-1 { width: 100%; } + + /* Halves */ + .uk-width-large-1-2, + .uk-width-large-2-4, + .uk-width-large-3-6, + .uk-width-large-5-10 { width: 50%; } + + /* Thirds */ + .uk-width-large-1-3, + .uk-width-large-2-6 { width: 33.333%; } + .uk-width-large-2-3, + .uk-width-large-4-6 { width: 66.666%; } + + /* Quarters */ + .uk-width-large-1-4 { width: 25%; } + .uk-width-large-3-4 { width: 75%; } + + /* Fifths */ + .uk-width-large-1-5, + .uk-width-large-2-10 { width: 20%; } + .uk-width-large-2-5, + .uk-width-large-4-10 { width: 40%; } + .uk-width-large-3-5, + .uk-width-large-6-10 { width: 60%; } + .uk-width-large-4-5, + .uk-width-large-8-10 { width: 80%; } + + /* Sixths */ + .uk-width-large-1-6 { width: 16.666%; } + .uk-width-large-5-6 { width: 83.333%; } + + /* Tenths */ + .uk-width-large-1-10 { width: 10%; } + .uk-width-large-3-10 { width: 30%; } + .uk-width-large-7-10 { width: 70%; } + .uk-width-large-9-10 { width: 90%; } + +} + +/* Large screen and bigger */ +@media (min-width: $breakpoint-xlarge) { + + /* Whole */ + .uk-width-xlarge-1-1 { width: 100%; } + + /* Halves */ + .uk-width-xlarge-1-2, + .uk-width-xlarge-2-4, + .uk-width-xlarge-3-6, + .uk-width-xlarge-5-10 { width: 50%; } + + /* Thirds */ + .uk-width-xlarge-1-3, + .uk-width-xlarge-2-6 { width: 33.333%; } + .uk-width-xlarge-2-3, + .uk-width-xlarge-4-6 { width: 66.666%; } + + /* Quarters */ + .uk-width-xlarge-1-4 { width: 25%; } + .uk-width-xlarge-3-4 { width: 75%; } + + /* Fifths */ + .uk-width-xlarge-1-5, + .uk-width-xlarge-2-10 { width: 20%; } + .uk-width-xlarge-2-5, + .uk-width-xlarge-4-10 { width: 40%; } + .uk-width-xlarge-3-5, + .uk-width-xlarge-6-10 { width: 60%; } + .uk-width-xlarge-4-5, + .uk-width-xlarge-8-10 { width: 80%; } + + /* Sixths */ + .uk-width-xlarge-1-6 { width: 16.666%; } + .uk-width-xlarge-5-6 { width: 83.333%; } + + /* Tenths */ + .uk-width-xlarge-1-10 { width: 10%; } + .uk-width-xlarge-3-10 { width: 30%; } + .uk-width-xlarge-7-10 { width: 70%; } + .uk-width-xlarge-9-10 { width: 90%; } + +} + + +/* Sub-object: `uk-push-*` and `uk-pull-*` + ========================================================================== */ + +/* + * Source ordering + * Works only with `uk-width-medium-*` + */ + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + [class*='uk-push-'], + [class*='uk-pull-'] { position: relative; } + + /* + * Push + */ + + /* Halves */ + .uk-push-1-2, + .uk-push-2-4, + .uk-push-3-6, + .uk-push-5-10 { left: 50%; } + + /* Thirds */ + .uk-push-1-3, + .uk-push-2-6 { left: 33.333%; } + .uk-push-2-3, + .uk-push-4-6 { left: 66.666%; } + + /* Quarters */ + .uk-push-1-4 { left: 25%; } + .uk-push-3-4 { left: 75%; } + + /* Fifths */ + .uk-push-1-5, + .uk-push-2-10 { left: 20%; } + .uk-push-2-5, + .uk-push-4-10 { left: 40%; } + .uk-push-3-5, + .uk-push-6-10 { left: 60%; } + .uk-push-4-5, + .uk-push-8-10 { left: 80%; } + + /* Sixths */ + .uk-push-1-6 { left: 16.666%; } + .uk-push-5-6 { left: 83.333%; } + + /* Tenths */ + .uk-push-1-10 { left: 10%; } + .uk-push-3-10 { left: 30%; } + .uk-push-7-10 { left: 70%; } + .uk-push-9-10 { left: 90%; } + + /* + * Pull + */ + + /* Halves */ + .uk-pull-1-2, + .uk-pull-2-4, + .uk-pull-3-6, + .uk-pull-5-10 { left: -50%; } + + /* Thirds */ + .uk-pull-1-3, + .uk-pull-2-6 { left: -33.333%; } + .uk-pull-2-3, + .uk-pull-4-6 { left: -66.666%; } + + /* Quarters */ + .uk-pull-1-4 { left: -25%; } + .uk-pull-3-4 { left: -75%; } + + /* Fifths */ + .uk-pull-1-5, + .uk-pull-2-10 { left: -20%; } + .uk-pull-2-5, + .uk-pull-4-10 { left: -40%; } + .uk-pull-3-5, + .uk-pull-6-10 { left: -60%; } + .uk-pull-4-5, + .uk-pull-8-10 { left: -80%; } + + /* Sixths */ + .uk-pull-1-6 { left: -16.666%; } + .uk-pull-5-6 { left: -83.333%; } + + /* Tenths */ + .uk-pull-1-10 { left: -10%; } + .uk-pull-3-10 { left: -30%; } + .uk-pull-7-10 { left: -70%; } + .uk-pull-9-10 { left: -90%; } + +} + + +// Hooks +// ======================================================================== + +@include hook-grid-misc(); + +// @mixin hook-grid-misc(){} diff --git a/bower_components/uikit/scss/core/icon.scss b/bower_components/uikit/scss/core/icon.scss new file mode 100644 index 0000000..410f746 --- /dev/null +++ b/bower_components/uikit/scss/core/icon.scss @@ -0,0 +1,989 @@ +// Name: Icon +// Description: Defines styles for icons +// +// Adapted from http://fortawesome.github.com/Font-Awesome (Version 4.6.0) +// +// Component: `uk-icon-*` +// +// Sub-objects: `uk-icon-hover` +// `uk-icon-button` +// +// Modifiers: `uk-icon-small` +// `uk-icon-medium` +// `uk-icon-large` +// `uk-icon-justify` +// `uk-icon-spin` +// +// Uses: Animation +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$icon-font-path: "../fonts" !default; + +$icon-small-font-size: 150% !default; +$icon-medium-font-size: 200% !default; +$icon-large-font-size: 250% !default; + +$icon-small-vertical-align: -10% !default; +$icon-medium-vertical-align: -16% !default; +$icon-large-vertical-align: -22% !default; + +$icon-hover-color: #999 !default; +$icon-hover-hover-color: #444 !default; + +$icon-button-width: 35px !default; +$icon-button-height: $icon-button-width !default; +$icon-button-border-radius: 100% !default; +$icon-button-background: #eee !default; +$icon-button-font-size: round(($icon-button-width * 0.5)) !default; +$icon-button-color: #444 !default; + +$icon-button-hover-background: #f5f5f5 !default; +$icon-button-hover-color: #444 !default; + +$icon-button-active-background: #ddd !default; +$icon-button-active-color: #444 !default; + + +/* ======================================================================== + Component: Icon + ========================================================================== */ + +@font-face { + font-family: 'FontAwesome'; + src: url("#{$icon-font-path}/fontawesome-webfont.woff2") format('woff2'), + url("#{$icon-font-path}/fontawesome-webfont.woff") format("woff"), + url("#{$icon-font-path}/fontawesome-webfont.ttf") format("truetype"); + font-weight: normal; + font-style: normal; +} + +/* + * 1. Allow margin + * 2. Prevent inherit font style + * 4. Correct line-height + * 5. Better font rendering + * 6. Remove `text-decoration` for anchors + */ + +[class*='uk-icon-'] { + font-family: FontAwesome; + /* 1 */ + display: inline-block; + /* 2 */ + font-weight: normal; + font-style: normal; + /* 4 */ + line-height: 1; + /* 5 */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* 6 */ +[class*='uk-icon-'], +[class*='uk-icon-']:hover, +[class*='uk-icon-']:focus { text-decoration: none; } + + +/* Size modifiers + ========================================================================== */ + +.uk-icon-small { + font-size: $icon-small-font-size; + vertical-align: $icon-small-vertical-align; +} + +.uk-icon-medium { + font-size: $icon-medium-font-size; + vertical-align: $icon-medium-vertical-align; +} + +.uk-icon-large { + font-size: $icon-large-font-size; + vertical-align: $icon-large-vertical-align; +} + + +/* Modifier: `uk-icon-justify` + ========================================================================== */ + +.uk-icon-justify { + width: 1em; + text-align: center; +} + + +/* Modifier: `uk-icon-spin` + ========================================================================== */ + +.uk-icon-spin { + display: inline-block; + -webkit-animation: uk-rotate 2s infinite linear; + animation: uk-rotate 2s infinite linear; +} + + +/* Modifier: `uk-icon-hover` + ========================================================================== */ + +.uk-icon-hover { + color: $icon-hover-color; + @include hook-icon-hover(); +} + +/* + * Hover + */ + +.uk-icon-hover:hover { + color: $icon-hover-hover-color; + @include hook-icon-hover-hover(); +} + + +/* Modifier: `uk-icon-button` + ========================================================================== */ + +.uk-icon-button { + box-sizing: border-box; + display: inline-block; + width: $icon-button-width; + height: $icon-button-height; + border-radius: $icon-button-border-radius; + background: $icon-button-background; + line-height: $icon-button-height; + color: $icon-button-color; + font-size: $icon-button-font-size; + text-align: center; + @include hook-icon-button(); +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-icon-button:hover, +.uk-icon-button:focus { // 1 + background-color: $icon-button-hover-background; + color: $icon-button-hover-color; + /* 2 */ + outline: none; + @include hook-icon-button-hover(); +} + +/* Active */ +.uk-icon-button:active { + background-color: $icon-button-active-background; + color: $icon-button-active-color; + @include hook-icon-button-active(); +} + + +/* Icon mapping + ========================================================================== */ + +.uk-icon-glass:before { content: "\f000"; } +.uk-icon-music:before { content: "\f001"; } +.uk-icon-search:before { content: "\f002"; } +.uk-icon-envelope-o:before { content: "\f003"; } +.uk-icon-heart:before { content: "\f004"; } +.uk-icon-star:before { content: "\f005"; } +.uk-icon-star-o:before { content: "\f006"; } +.uk-icon-user:before { content: "\f007"; } +.uk-icon-film:before { content: "\f008"; } +.uk-icon-th-large:before { content: "\f009"; } +.uk-icon-th:before { content: "\f00a"; } +.uk-icon-th-list:before { content: "\f00b"; } +.uk-icon-check:before { content: "\f00c"; } +.uk-icon-remove:before, +.uk-icon-close:before, +.uk-icon-times:before { content: "\f00d"; } +.uk-icon-search-plus:before { content: "\f00e"; } +.uk-icon-search-minus:before { content: "\f010"; } +.uk-icon-power-off:before { content: "\f011"; } +.uk-icon-signal:before { content: "\f012"; } +.uk-icon-gear:before, +.uk-icon-cog:before { content: "\f013"; } +.uk-icon-trash-o:before { content: "\f014"; } +.uk-icon-home:before { content: "\f015"; } +.uk-icon-file-o:before { content: "\f016"; } +.uk-icon-clock-o:before { content: "\f017"; } +.uk-icon-road:before { content: "\f018"; } +.uk-icon-download:before { content: "\f019"; } +.uk-icon-arrow-circle-o-down:before { content: "\f01a"; } +.uk-icon-arrow-circle-o-up:before { content: "\f01b"; } +.uk-icon-inbox:before { content: "\f01c"; } +.uk-icon-play-circle-o:before { content: "\f01d"; } +.uk-icon-rotate-right:before, +.uk-icon-repeat:before { content: "\f01e"; } +.uk-icon-refresh:before { content: "\f021"; } +.uk-icon-list-alt:before { content: "\f022"; } +.uk-icon-lock:before { content: "\f023"; } +.uk-icon-flag:before { content: "\f024"; } +.uk-icon-headphones:before { content: "\f025"; } +.uk-icon-volume-off:before { content: "\f026"; } +.uk-icon-volume-down:before { content: "\f027"; } +.uk-icon-volume-up:before { content: "\f028"; } +.uk-icon-qrcode:before { content: "\f029"; } +.uk-icon-barcode:before { content: "\f02a"; } +.uk-icon-tag:before { content: "\f02b"; } +.uk-icon-tags:before { content: "\f02c"; } +.uk-icon-book:before { content: "\f02d"; } +.uk-icon-bookmark:before { content: "\f02e"; } +.uk-icon-print:before { content: "\f02f"; } +.uk-icon-camera:before { content: "\f030"; } +.uk-icon-font:before { content: "\f031"; } +.uk-icon-bold:before { content: "\f032"; } +.uk-icon-italic:before { content: "\f033"; } +.uk-icon-text-height:before { content: "\f034"; } +.uk-icon-text-width:before { content: "\f035"; } +.uk-icon-align-left:before { content: "\f036"; } +.uk-icon-align-center:before { content: "\f037"; } +.uk-icon-align-right:before { content: "\f038"; } +.uk-icon-align-justify:before { content: "\f039"; } +.uk-icon-list:before { content: "\f03a"; } +.uk-icon-dedent:before, +.uk-icon-outdent:before { content: "\f03b"; } +.uk-icon-indent:before { content: "\f03c"; } +.uk-icon-video-camera:before { content: "\f03d"; } +.uk-icon-photo:before, +.uk-icon-image:before, +.uk-icon-picture-o:before { content: "\f03e"; } +.uk-icon-pencil:before { content: "\f040"; } +.uk-icon-map-marker:before { content: "\f041"; } +.uk-icon-adjust:before { content: "\f042"; } +.uk-icon-tint:before { content: "\f043"; } +.uk-icon-edit:before, +.uk-icon-pencil-square-o:before { content: "\f044"; } +.uk-icon-share-square-o:before { content: "\f045"; } +.uk-icon-check-square-o:before { content: "\f046"; } +.uk-icon-arrows:before { content: "\f047"; } +.uk-icon-step-backward:before { content: "\f048"; } +.uk-icon-fast-backward:before { content: "\f049"; } +.uk-icon-backward:before { content: "\f04a"; } +.uk-icon-play:before { content: "\f04b"; } +.uk-icon-pause:before { content: "\f04c"; } +.uk-icon-stop:before { content: "\f04d"; } +.uk-icon-forward:before { content: "\f04e"; } +.uk-icon-fast-forward:before { content: "\f050"; } +.uk-icon-step-forward:before { content: "\f051"; } +.uk-icon-eject:before { content: "\f052"; } +.uk-icon-chevron-left:before { content: "\f053"; } +.uk-icon-chevron-right:before { content: "\f054"; } +.uk-icon-plus-circle:before { content: "\f055"; } +.uk-icon-minus-circle:before { content: "\f056"; } +.uk-icon-times-circle:before { content: "\f057"; } +.uk-icon-check-circle:before { content: "\f058"; } +.uk-icon-question-circle:before { content: "\f059"; } +.uk-icon-info-circle:before { content: "\f05a"; } +.uk-icon-crosshairs:before { content: "\f05b"; } +.uk-icon-times-circle-o:before { content: "\f05c"; } +.uk-icon-check-circle-o:before { content: "\f05d"; } +.uk-icon-ban:before { content: "\f05e"; } +.uk-icon-arrow-left:before { content: "\f060"; } +.uk-icon-arrow-right:before { content: "\f061"; } +.uk-icon-arrow-up:before { content: "\f062"; } +.uk-icon-arrow-down:before { content: "\f063"; } +.uk-icon-mail-forward:before, +.uk-icon-share:before { content: "\f064"; } +.uk-icon-expand:before { content: "\f065"; } +.uk-icon-compress:before { content: "\f066"; } +.uk-icon-plus:before { content: "\f067"; } +.uk-icon-minus:before { content: "\f068"; } +.uk-icon-asterisk:before { content: "\f069"; } +.uk-icon-exclamation-circle:before { content: "\f06a"; } +.uk-icon-gift:before { content: "\f06b"; } +.uk-icon-leaf:before { content: "\f06c"; } +.uk-icon-fire:before { content: "\f06d"; } +.uk-icon-eye:before { content: "\f06e"; } +.uk-icon-eye-slash:before { content: "\f070"; } +.uk-icon-warning:before, +.uk-icon-exclamation-triangle:before { content: "\f071"; } +.uk-icon-plane:before { content: "\f072"; } +.uk-icon-calendar:before { content: "\f073"; } +.uk-icon-random:before { content: "\f074"; } +.uk-icon-comment:before { content: "\f075"; } +.uk-icon-magnet:before { content: "\f076"; } +.uk-icon-chevron-up:before { content: "\f077"; } +.uk-icon-chevron-down:before { content: "\f078"; } +.uk-icon-retweet:before { content: "\f079"; } +.uk-icon-shopping-cart:before { content: "\f07a"; } +.uk-icon-folder:before { content: "\f07b"; } +.uk-icon-folder-open:before { content: "\f07c"; } +.uk-icon-arrows-v:before { content: "\f07d"; } +.uk-icon-arrows-h:before { content: "\f07e"; } +.uk-icon-bar-chart-o:before, +.uk-icon-bar-chart:before { content: "\f080"; } +.uk-icon-twitter-square:before { content: "\f081"; } +.uk-icon-facebook-square:before { content: "\f082"; } +.uk-icon-camera-retro:before { content: "\f083"; } +.uk-icon-key:before { content: "\f084"; } +.uk-icon-gears:before, +.uk-icon-cogs:before { content: "\f085"; } +.uk-icon-comments:before { content: "\f086"; } +.uk-icon-thumbs-o-up:before { content: "\f087"; } +.uk-icon-thumbs-o-down:before { content: "\f088"; } +.uk-icon-star-half:before { content: "\f089"; } +.uk-icon-heart-o:before { content: "\f08a"; } +.uk-icon-sign-out:before { content: "\f08b"; } +.uk-icon-linkedin-square:before { content: "\f08c"; } +.uk-icon-thumb-tack:before { content: "\f08d"; } +.uk-icon-external-link:before { content: "\f08e"; } +.uk-icon-sign-in:before { content: "\f090"; } +.uk-icon-trophy:before { content: "\f091"; } +.uk-icon-github-square:before { content: "\f092"; } +.uk-icon-upload:before { content: "\f093"; } +.uk-icon-lemon-o:before { content: "\f094"; } +.uk-icon-phone:before { content: "\f095"; } +.uk-icon-square-o:before { content: "\f096"; } +.uk-icon-bookmark-o:before { content: "\f097"; } +.uk-icon-phone-square:before { content: "\f098"; } +.uk-icon-twitter:before { content: "\f099"; } +.uk-icon-facebook-f:before, +.uk-icon-facebook:before { content: "\f09a"; } +.uk-icon-github:before { content: "\f09b"; } +.uk-icon-unlock:before { content: "\f09c"; } +.uk-icon-credit-card:before { content: "\f09d"; } +.uk-icon-rss:before { content: "\f09e"; } +.uk-icon-hdd-o:before { content: "\f0a0"; } +.uk-icon-bullhorn:before { content: "\f0a1"; } +.uk-icon-bell:before { content: "\f0f3"; } +.uk-icon-certificate:before { content: "\f0a3"; } +.uk-icon-hand-o-right:before { content: "\f0a4"; } +.uk-icon-hand-o-left:before { content: "\f0a5"; } +.uk-icon-hand-o-up:before { content: "\f0a6"; } +.uk-icon-hand-o-down:before { content: "\f0a7"; } +.uk-icon-arrow-circle-left:before { content: "\f0a8"; } +.uk-icon-arrow-circle-right:before { content: "\f0a9"; } +.uk-icon-arrow-circle-up:before { content: "\f0aa"; } +.uk-icon-arrow-circle-down:before { content: "\f0ab"; } +.uk-icon-globe:before { content: "\f0ac"; } +.uk-icon-wrench:before { content: "\f0ad"; } +.uk-icon-tasks:before { content: "\f0ae"; } +.uk-icon-filter:before { content: "\f0b0"; } +.uk-icon-briefcase:before { content: "\f0b1"; } +.uk-icon-arrows-alt:before { content: "\f0b2"; } +.uk-icon-group:before, +.uk-icon-users:before { content: "\f0c0"; } +.uk-icon-chain:before, +.uk-icon-link:before { content: "\f0c1"; } +.uk-icon-cloud:before { content: "\f0c2"; } +.uk-icon-flask:before { content: "\f0c3"; } +.uk-icon-cut:before, +.uk-icon-scissors:before { content: "\f0c4"; } +.uk-icon-copy:before, +.uk-icon-files-o:before { content: "\f0c5"; } +.uk-icon-paperclip:before { content: "\f0c6"; } +.uk-icon-save:before, +.uk-icon-floppy-o:before { content: "\f0c7"; } +.uk-icon-square:before { content: "\f0c8"; } +.uk-icon-navicon:before, +.uk-icon-reorder:before, +.uk-icon-bars:before { content: "\f0c9"; } +.uk-icon-list-ul:before { content: "\f0ca"; } +.uk-icon-list-ol:before { content: "\f0cb"; } +.uk-icon-strikethrough:before { content: "\f0cc"; } +.uk-icon-underline:before { content: "\f0cd"; } +.uk-icon-table:before { content: "\f0ce"; } +.uk-icon-magic:before { content: "\f0d0"; } +.uk-icon-truck:before { content: "\f0d1"; } +.uk-icon-pinterest:before { content: "\f0d2"; } +.uk-icon-pinterest-square:before { content: "\f0d3"; } +.uk-icon-google-plus-square:before { content: "\f0d4"; } +.uk-icon-google-plus:before { content: "\f0d5"; } +.uk-icon-money:before { content: "\f0d6"; } +.uk-icon-caret-down:before { content: "\f0d7"; } +.uk-icon-caret-up:before { content: "\f0d8"; } +.uk-icon-caret-left:before { content: "\f0d9"; } +.uk-icon-caret-right:before { content: "\f0da"; } +.uk-icon-columns:before { content: "\f0db"; } +.uk-icon-unsorted:before, +.uk-icon-sort:before { content: "\f0dc"; } +.uk-icon-sort-down:before, +.uk-icon-sort-desc:before { content: "\f0dd"; } +.uk-icon-sort-up:before, +.uk-icon-sort-asc:before { content: "\f0de"; } +.uk-icon-envelope:before { content: "\f0e0"; } +.uk-icon-linkedin:before { content: "\f0e1"; } +.uk-icon-rotate-left:before, +.uk-icon-undo:before { content: "\f0e2"; } +.uk-icon-legal:before, +.uk-icon-gavel:before { content: "\f0e3"; } +.uk-icon-dashboard:before, +.uk-icon-tachometer:before { content: "\f0e4"; } +.uk-icon-comment-o:before { content: "\f0e5"; } +.uk-icon-comments-o:before { content: "\f0e6"; } +.uk-icon-flash:before, +.uk-icon-bolt:before { content: "\f0e7"; } +.uk-icon-sitemap:before { content: "\f0e8"; } +.uk-icon-umbrella:before { content: "\f0e9"; } +.uk-icon-paste:before, +.uk-icon-clipboard:before { content: "\f0ea"; } +.uk-icon-lightbulb-o:before { content: "\f0eb"; } +.uk-icon-exchange:before { content: "\f0ec"; } +.uk-icon-cloud-download:before { content: "\f0ed"; } +.uk-icon-cloud-upload:before { content: "\f0ee"; } +.uk-icon-user-md:before { content: "\f0f0"; } +.uk-icon-stethoscope:before { content: "\f0f1"; } +.uk-icon-suitcase:before { content: "\f0f2"; } +.uk-icon-bell-o:before { content: "\f0a2"; } +.uk-icon-coffee:before { content: "\f0f4"; } +.uk-icon-cutlery:before { content: "\f0f5"; } +.uk-icon-file-text-o:before { content: "\f0f6"; } +.uk-icon-building-o:before { content: "\f0f7"; } +.uk-icon-hospital-o:before { content: "\f0f8"; } +.uk-icon-ambulance:before { content: "\f0f9"; } +.uk-icon-medkit:before { content: "\f0fa"; } +.uk-icon-fighter-jet:before { content: "\f0fb"; } +.uk-icon-beer:before { content: "\f0fc"; } +.uk-icon-h-square:before { content: "\f0fd"; } +.uk-icon-plus-square:before { content: "\f0fe"; } +.uk-icon-angle-double-left:before { content: "\f100"; } +.uk-icon-angle-double-right:before { content: "\f101"; } +.uk-icon-angle-double-up:before { content: "\f102"; } +.uk-icon-angle-double-down:before { content: "\f103"; } +.uk-icon-angle-left:before { content: "\f104"; } +.uk-icon-angle-right:before { content: "\f105"; } +.uk-icon-angle-up:before { content: "\f106"; } +.uk-icon-angle-down:before { content: "\f107"; } +.uk-icon-desktop:before { content: "\f108"; } +.uk-icon-laptop:before { content: "\f109"; } +.uk-icon-tablet:before { content: "\f10a"; } +.uk-icon-mobile-phone:before, +.uk-icon-mobile:before { content: "\f10b"; } +.uk-icon-circle-o:before { content: "\f10c"; } +.uk-icon-quote-left:before { content: "\f10d"; } +.uk-icon-quote-right:before { content: "\f10e"; } +.uk-icon-spinner:before { content: "\f110"; } +.uk-icon-circle:before { content: "\f111"; } +.uk-icon-mail-reply:before, +.uk-icon-reply:before { content: "\f112"; } +.uk-icon-github-alt:before { content: "\f113"; } +.uk-icon-folder-o:before { content: "\f114"; } +.uk-icon-folder-open-o:before { content: "\f115"; } +.uk-icon-smile-o:before { content: "\f118"; } +.uk-icon-frown-o:before { content: "\f119"; } +.uk-icon-meh-o:before { content: "\f11a"; } +.uk-icon-gamepad:before { content: "\f11b"; } +.uk-icon-keyboard-o:before { content: "\f11c"; } +.uk-icon-flag-o:before { content: "\f11d"; } +.uk-icon-flag-checkered:before { content: "\f11e"; } +.uk-icon-terminal:before { content: "\f120"; } +.uk-icon-code:before { content: "\f121"; } +.uk-icon-mail-reply-all:before, +.uk-icon-reply-all:before { content: "\f122"; } +.uk-icon-star-half-empty:before, +.uk-icon-star-half-full:before, +.uk-icon-star-half-o:before { content: "\f123"; } +.uk-icon-location-arrow:before { content: "\f124"; } +.uk-icon-crop:before { content: "\f125"; } +.uk-icon-code-fork:before { content: "\f126"; } +.uk-icon-unlink:before, +.uk-icon-chain-broken:before { content: "\f127"; } +.uk-icon-question:before { content: "\f128"; } +.uk-icon-info:before { content: "\f129"; } +.uk-icon-exclamation:before { content: "\f12a"; } +.uk-icon-superscript:before { content: "\f12b"; } +.uk-icon-subscript:before { content: "\f12c"; } +.uk-icon-eraser:before { content: "\f12d"; } +.uk-icon-puzzle-piece:before { content: "\f12e"; } +.uk-icon-microphone:before { content: "\f130"; } +.uk-icon-microphone-slash:before { content: "\f131"; } +.uk-icon-shield:before { content: "\f132"; } +.uk-icon-calendar-o:before { content: "\f133"; } +.uk-icon-fire-extinguisher:before { content: "\f134"; } +.uk-icon-rocket:before { content: "\f135"; } +.uk-icon-maxcdn:before { content: "\f136"; } +.uk-icon-chevron-circle-left:before { content: "\f137"; } +.uk-icon-chevron-circle-right:before { content: "\f138"; } +.uk-icon-chevron-circle-up:before { content: "\f139"; } +.uk-icon-chevron-circle-down:before { content: "\f13a"; } +.uk-icon-html5:before { content: "\f13b"; } +.uk-icon-css3:before { content: "\f13c"; } +.uk-icon-anchor:before { content: "\f13d"; } +.uk-icon-unlock-alt:before { content: "\f13e"; } +.uk-icon-bullseye:before { content: "\f140"; } +.uk-icon-ellipsis-h:before { content: "\f141"; } +.uk-icon-ellipsis-v:before { content: "\f142"; } +.uk-icon-rss-square:before { content: "\f143"; } +.uk-icon-play-circle:before { content: "\f144"; } +.uk-icon-ticket:before { content: "\f145"; } +.uk-icon-minus-square:before { content: "\f146"; } +.uk-icon-minus-square-o:before { content: "\f147"; } +.uk-icon-level-up:before { content: "\f148"; } +.uk-icon-level-down:before { content: "\f149"; } +.uk-icon-check-square:before { content: "\f14a"; } +.uk-icon-pencil-square:before { content: "\f14b"; } +.uk-icon-external-link-square:before { content: "\f14c"; } +.uk-icon-share-square:before { content: "\f14d"; } +.uk-icon-compass:before { content: "\f14e"; } +.uk-icon-toggle-down:before, +.uk-icon-caret-square-o-down:before { content: "\f150"; } +.uk-icon-toggle-up:before, +.uk-icon-caret-square-o-up:before { content: "\f151"; } +.uk-icon-toggle-right:before, +.uk-icon-caret-square-o-right:before { content: "\f152"; } +.uk-icon-euro:before, +.uk-icon-eur:before { content: "\f153"; } +.uk-icon-gbp:before { content: "\f154"; } +.uk-icon-dollar:before, +.uk-icon-usd:before { content: "\f155"; } +.uk-icon-rupee:before, +.uk-icon-inr:before { content: "\f156"; } +.uk-icon-cny:before, +.uk-icon-rmb:before, +.uk-icon-yen:before, +.uk-icon-jpy:before { content: "\f157"; } +.uk-icon-ruble:before, +.uk-icon-rouble:before, +.uk-icon-rub:before { content: "\f158"; } +.uk-icon-won:before, +.uk-icon-krw:before { content: "\f159"; } +.uk-icon-bitcoin:before, +.uk-icon-btc:before { content: "\f15a"; } +.uk-icon-file:before { content: "\f15b"; } +.uk-icon-file-text:before { content: "\f15c"; } +.uk-icon-sort-alpha-asc:before { content: "\f15d"; } +.uk-icon-sort-alpha-desc:before { content: "\f15e"; } +.uk-icon-sort-amount-asc:before { content: "\f160"; } +.uk-icon-sort-amount-desc:before { content: "\f161"; } +.uk-icon-sort-numeric-asc:before { content: "\f162"; } +.uk-icon-sort-numeric-desc:before { content: "\f163"; } +.uk-icon-thumbs-up:before { content: "\f164"; } +.uk-icon-thumbs-down:before { content: "\f165"; } +.uk-icon-youtube-square:before { content: "\f166"; } +.uk-icon-youtube:before { content: "\f167"; } +.uk-icon-xing:before { content: "\f168"; } +.uk-icon-xing-square:before { content: "\f169"; } +.uk-icon-youtube-play:before { content: "\f16a"; } +.uk-icon-dropbox:before { content: "\f16b"; } +.uk-icon-stack-overflow:before { content: "\f16c"; } +.uk-icon-instagram:before { content: "\f16d"; } +.uk-icon-flickr:before { content: "\f16e"; } +.uk-icon-adn:before { content: "\f170"; } +.uk-icon-bitbucket:before { content: "\f171"; } +.uk-icon-bitbucket-square:before { content: "\f172"; } +.uk-icon-tumblr:before { content: "\f173"; } +.uk-icon-tumblr-square:before { content: "\f174"; } +.uk-icon-long-arrow-down:before { content: "\f175"; } +.uk-icon-long-arrow-up:before { content: "\f176"; } +.uk-icon-long-arrow-left:before { content: "\f177"; } +.uk-icon-long-arrow-right:before { content: "\f178"; } +.uk-icon-apple:before { content: "\f179"; } +.uk-icon-windows:before { content: "\f17a"; } +.uk-icon-android:before { content: "\f17b"; } +.uk-icon-linux:before { content: "\f17c"; } +.uk-icon-dribbble:before { content: "\f17d"; } +.uk-icon-skype:before { content: "\f17e"; } +.uk-icon-foursquare:before { content: "\f180"; } +.uk-icon-trello:before { content: "\f181"; } +.uk-icon-female:before { content: "\f182"; } +.uk-icon-male:before { content: "\f183"; } +.uk-icon-gittip:before, +.uk-icon-gratipay:before { content: "\f184"; } +.uk-icon-sun-o:before { content: "\f185"; } +.uk-icon-moon-o:before { content: "\f186"; } +.uk-icon-archive:before { content: "\f187"; } +.uk-icon-bug:before { content: "\f188"; } +.uk-icon-vk:before { content: "\f189"; } +.uk-icon-weibo:before { content: "\f18a"; } +.uk-icon-renren:before { content: "\f18b"; } +.uk-icon-pagelines:before { content: "\f18c"; } +.uk-icon-stack-exchange:before { content: "\f18d"; } +.uk-icon-arrow-circle-o-right:before { content: "\f18e"; } +.uk-icon-arrow-circle-o-left:before { content: "\f190"; } +.uk-icon-toggle-left:before, +.uk-icon-caret-square-o-left:before { content: "\f191"; } +.uk-icon-dot-circle-o:before { content: "\f192"; } +.uk-icon-wheelchair:before { content: "\f193"; } +.uk-icon-vimeo-square:before { content: "\f194"; } +.uk-icon-turkish-lira:before, +.uk-icon-try:before { content: "\f195"; } +.uk-icon-plus-square-o:before { content: "\f196"; } +.uk-icon-space-shuttle:before { content: "\f197"; } +.uk-icon-slack:before { content: "\f198"; } +.uk-icon-envelope-square:before { content: "\f199"; } +.uk-icon-wordpress:before { content: "\f19a"; } +.uk-icon-openid:before { content: "\f19b"; } +.uk-icon-institution:before, +.uk-icon-bank:before, +.uk-icon-university:before { content: "\f19c"; } +.uk-icon-mortar-board:before, +.uk-icon-graduation-cap:before { content: "\f19d"; } +.uk-icon-yahoo:before { content: "\f19e"; } +.uk-icon-google:before { content: "\f1a0"; } +.uk-icon-reddit:before { content: "\f1a1"; } +.uk-icon-reddit-square:before { content: "\f1a2"; } +.uk-icon-stumbleupon-circle:before { content: "\f1a3"; } +.uk-icon-stumbleupon:before { content: "\f1a4"; } +.uk-icon-delicious:before { content: "\f1a5"; } +.uk-icon-digg:before { content: "\f1a6"; } +.uk-icon-pied-piper:before { content: "\f1a7"; } +.uk-icon-pied-piper-alt:before { content: "\f1a8"; } +.uk-icon-drupal:before { content: "\f1a9"; } +.uk-icon-joomla:before { content: "\f1aa"; } +.uk-icon-language:before { content: "\f1ab"; } +.uk-icon-fax:before { content: "\f1ac"; } +.uk-icon-building:before { content: "\f1ad"; } +.uk-icon-child:before { content: "\f1ae"; } +.uk-icon-paw:before { content: "\f1b0"; } +.uk-icon-spoon:before { content: "\f1b1"; } +.uk-icon-cube:before { content: "\f1b2"; } +.uk-icon-cubes:before { content: "\f1b3"; } +.uk-icon-behance:before { content: "\f1b4"; } +.uk-icon-behance-square:before { content: "\f1b5"; } +.uk-icon-steam:before { content: "\f1b6"; } +.uk-icon-steam-square:before { content: "\f1b7"; } +.uk-icon-recycle:before { content: "\f1b8"; } +.uk-icon-automobile:before, +.uk-icon-car:before { content: "\f1b9"; } +.uk-icon-cab:before, +.uk-icon-taxi:before { content: "\f1ba"; } +.uk-icon-tree:before { content: "\f1bb"; } +.uk-icon-spotify:before { content: "\f1bc"; } +.uk-icon-deviantart:before { content: "\f1bd"; } +.uk-icon-soundcloud:before { content: "\f1be"; } +.uk-icon-database:before { content: "\f1c0"; } +.uk-icon-file-pdf-o:before { content: "\f1c1"; } +.uk-icon-file-word-o:before { content: "\f1c2"; } +.uk-icon-file-excel-o:before { content: "\f1c3"; } +.uk-icon-file-powerpoint-o:before { content: "\f1c4"; } +.uk-icon-file-photo-o:before, +.uk-icon-file-picture-o:before, +.uk-icon-file-image-o:before { content: "\f1c5"; } +.uk-icon-file-zip-o:before, +.uk-icon-file-archive-o:before { content: "\f1c6"; } +.uk-icon-file-sound-o:before, +.uk-icon-file-audio-o:before { content: "\f1c7"; } +.uk-icon-file-movie-o:before, +.uk-icon-file-video-o:before { content: "\f1c8"; } +.uk-icon-file-code-o:before { content: "\f1c9"; } +.uk-icon-vine:before { content: "\f1ca"; } +.uk-icon-codepen:before { content: "\f1cb"; } +.uk-icon-jsfiddle:before { content: "\f1cc"; } +.uk-icon-life-bouy:before, +.uk-icon-life-buoy:before, +.uk-icon-life-saver:before, +.uk-icon-support:before, +.uk-icon-life-ring:before { content: "\f1cd"; } +.uk-icon-circle-o-notch:before { content: "\f1ce"; } +.uk-icon-ra:before, +.uk-icon-rebel:before { content: "\f1d0"; } +.uk-icon-ge:before, +.uk-icon-empire:before { content: "\f1d1"; } +.uk-icon-git-square:before { content: "\f1d2"; } +.uk-icon-git:before { content: "\f1d3"; } +.uk-icon-hacker-news:before { content: "\f1d4"; } +.uk-icon-tencent-weibo:before { content: "\f1d5"; } +.uk-icon-qq:before { content: "\f1d6"; } +.uk-icon-wechat:before, +.uk-icon-weixin:before { content: "\f1d7"; } +.uk-icon-send:before, +.uk-icon-paper-plane:before { content: "\f1d8"; } +.uk-icon-send-o:before, +.uk-icon-paper-plane-o:before { content: "\f1d9"; } +.uk-icon-history:before { content: "\f1da"; } +.uk-icon-genderless:before, +.uk-icon-circle-thin:before { content: "\f1db"; } +.uk-icon-header:before { content: "\f1dc"; } +.uk-icon-paragraph:before { content: "\f1dd"; } +.uk-icon-sliders:before { content: "\f1de"; } +.uk-icon-share-alt:before { content: "\f1e0"; } +.uk-icon-share-alt-square:before { content: "\f1e1"; } +.uk-icon-bomb:before { content: "\f1e2"; } +.uk-icon-soccer-ball-o:before, +.uk-icon-futbol-o:before { content: "\f1e3"; } +.uk-icon-tty:before { content: "\f1e4"; } +.uk-icon-binoculars:before { content: "\f1e5"; } +.uk-icon-plug:before { content: "\f1e6"; } +.uk-icon-slideshare:before { content: "\f1e7"; } +.uk-icon-twitch:before { content: "\f1e8"; } +.uk-icon-yelp:before { content: "\f1e9"; } +.uk-icon-newspaper-o:before { content: "\f1ea"; } +.uk-icon-wifi:before { content: "\f1eb"; } +.uk-icon-calculator:before { content: "\f1ec"; } +.uk-icon-paypal:before { content: "\f1ed"; } +.uk-icon-google-wallet:before { content: "\f1ee"; } +.uk-icon-cc-visa:before { content: "\f1f0"; } +.uk-icon-cc-mastercard:before { content: "\f1f1"; } +.uk-icon-cc-discover:before { content: "\f1f2"; } +.uk-icon-cc-amex:before { content: "\f1f3"; } +.uk-icon-cc-paypal:before { content: "\f1f4"; } +.uk-icon-cc-stripe:before { content: "\f1f5"; } +.uk-icon-bell-slash:before { content: "\f1f6"; } +.uk-icon-bell-slash-o:before { content: "\f1f7"; } +.uk-icon-trash:before { content: "\f1f8"; } +.uk-icon-copyright:before { content: "\f1f9"; } +.uk-icon-at:before { content: "\f1fa"; } +.uk-icon-eyedropper:before { content: "\f1fb"; } +.uk-icon-paint-brush:before { content: "\f1fc"; } +.uk-icon-birthday-cake:before { content: "\f1fd"; } +.uk-icon-area-chart:before { content: "\f1fe"; } +.uk-icon-pie-chart:before { content: "\f200"; } +.uk-icon-line-chart:before { content: "\f201"; } +.uk-icon-lastfm:before { content: "\f202"; } +.uk-icon-lastfm-square:before { content: "\f203"; } +.uk-icon-toggle-off:before { content: "\f204"; } +.uk-icon-toggle-on:before { content: "\f205"; } +.uk-icon-bicycle:before { content: "\f206"; } +.uk-icon-bus:before { content: "\f207"; } +.uk-icon-ioxhost:before { content: "\f208"; } +.uk-icon-angellist:before { content: "\f209"; } +.uk-icon-cc:before { content: "\f20a"; } +.uk-icon-shekel:before, +.uk-icon-sheqel:before, +.uk-icon-ils:before { content: "\f20b"; } +.uk-icon-meanpath:before { content: "\f20c"; } +.uk-icon-buysellads:before { content: "\f20d"; } +.uk-icon-connectdevelop:before { content: "\f20e"; } +.uk-icon-dashcube:before { content: "\f210"; } +.uk-icon-forumbee:before { content: "\f211"; } +.uk-icon-leanpub:before { content: "\f212"; } +.uk-icon-sellsy:before { content: "\f213"; } +.uk-icon-shirtsinbulk:before { content: "\f214"; } +.uk-icon-simplybuilt:before { content: "\f215"; } +.uk-icon-skyatlas:before { content: "\f216"; } +.uk-icon-cart-plus:before { content: "\f217"; } +.uk-icon-cart-arrow-down:before { content: "\f218"; } +.uk-icon-diamond:before { content: "\f219"; } +.uk-icon-ship:before { content: "\f21a"; } +.uk-icon-user-secret:before { content: "\f21b"; } +.uk-icon-motorcycle:before { content: "\f21c"; } +.uk-icon-street-view:before { content: "\f21d"; } +.uk-icon-heartbeat:before { content: "\f21e"; } +.uk-icon-venus:before { content: "\f221"; } +.uk-icon-mars:before { content: "\f222"; } +.uk-icon-mercury:before { content: "\f223"; } +.uk-icon-transgender:before { content: "\f224"; } +.uk-icon-transgender-alt:before { content: "\f225"; } +.uk-icon-venus-double:before { content: "\f226"; } +.uk-icon-mars-double:before { content: "\f227"; } +.uk-icon-venus-mars:before { content: "\f228"; } +.uk-icon-mars-stroke:before { content: "\f229"; } +.uk-icon-mars-stroke-v:before { content: "\f22a"; } +.uk-icon-mars-stroke-h:before { content: "\f22b"; } +.uk-icon-neuter:before { content: "\f22c"; } +.uk-icon-facebook-official:before { content: "\f230"; } +.uk-icon-pinterest-p:before { content: "\f231"; } +.uk-icon-whatsapp:before { content: "\f232"; } +.uk-icon-server:before { content: "\f233"; } +.uk-icon-user-plus:before { content: "\f234"; } +.uk-icon-user-times:before { content: "\f235"; } +.uk-icon-hotel:before, +.uk-icon-bed:before { content: "\f236"; } +.uk-icon-viacoin:before { content: "\f237"; } +.uk-icon-train:before { content: "\f238"; } +.uk-icon-subway:before { content: "\f239"; } +.uk-icon-medium-logo:before { content: "\f23a"; } +.uk-icon-500px:before { content: "\f26e"; } +.uk-icon-amazon:before { content: "\f270"; } +.uk-icon-balance-scale:before { content: "\f24e"; } +.uk-icon-battery-empty:before, +.uk-icon-battery-0:before { content: "\f244"; } +.uk-icon-battery-quarter:before, +.uk-icon-battery-1:before { content: "\f243"; } +.uk-icon-battery-half:before, +.uk-icon-battery-2:before { content: "\f242"; } +.uk-icon-battery-three-quarters:before, +.uk-icon-battery-3:before { content: "\f241"; } +.uk-icon-battery-full:before, +.uk-icon-battery-4:before { content: "\f240"; } +.uk-icon-black-tie:before { content: "\f27e"; } +.uk-icon-calendar-check-o:before { content: "\f274"; } +.uk-icon-calendar-minus-o:before { content: "\f272"; } +.uk-icon-calendar-plus-o:before { content: "\f271"; } +.uk-icon-calendar-times-o:before { content: "\f273"; } +.uk-icon-cc-diners-club:before { content: "\f24c"; } +.uk-icon-cc-jcb:before { content: "\f24b"; } +.uk-icon-chrome:before { content: "\f268"; } +.uk-icon-clone:before { content: "\f24d"; } +.uk-icon-commenting:before { content: "\f27a"; } +.uk-icon-commenting-o:before { content: "\f27b"; } +.uk-icon-contao:before { content: "\f26d"; } +.uk-icon-creative-commons:before { content: "\f25e"; } +.uk-icon-expeditedssl:before { content: "\f23e"; } +.uk-icon-firefox:before { content: "\f269"; } +.uk-icon-fonticons:before { content: "\f280"; } +.uk-icon-get-pocket:before { content: "\f265"; } +.uk-icon-gg:before { content: "\f260"; } +.uk-icon-gg-circle:before { content: "\f261"; } +.uk-icon-hand-lizard-o:before { content: "\f258"; } +.uk-icon-hand-stop-o:before, +.uk-icon-hand-paper-o:before { content: "\f256"; } +.uk-icon-hand-peace-o:before { content: "\f25b"; } +.uk-icon-hand-pointer-o:before { content: "\f25a"; } +.uk-icon-hand-grab-o:before, +.uk-icon-hand-rock-o:before { content: "\f255"; } +.uk-icon-hand-scissors-o:before { content: "\f257"; } +.uk-icon-hand-spock-o:before { content: "\f259"; } +.uk-icon-hourglass:before { content: "\f254"; } +.uk-icon-hourglass-o:before { content: "\f250"; } +.uk-icon-hourglass-1:before, +.uk-icon-hourglass-start:before { content: "\f251"; } +.uk-icon-hourglass-2:before, +.uk-icon-hourglass-half:before { content: "\f252"; } +.uk-icon-hourglass-3:before, +.uk-icon-hourglass-end:before { content: "\f253"; } +.uk-icon-houzz:before { content: "\f27c"; } +.uk-icon-i-cursor:before { content: "\f246"; } +.uk-icon-industry:before { content: "\f275"; } +.uk-icon-internet-explorer:before { content: "\f26b"; } +.uk-icon-map:before { content: "\f279"; } +.uk-icon-map-o:before { content: "\f278"; } +.uk-icon-map-pin:before { content: "\f276"; } +.uk-icon-map-signs:before { content: "\f277"; } +.uk-icon-mouse-pointer:before { content: "\f245"; } +.uk-icon-object-group:before { content: "\f247"; } +.uk-icon-object-ungroup:before { content: "\f248"; } +.uk-icon-odnoklassniki:before { content: "\f263"; } +.uk-icon-odnoklassniki-square:before { content: "\f264"; } +.uk-icon-opencart:before { content: "\f23d"; } +.uk-icon-opera:before { content: "\f26a"; } +.uk-icon-optin-monster:before { content: "\f23c"; } +.uk-icon-registered:before { content: "\f25d"; } +.uk-icon-safari:before { content: "\f267"; } +.uk-icon-sticky-note:before { content: "\f249"; } +.uk-icon-sticky-note-o:before { content: "\f24a"; } +.uk-icon-tv:before, +.uk-icon-television:before { content: "\f26c"; } +.uk-icon-trademark:before { content: "\f25c"; } +.uk-icon-tripadvisor:before { content: "\f262"; } +.uk-icon-vimeo:before { content: "\f27d"; } +.uk-icon-wikipedia-w:before { content: "\f266"; } +.uk-icon-yc:before, +.uk-icon-y-combinator:before { content: "\f23b"; } +.uk-icon-yc-square:before, +.uk-icon-y-combinator-square:before { content: "\f1d4"; } +// added fa 4.5 +.uk-icon-bluetooth:before { content: "\f293"; } +.uk-icon-bluetooth-b:before { content: "\f294"; } +.uk-icon-codiepie:before { content: "\f284"; } +.uk-icon-credit-card-alt:before { content: "\f283"; } +.uk-icon-edge:before { content: "\f282"; } +.uk-icon-fort-awesome:before { content: "\f286"; } +.uk-icon-hashtag:before { content: "\f292"; } +.uk-icon-mixcloud:before { content: "\f289"; } +.uk-icon-modx:before { content: "\f285"; } +.uk-icon-pause-circle:before { content: "\f28b"; } +.uk-icon-pause-circle-o:before { content: "\f28c"; } +.uk-icon-percent:before { content: "\f295"; } +.uk-icon-product-hunt:before { content: "\f288"; } +.uk-icon-reddit-alien:before { content: "\f281"; } +.uk-icon-scribd:before { content: "\f28a"; } +.uk-icon-shopping-bag:before { content: "\f290"; } +.uk-icon-shopping-basket:before { content: "\f291"; } +.uk-icon-stop-circle:before { content: "\f28d"; } +.uk-icon-stop-circle-o:before { content: "\f28e"; } +.uk-icon-usb:before { content: "\f287"; } +// added fa 4.6 +.uk-icon-american-sign-language-interpreting:before, +.uk-icon-asl-interpreting:before { content: "\f2a3"; } +.uk-icon-assistive-listening-systems:before { content: "\f2a2"; } +.uk-icon-audio-description:before { content: "\f29e"; } +.uk-icon-blind:before { content: "\f29d"; } +.uk-icon-braille:before { content: "\f2a1"; } +.uk-icon-deaf:before, +.uk-icon-deafness:before { content: "\f2a4"; } +.uk-icon-envira:before { content: "\f299"; } +.uk-icon-font-awesome:before, +.uk-icon-fa:before { content: "\f2b4"; } +.uk-icon-first-order:before { content: "\f2b0"; } +.uk-icon-gitlab:before { content: "\f296"; } +.uk-icon-glide:before { content: "\f2a5"; } +.uk-icon-glide-g:before { content: "\f2a6"; } +.uk-icon-hard-of-hearing:before { content: "\f2a4"; } +.uk-icon-low-vision:before { content: "\f2a8"; } +.uk-icon-question-circle-o:before { content: "\f29c"; } +.uk-icon-sign-language:before, +.uk-icon-signing:before { content: "\f2a7"; } +.uk-icon-snapchat:before { content: "\f2ab"; } +.uk-icon-snapchat-ghost:before { content: "\f2ac"; } +.uk-icon-snapchat-square:before { content: "\f2ad"; } +.uk-icon-themeisle:before { content: "\f2b2"; } +.uk-icon-universal-access:before { content: "\f29a"; } +.uk-icon-viadeo:before { content: "\f2a9"; } +.uk-icon-viadeo-square:before { content: "\f2aa"; } +.uk-icon-volume-control-phone:before { content: "\f2a0"; } +.uk-icon-wheelchair-alt:before { content: "\f29b"; } +.uk-icon-wpbeginner:before { content: "\f297"; } +.uk-icon-wpforms:before { content: "\f298"; } +.uk-icon-yoast:before { content: "\f2b1"; } + +// added 4.7.0 +.uk-icon-adress-book:before { content: "\f2b9"; } +.uk-icon-adress-book-o:before { content: "\f2ba"; } +.uk-icon-adress-card:before { content: "\f2bb"; } +.uk-icon-adress-card-o:before { content: "\f2bc"; } +.uk-icon-bandcamp:before { content: "\f2d5"; } +.uk-icon-bath:before { content: "\f2cd"; } +.uk-icon-bathub:before { content: "\f2cd"; } +.uk-icon-drivers-license:before { content: "\f2c2"; } +.uk-icon-drivers-license-o:before { content: "\f2c3"; } +.uk-icon-eercast:before { content: "\f2da"; } +.uk-icon-envelope-open:before { content: "\f2b6"; } +.uk-icon-envelope-open-o:before { content: "\f2b7"; } +.uk-icon-etsy:before { content: "\f2d7"; } +.uk-icon-free-code-camp:before { content: "\f2c5"; } +.uk-icon-grav:before { content: "\f2d6"; } +.uk-icon-handshake-o:before { content: "\f2b5"; } +.uk-icon-id-badge:before { content: "\f2c1"; } +.uk-icon-id-card:before { content: "\f2c2"; } +.uk-icon-id-card-o:before { content: "\f2c3"; } +.uk-icon-imdb:before { content: "\f2d8"; } +.uk-icon-linode:before { content: "\f2b8"; } +.uk-icon-meetup:before { content: "\f2e0"; } +.uk-icon-microchip:before { content: "\f2db"; } +.uk-icon-podcast:before { content: "\f2ce"; } +.uk-icon-quora:before { content: "\f2c4"; } +.uk-icon-ravelry:before { content: "\f2d9"; } +.uk-icon-s15:before { content: "\f2cd"; } +.uk-icon-shower:before { content: "\f2cc"; } +.uk-icon-snowflake-o:before { content: "\f2dc"; } +.uk-icon-superpowers:before { content: "\f2dd"; } +.uk-icon-telegram:before { content: "\f2c6"; } +.uk-icon-thermometer:before { content: "\f2c7"; } +.uk-icon-thermometer-0:before { content: "\f2cb"; } +.uk-icon-thermometer-1:before { content: "\f2ca"; } +.uk-icon-thermometer-2:before { content: "\f2c9"; } +.uk-icon-thermometer-3:before { content: "\f2c8"; } +.uk-icon-thermometer-4:before { content: "\f2c7"; } +.uk-icon-thermometer-empty:before { content: "\f2cb"; } +.uk-icon-thermometer-full:before { content: "\f2c7"; } +.uk-icon-thermometer-half:before { content: "\f2c9"; } +.uk-icon-thermometer-quarter:before { content: "\f2ca"; } +.uk-icon-thermometer-three-quarters:before { content: "\f2c8"; } +.uk-icon-times-rectangle:before { content: "\f2d3"; } +.uk-icon-times-rectangle-o:before { content: "\f2d4"; } +.uk-icon-user-circle:before { content: "\f2bd"; } +.uk-icon-user-circle-o:before { content: "\f2be"; } +.uk-icon-user-o:before { content: "\f2c0"; } +.uk-icon-vcard:before { content: "\f2bb"; } +.uk-icon-vcard-o:before { content: "\f2bc"; } +.uk-icon-widow-close:before { content: "\f2d3"; } +.uk-icon-widow-close-o:before { content: "\f2d4"; } +.uk-icon-window-maximize:before { content: "\f2d0"; } +.uk-icon-window-minimize:before { content: "\f2d1"; } +.uk-icon-window-restore:before { content: "\f2d2"; } +.uk-icon-wpexplorer:before { content: "\f2de"; } + + + + +// Hooks +// ======================================================================== + +@include hook-icon-misc(); + +// @mixin hook-icon-hover(){} +// @mixin hook-icon-hover-hover(){} +// @mixin hook-icon-button(){} +// @mixin hook-icon-button-hover(){} +// @mixin hook-icon-button-active(){} +// @mixin hook-icon-misc(){} diff --git a/bower_components/uikit/scss/core/list.scss b/bower_components/uikit/scss/core/list.scss new file mode 100644 index 0000000..6b82b91 --- /dev/null +++ b/bower_components/uikit/scss/core/list.scss @@ -0,0 +1,102 @@ +// Name: List +// Description: Defines styles for ordered and unordered lists +// +// Component: `uk-list` +// +// Modifiers: `uk-list-line` +// `uk-list-striped` +// `uk-list-space` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$list-nested-padding-left: 20px !default; + +$list-line-margin-top: 5px !default; +$list-line-border: #ddd !default; +$list-line-border-width: 1px !default; + +$list-striped-padding-vertical: 5px !default; +$list-striped-padding-horizontal: 5px !default; +$list-striped-background: #f5f5f5 !default; + +$list-space-margin-top: 10px !default; + + +/* ======================================================================== + Component: List + ========================================================================== */ + +.uk-list { + padding: 0; + list-style: none; +} + +/* + * Micro clearfix to make list more robust + */ + +.uk-list > li:before, +.uk-list > li:after { + content: ""; + display: table; +} + +.uk-list > li:after { clear: both; } + +/* + * Remove margin from the last-child + */ + +.uk-list > li > :last-child { margin-bottom: 0; } + +/* + * Nested lists + */ + +.uk-list ul { + margin: 0; + padding-left: $list-nested-padding-left; + list-style: none; +} + + +/* Modifier: `uk-list-line` + ========================================================================== */ + +.uk-list-line > li:nth-child(n+2) { + margin-top: $list-line-margin-top; + padding-top: $list-line-margin-top; + border-top: $list-line-border-width solid $list-line-border; + @include hook-list-line(); +} + + +/* Modifier: `uk-list-striped` + ========================================================================== */ + +.uk-list-striped > li { + padding: $list-striped-padding-vertical $list-striped-padding-horizontal; + @include hook-list-striped(); +} + +.uk-list-striped > li:nth-of-type(odd) { background: $list-striped-background; } + + +/* Modifier: `uk-list-space` + ========================================================================== */ + +.uk-list-space > li:nth-child(n+2) { margin-top: $list-space-margin-top; } + + +// Hooks +// ======================================================================== + +@include hook-list-misc(); + +// @mixin hook-list-line(){} +// @mixin hook-list-striped(){} +// @mixin hook-list-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/modal.scss b/bower_components/uikit/scss/core/modal.scss new file mode 100644 index 0000000..1c15a55 --- /dev/null +++ b/bower_components/uikit/scss/core/modal.scss @@ -0,0 +1,343 @@ +// Name: Modal +// Description: Defines styles for modal dialogs +// +// Component: `uk-modal` +// +// Sub-objects: `uk-modal-dialog` +// `uk-modal-close` +// `uk-modal-header` +// `uk-modal-footer` +// `uk-modal-caption` +// `uk-modal-spinner` +// +// Modifiers: `uk-modal-dialog-lightbox` +// `uk-modal-dialog-blank` +// `uk-modal-dialog-large` +// +// States: `uk-open` +// +// Uses: Close: `uk-close` +// +// Markup: +// +// +// +// +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$modal-z-index: 1010 !default; +$modal-background: rgba(0,0,0,0.6) !default; + +$modal-dialog-margin-vertical: 50px !default; +$modal-dialog-padding: 20px !default; +$modal-dialog-width: 600px !default; +$modal-dialog-background: #fff !default; + +$modal-dialog-large-width: 930px !default; +$modal-dialog-large-width-large: 1130px !default; + +$modal-header-margin-bottom: 15px !default; + +$modal-footer-margin-top: 15px !default; + +$modal-caption-margin-bottom: -10px !default; +$modal-caption-color: #fff !default; + + +/* ======================================================================== + Component: Modal + ========================================================================== */ + +/* + * This is the modal overlay and modal dialog container + * 1. Hide by default + * 2. Set fixed position + * 3. Allow scrolling for the modal dialog + * 4. Mask the background page + * 5. Fade-in transition + * 6. Deactivate browser history navigation in IE11 + * 7. force hardware acceleration to prevent browser rendering hiccups + */ + +.uk-modal { + /* 1 */ + display: none; + /* 2 */ + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: $modal-z-index; + /* 3 */ + overflow-y: auto; + -webkit-overflow-scrolling: touch; + /* 4 */ + background: $modal-background; + /* 5 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + /* 6 */ + touch-action: cross-slide-y pinch-zoom double-tap-zoom; + /* 7 */ + -webkit-transform: translateZ(0); + transform: translateZ(0); + @include hook-modal(); +} + +/* + * Open state + */ + +.uk-modal.uk-open { opacity: 1; } + +/* + * Prevents duplicated scrollbar caused by 4. + */ + +.uk-modal-page, +.uk-modal-page body { overflow: hidden; } + + +/* Sub-object: `uk-modal-dialog` + ========================================================================== */ + +/* + * 1. Create position context for caption, spinner and close button + * 2. Set box sizing + * 3. Set style + * 4. Slide-in transition + */ + +.uk-modal-dialog { + /* 1 */ + position: relative; + /* 2 */ + box-sizing: border-box; + margin: $modal-dialog-margin-vertical auto; + padding: $modal-dialog-padding; + width: $modal-dialog-width; + max-width: 100%; + max-width: unquote("calc(100% - 20px)"); + /* 3 */ + background: $modal-dialog-background; + /* 4 */ + opacity: 0; + -webkit-transform: translateY(-100px); + transform: translateY(-100px); + -webkit-transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out; + transition: opacity 0.3s linear, transform 0.3s ease-out; + @include hook-modal-dialog(); +} + +/* Phone landscape and smaller */ +@media (max-width: $breakpoint-small-max) { + + /* + * Fit in small screen + */ + + .uk-modal-dialog { + width: auto; + margin: 10px auto; + } + +} + +/* + * Open state + */ + +.uk-open .uk-modal-dialog { + /* 4 */ + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); +} + +/* + * Remove margin from the last-child + */ + +.uk-modal-dialog > :not([class*='uk-modal-']):last-child { margin-bottom: 0; } + + +/* Close in modal + ========================================================================== */ + +.uk-modal-dialog > .uk-close:first-child { + margin: -10px -10px 0 0; + float: right; +} + +/* + * Remove margin from adjacent element + */ + + .uk-modal-dialog > .uk-close:first-child + :not([class*='uk-modal-']) { margin-top: 0; } + + +/* Modifier: `uk-modal-dialog-lightbox` + ========================================================================== */ + +.uk-modal-dialog-lightbox { + margin: 15px auto; + padding: 0; + max-width: 95%; + max-width: unquote("calc(100% - 30px)"); + min-height: 50px; + @include hook-modal-dialog-lightbox(); +} + +/* + * Close button + */ + +.uk-modal-dialog-lightbox > .uk-close:first-child { + position: absolute; + top: -12px; + right: -12px; + margin: 0; + float: none; +} + +/* Phone landscape and smaller */ +@media (max-width: $breakpoint-small-max) { + + .uk-modal-dialog-lightbox > .uk-close:first-child { + top: -7px; + right: -7px; + } + +} + +/* Modifier: `uk-modal-dialog-blank` + ========================================================================== */ + +.uk-modal-dialog-blank { + margin: 0; + padding: 0; + width: 100%; + max-width: 100%; + -webkit-transition: opacity 0.3s linear; + transition: opacity 0.3s linear; +} + +/* +* Close button +*/ + +.uk-modal-dialog-blank > .uk-close:first-child { + position: absolute; + top: 20px; + right: 20px; + z-index: 1; + margin: 0; + float: none; +} + + +/* Modifier: `uk-modal-dialog-large` + ========================================================================== */ + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + .uk-modal-dialog-large { width: $modal-dialog-large-width; } + +} + +/* Large screen and bigger */ +@media (min-width: $breakpoint-xlarge) { + + .uk-modal-dialog-large { width: $modal-dialog-large-width-large; } + +} + + +/* Sub-Object: `uk-modal-header` and `uk-modal-footer` + ========================================================================== */ + +.uk-modal-header { + margin-bottom: $modal-header-margin-bottom; + @include hook-modal-header(); +} + +.uk-modal-footer { + margin-top: $modal-footer-margin-top; + @include hook-modal-footer(); +} + +/* + * Remove margin from the last-child + */ + +.uk-modal-header > :last-child, +.uk-modal-footer > :last-child { margin-bottom: 0; } + + +/* Sub-Object: `uk-modal-caption` + ========================================================================== */ + +.uk-modal-caption { + position: absolute; + left: 0; + right: 0; + bottom: (-$modal-dialog-padding); + margin-bottom: $modal-caption-margin-bottom; + color: $modal-caption-color; + text-align: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + @include hook-modal-caption(); +} + + +/* Sub-Object: `uk-modal-spinner` + ========================================================================== */ + +.uk-modal-spinner { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); + font-size: 25px; + color: #ddd; + @include hook-modal-spinner(); +} + +.uk-modal-spinner:after { + content: "\f110"; + display: block; + font-family: FontAwesome; + -webkit-animation: uk-rotate 2s infinite linear; + animation: uk-rotate 2s infinite linear; +} + + +// Hooks +// ======================================================================== + +@include hook-modal-misc(); + +// @mixin hook-modal(){} +// @mixin hook-modal-dialog(){} +// @mixin hook-modal-dialog-lightbox(){} +// @mixin hook-modal-header(){} +// @mixin hook-modal-footer(){} +// @mixin hook-modal-caption(){} +// @mixin hook-modal-spinner(){} +// @mixin hook-modal-misc(){} diff --git a/bower_components/uikit/scss/core/nav.scss b/bower_components/uikit/scss/core/nav.scss new file mode 100644 index 0000000..7fb469f --- /dev/null +++ b/bower_components/uikit/scss/core/nav.scss @@ -0,0 +1,468 @@ +// Name: Nav +// Description: Defines styles for list navigations +// +// Component: `uk-nav` +// +// Sub-objects: `uk-nav-header` +// `uk-nav-divider` +// `uk-nav-sub` +// +// Modifiers: `uk-nav-parent-icon` +// `uk-nav-side` +// `uk-nav-dropdown` +// `uk-nav-navbar` +// `uk-nav-offcanvas` +// +// States: `uk-active` +// `uk-parent` +// `uk-open` +// `uk-touch` +// +// Uses: Icon: FontAwesome +// +// Used by: Panel +// Dropdown +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$nav-padding-vertical: 5px !default; +$nav-padding-horizontal: 15px !default; + +$nav-header-padding-vertical: $nav-padding-vertical !default; +$nav-header-padding-horizontal: $nav-padding-horizontal !default; +$nav-header-font-size: 12px !default; +$nav-header-font-weight: bold !default; +$nav-header-text-transform: uppercase !default; +$nav-header-margin-top: 15px !default; + +$nav-divider-margin-vertical: 9px !default; +$nav-divider-margin-horizontal: $nav-padding-horizontal !default; + +$nav-subtitle-font-size: 12px !default; +$nav-subtitle-line-height: 18px !default; + +$nav-nested-padding-left: 15px !default; +$nav-nested-padding-vertical: 2px !default; +$nav-nested-padding-horizontal: 0 !default; + +$nav-sub-padding-vertical: 5px !default; +$nav-sub-padding-left: $nav-padding-horizontal !default; + +$nav-parent-icon: "\f104" !default; +$nav-parent-open-icon: "\f107" !default; +$nav-parent-icon-width: 20px !default; +$nav-parent-icon-margin-right: -10px !default; + +$nav-side-color: #444 !default; +$nav-side-hover-background: rgba(0,0,0,0.05) !default; +$nav-side-hover-color: #444 !default; +$nav-side-active-background: #00a8e6 !default; +$nav-side-active-color: #fff !default; +$nav-side-header-color: #444 !default; +$nav-side-divider-border: #ddd !default; +$nav-side-divider-border-width: 1px !default; +$nav-side-nested-color: #07D !default; +$nav-side-nested-hover-color: #059 !default; + +$nav-dropdown-color: #444 !default; +$nav-dropdown-hover-background: #00a8e6 !default; +$nav-dropdown-hover-color: #fff !default; +$nav-dropdown-header-color: #999 !default; +$nav-dropdown-divider-border: #ddd !default; +$nav-dropdown-divider-border-width: 1px !default; +$nav-dropdown-nested-color: #07D !default; +$nav-dropdown-nested-hover-color: #059 !default; + +$nav-navbar-color: #444 !default; +$nav-navbar-hover-background: #00a8e6 !default; +$nav-navbar-hover-color: #fff !default; +$nav-navbar-header-color: #999 !default; +$nav-navbar-divider-border: #ddd !default; +$nav-navbar-divider-border-width: 1px !default; +$nav-navbar-nested-color: #07D !default; +$nav-navbar-nested-hover-color: #059 !default; + +$nav-offcanvas-padding-vertical: 10px !default; +$nav-offcanvas-padding-horizontal: 15px !default; +$nav-offcanvas-color: #ccc !default; +$nav-offcanvas-hover-background: #404040 !default; +$nav-offcanvas-hover-color: #fff !default; +$nav-offcanvas-active-background: #1a1a1a !default; +$nav-offcanvas-active-color: #fff !default; +$nav-offcanvas-header-color: #777 !default; +$nav-offcanvas-divider-border: #1a1a1a !default; +$nav-offcanvas-divider-border-width: 1px !default; +$nav-offcanvas-nested-color: #ccc !default; +$nav-offcanvas-nested-hover-color: #fff !default; + + +/* ======================================================================== + Component: Nav + ========================================================================== */ + +.uk-nav, +.uk-nav ul { + margin: 0; + padding: 0; + list-style: none; +} + +/* + * Items + */ + +.uk-nav li > a { + display: block; + text-decoration: none; +} + +.uk-nav > li > a { padding: $nav-padding-vertical $nav-padding-horizontal; } + +/* + * Nested items + */ + +.uk-nav ul { padding-left: $nav-nested-padding-left; } + +.uk-nav ul a { padding: $nav-nested-padding-vertical $nav-nested-padding-horizontal; } + +/* + * Item subtitle + */ + +.uk-nav li > a > div { + font-size: $nav-subtitle-font-size; + line-height: $nav-subtitle-line-height; +} + + +/* Sub-object: `uk-nav-header` + ========================================================================== */ + +.uk-nav-header { + padding: $nav-header-padding-vertical $nav-header-padding-horizontal; + text-transform: $nav-header-text-transform; + font-weight: $nav-header-font-weight; + font-size: $nav-header-font-size; + @include hook-nav-header(); +} + +.uk-nav-header:not(:first-child) { margin-top: $nav-header-margin-top; } + + +/* Sub-object: `uk-nav-divider` + ========================================================================== */ + +.uk-nav-divider { + margin: $nav-divider-margin-vertical $nav-divider-margin-horizontal; + @include hook-nav-divider(); +} + + +/* Sub-object: `uk-nav-sub` + ========================================================================== */ + +/* + * `ul` needed for higher specificity to override padding + */ + +ul.uk-nav-sub { + padding: $nav-sub-padding-vertical 0 $nav-sub-padding-vertical $nav-sub-padding-left; + @include hook-nav-sub(); +} + + +/* Modifier: `uk-nav-parent-icon` + ========================================================================== */ + +.uk-nav-parent-icon > .uk-parent > a:after { + content: $nav-parent-icon; + width: $nav-parent-icon-width; + margin-right: $nav-parent-icon-margin-right; + float: right; + font-family: FontAwesome; + text-align: center; + @include hook-nav-parent-icon(); +} + +.uk-nav-parent-icon > .uk-parent.uk-open > a:after { content: $nav-parent-open-icon; } + + +/* Modifier `uk-nav-side` + ========================================================================== */ + +/* + * Items + */ + +.uk-nav-side > li > a { + color: $nav-side-color; + @include hook-nav-side(); +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-nav-side > li > a:hover, +.uk-nav-side > li > a:focus { // 1 + background: $nav-side-hover-background; + color: $nav-side-hover-color; + /* 2 */ + outline: none; + @include hook-nav-side-hover(); +} + +/* Active */ +.uk-nav-side > li.uk-active > a { + background: $nav-side-active-background; + color: $nav-side-active-color; + @include hook-nav-side-active(); +} + +/* + * Sub-object: `uk-nav-header` + */ + +.uk-nav-side .uk-nav-header { + color: $nav-side-header-color; + @include hook-nav-side-header(); +} + +/* + * Sub-object: `uk-nav-divider` + */ + +.uk-nav-side .uk-nav-divider { + border-top: $nav-side-divider-border-width solid $nav-side-divider-border; + @include hook-nav-side-divider(); +} + +/* + * Nested items + */ + +.uk-nav-side ul a { color: $nav-side-nested-color; } +.uk-nav-side ul a:hover { color: $nav-side-nested-hover-color; } + + +/* Modifier `uk-nav-dropdown` + ========================================================================== */ + +/* + * Items + */ + +.uk-nav-dropdown > li > a { + color: $nav-dropdown-color; + @include hook-nav-dropdown(); +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-nav-dropdown > li > a:hover, +.uk-nav-dropdown > li > a:focus { // 1 + background: $nav-dropdown-hover-background; + color: $nav-dropdown-hover-color; + /* 2 */ + outline: none; + @include hook-nav-dropdown-hover(); +} + +/* + * Sub-object: `uk-nav-header` + */ + +.uk-nav-dropdown .uk-nav-header { + color: $nav-dropdown-header-color; + @include hook-nav-dropdown-header(); +} + +/* + * Sub-object: `uk-nav-divider` + */ + +.uk-nav-dropdown .uk-nav-divider { + border-top: $nav-dropdown-divider-border-width solid $nav-dropdown-divider-border; + @include hook-nav-dropdown-divider(); +} + +/* + * Nested items + */ + +.uk-nav-dropdown ul a { color: $nav-dropdown-nested-color; } +.uk-nav-dropdown ul a:hover { color: $nav-dropdown-nested-hover-color; } + + +/* Modifier `uk-nav-navbar` + ========================================================================== */ + +/* + * Items + */ + +.uk-nav-navbar > li > a { + color: $nav-navbar-color; + @include hook-nav-navbar(); +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-nav-navbar > li > a:hover, +.uk-nav-navbar > li > a:focus { // 1 + background: $nav-navbar-hover-background; + color: $nav-navbar-hover-color; + /* 2 */ + outline: none; + @include hook-nav-navbar-hover(); +} + +/* + * Sub-object: `uk-nav-header` + */ + +.uk-nav-navbar .uk-nav-header { + color: $nav-navbar-header-color; + @include hook-nav-navbar-header(); +} + +/* + * Sub-object: `uk-nav-divider` + */ + +.uk-nav-navbar .uk-nav-divider { + border-top: $nav-navbar-divider-border-width solid $nav-navbar-divider-border; + @include hook-nav-navbar-divider(); +} + +/* + * Nested items + */ + +.uk-nav-navbar ul a { color: $nav-navbar-nested-color; } +.uk-nav-navbar ul a:hover { color: $nav-navbar-nested-hover-color; } + + +/* Modifier `uk-nav-offcanvas` + ========================================================================== */ + +/* + * Items + */ + +.uk-nav-offcanvas > li > a { + color: $nav-offcanvas-color; + padding: $nav-offcanvas-padding-vertical $nav-offcanvas-padding-horizontal; + @include hook-nav-offcanvas(); +} + +/* + * Hover + * No hover on touch devices because it behaves buggy in fixed offcanvas + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-nav-offcanvas > .uk-open > a, +html:not(.uk-touch) .uk-nav-offcanvas > li > a:hover, +html:not(.uk-touch) .uk-nav-offcanvas > li > a:focus { // 1 + background: $nav-offcanvas-hover-background; + color: $nav-offcanvas-hover-color; + /* 2 */ + outline: none; + @include hook-nav-offcanvas-hover(); +} + +/* + * Active + * `html .uk-nav` needed for higher specificity to override hover + */ +html .uk-nav.uk-nav-offcanvas > li.uk-active > a { + background: $nav-offcanvas-active-background; + color: $nav-offcanvas-active-color; + @include hook-nav-offcanvas-active(); +} + +/* + * Sub-object: `uk-nav-header` + */ + +.uk-nav-offcanvas .uk-nav-header { + color: $nav-offcanvas-header-color; + @include hook-nav-offcanvas-header(); +} + +/* + * Sub-object: `uk-nav-divider` + */ + +.uk-nav-offcanvas .uk-nav-divider { + border-top: $nav-offcanvas-divider-border-width solid $nav-offcanvas-divider-border; + @include hook-nav-offcanvas-divider(); +} + +/* + * Nested items + * No hover on touch devices because it behaves buggy in fixed offcanvas + */ + +.uk-nav-offcanvas ul a { color: $nav-offcanvas-nested-color; } +html:not(.uk-touch) .uk-nav-offcanvas ul a:hover { color: $nav-offcanvas-nested-hover-color; } + + +// Hooks +// ======================================================================== + +@include hook-nav-misc(); + +// @mixin hook-nav-header(){} +// @mixin hook-nav-divider(){} +// @mixin hook-nav-sub(){} +// @mixin hook-nav-parent-icon(){} + +// @mixin hook-nav-side(){} +// @mixin hook-nav-side-hover(){} +// @mixin hook-nav-side-active(){} +// @mixin hook-nav-side-header(){} +// @mixin hook-nav-side-divider(){} + +// @mixin hook-nav-dropdown(){} +// @mixin hook-nav-dropdown-hover(){} +// @mixin hook-nav-dropdown-header(){} +// @mixin hook-nav-dropdown-divider(){} + +// @mixin hook-nav-navbar(){} +// @mixin hook-nav-navbar-hover(){} +// @mixin hook-nav-navbar-header(){} +// @mixin hook-nav-navbar-divider(){} + +// @mixin hook-nav-offcanvas(){} +// @mixin hook-nav-offcanvas-hover(){} +// @mixin hook-nav-offcanvas-active(){} +// @mixin hook-nav-offcanvas-header(){} +// @mixin hook-nav-offcanvas-divider(){} + +// @mixin hook-nav-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/navbar.scss b/bower_components/uikit/scss/core/navbar.scss new file mode 100644 index 0000000..8d29172 --- /dev/null +++ b/bower_components/uikit/scss/core/navbar.scss @@ -0,0 +1,325 @@ +// Name: Navbar +// Description: Defines styles for the navigation bar +// +// Component: `uk-navbar` +// +// Sub-objects: `uk-navbar-nav` +// `uk-navbar-nav-subtitle` +// `uk-navbar-content` +// `uk-navbar-brand` +// `uk-navbar-toggle` +// `uk-navbar-toggle-alt` +// `uk-navbar-center` +// `uk-navbar-flip` +// +// Modifiers: `uk-navbar-attached` +// +// States: `uk-active` +// `uk-parent` +// `uk-open` +// +// Used by: Dropdown +// +// Markup: +// +// +// +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$navbar-background: #eee !default; +$navbar-color: #444 !default; +$navbar-link-color: #07D !default; +$navbar-link-hover-color: #059 !default; + +$navbar-nav-height: 40px !default; +$navbar-nav-line-height: $navbar-nav-height !default; +$navbar-nav-padding-horizontal: 15px !default; +$navbar-nav-color: #444 !default; +$navbar-nav-font-size: 14px !default; +$navbar-nav-font-weight: normal !default; +$navbar-nav-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; +$navbar-nav-hover-background: #f5f5f5 !default; +$navbar-nav-hover-color: #444 !default; +$navbar-nav-onclick-background: #ddd !default; +$navbar-nav-onclick-color: #444 !default; +$navbar-nav-active-background: #f5f5f5 !default; +$navbar-nav-active-color: #444 !default; +$navbar-nav-subtitle-font-size: 10px !default; +$navbar-nav-subtitle-offset: 2px !default; + +$navbar-brand-font-size: 18px !default; +$navbar-brand-color: #444 !default; +$navbar-brand-hover-color: #444 !default; + +$navbar-toggle-font-size: 18px !default; +$navbar-toggle-color: #444 !default; +$navbar-toggle-hover-color: #444 !default; +$navbar-toggle-icon: "\f0c9" !default; +$navbar-toggle-icon-alt: "\f002" !default; + + +/* ======================================================================== + Component: Navbar + ========================================================================== */ + +.uk-navbar { + background: $navbar-background; + color: $navbar-color; + @include hook-navbar(); +} + +/* + * Micro clearfix + */ + +.uk-navbar:before, +.uk-navbar:after { + content: ""; + display: table; +} + +.uk-navbar:after { clear: both; } + + +/* Sub-object: `uk-navbar-nav` + ========================================================================== */ + +.uk-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} + +/* + * 1. Create position context for dropdowns + */ + +.uk-navbar-nav > li { + float: left; + /* 1 */ + position: relative; +} + +/* + * 1. Dimensions + * 2. Style + */ + +.uk-navbar-nav > li > a { + display: block; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: $navbar-nav-height; + padding: 0 $navbar-nav-padding-horizontal; + line-height: $navbar-nav-line-height; + /* 2 */ + color: $navbar-nav-color; + font-size: $navbar-nav-font-size; + font-family: $navbar-nav-font-family; + font-weight: $navbar-nav-font-weight; + @include hook-navbar-nav(); +} + +/* Appear not as link */ +.uk-navbar-nav > li > a[href='#'] { cursor: text; } + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Also apply if dropdown is opened + * 3. Remove default focus style + */ + +.uk-navbar-nav > li:hover > a, +.uk-navbar-nav > li > a:focus, // 1 +.uk-navbar-nav > li.uk-open > a { // 2 + background-color: $navbar-nav-hover-background; + color: $navbar-nav-hover-color; + /* 3 */ + outline: none; + @include hook-navbar-nav-hover(); +} + +/* OnClick */ +.uk-navbar-nav > li > a:active { + background-color: $navbar-nav-onclick-background; + color: $navbar-nav-onclick-color; + @include hook-navbar-nav-onclick(); +} + +/* Active */ +.uk-navbar-nav > li.uk-active > a { + background-color: $navbar-nav-active-background; + color: $navbar-nav-active-color; + @include hook-navbar-nav-active(); +} + + +/* Sub-objects: `uk-navbar-nav-subtitle` + ========================================================================== */ + +.uk-navbar-nav .uk-navbar-nav-subtitle { line-height: $navbar-nav-line-height - $navbar-nav-subtitle-font-size - $navbar-nav-subtitle-offset; } + +.uk-navbar-nav-subtitle > div { + margin-top: (($navbar-nav-line-height - $navbar-nav-subtitle-font-size - $navbar-nav-font-size) / -2) + $navbar-nav-subtitle-offset; + font-size: $navbar-nav-subtitle-font-size; + line-height: $navbar-nav-subtitle-font-size + $navbar-nav-subtitle-offset; +} + + +/* Sub-objects: `uk-navbar-content`, `uk-navbar-brand`, `uk-navbar-toggle` + ========================================================================== */ + +/* + * Imitate navbar items + */ + +.uk-navbar-content, +.uk-navbar-brand, +.uk-navbar-toggle { + box-sizing: border-box; + display: block; + height: $navbar-nav-height; + padding: 0 $navbar-nav-padding-horizontal; + float: left; + @include hook-navbar-content(); +} + +/* + * Helper to center all child elements vertically + */ + +.uk-navbar-content:before, +.uk-navbar-brand:before, +.uk-navbar-toggle:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} + + +/* Sub-objects: `uk-navbar-content` + ========================================================================== */ + +/* + * Better sibling spacing + */ + +.uk-navbar-content + .uk-navbar-content:not(.uk-navbar-center) { padding-left: 0; } + +/* + * Link colors + */ + +.uk-navbar-content > a:not([class]) { color: $navbar-link-color; } +.uk-navbar-content > a:not([class]):hover { color: $navbar-link-hover-color; } + + +/* Sub-objects: `uk-navbar-brand` + ========================================================================== */ + +.uk-navbar-brand { + font-size: $navbar-brand-font-size; + color: $navbar-brand-color; + text-decoration: none; +} + +/* + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-navbar-brand:hover, +.uk-navbar-brand:focus { // 1 + color: $navbar-brand-hover-color; + text-decoration: none; + /* 2 */ + outline: none; +} + + +/* Sub-object: `uk-navbar-toggle` + ========================================================================== */ + +.uk-navbar-toggle { + font-size: $navbar-toggle-font-size; + color: $navbar-toggle-color; + text-decoration: none; +} + +/* + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-navbar-toggle:hover, +.uk-navbar-toggle:focus { // 1 + color: $navbar-toggle-hover-color; + text-decoration: none; + /* 2 */ + outline: none; +} + +/* + * 1. Center icon vertically + */ + +.uk-navbar-toggle:after { + content: $navbar-toggle-icon; + font-family: FontAwesome; + /* 1 */ + vertical-align: middle; +} + +.uk-navbar-toggle-alt:after { content: $navbar-toggle-icon-alt; } + + +/* Sub-object: `uk-navbar-center` + ========================================================================== */ + +/* + * The element with this class needs to be last child in the navbar + * 1. This hack is needed because other float elements shift centered text + */ + +.uk-navbar-center { + float: none; + text-align: center; + /* 1 */ + max-width: 50%; + margin-left: auto; + margin-right: auto; +} + + +/* Sub-object: `uk-navbar-flip` + ========================================================================== */ + +.uk-navbar-flip { float: right; } + + +// Hooks +// ======================================================================== + +@include hook-navbar-misc(); + +// @mixin hook-navbar(){} +// @mixin hook-navbar-nav(){} +// @mixin hook-navbar-nav-hover(){} +// @mixin hook-navbar-nav-onclick(){} +// @mixin hook-navbar-nav-active(){} +// @mixin hook-navbar-content(){} +// @mixin hook-navbar-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/offcanvas.scss b/bower_components/uikit/scss/core/offcanvas.scss new file mode 100644 index 0000000..8f2a6f3 --- /dev/null +++ b/bower_components/uikit/scss/core/offcanvas.scss @@ -0,0 +1,203 @@ +// Name: Off-canvas +// Description: Defines styles for an off-canvas sidebar that slides in and out of the page +// +// Component: `uk-offcanvas` +// +// Sub-objects: `uk-offcanvas-page` +// `uk-offcanvas-bar` +// `uk-offcanvas-close` +// +// Modifiers: `uk-offcanvas-bar-flip` +// +// States: `uk-active` +// +// Uses: Panel: `uk-panel` +// +// Markup: +// +// +// Open +//
                  +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$offcanvas-z-index: 1000 !default; +$offcanvas-background: rgba(0,0,0,0.1) !default; + +$offcanvas-bar-width: 270px !default; +$offcanvas-bar-background: #333 !default; + +$offcanvas-panel-margin: 20px 15px !default; +$offcanvas-panel-color: #777 !default; +$offcanvas-panel-link-color: #ccc !default; +$offcanvas-panel-link-hover-color: #fff !default; +$offcanvas-panel-title-color: $offcanvas-panel-link-color !default; + + +/* ======================================================================== + Component: Off-canvas + ========================================================================== */ + +/* + * This is the offcanvas overlay and bar container + * 1. Hide by default + * 2. Set fixed position + * 3. Deactivate browser touch actions in IE11 + * 4. Mask the background page + */ + +.uk-offcanvas { + /* 1 */ + display: none; + /* 2 */ + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: $offcanvas-z-index; + /* 3 */ + touch-action: none; + /* 4 */ + background: $offcanvas-background; + @include hook-offcanvas(); +} + +.uk-offcanvas.uk-active { display: block; } + + +/* Sub-object `uk-offcanvas-page` + ========================================================================== */ + +/* + * Prepares the whole HTML page to slide-out + * 1. Fix the main page and disallow scrolling + * 2. Side-out transition + * 3. Needed for the transition to work instead of just letting it pop to the side + */ + +.uk-offcanvas-page { + /* 1 */ + position: fixed; + /* 2 */ + -webkit-transition: margin-left 0.3s ease-in-out; + transition: margin-left 0.3s ease-in-out; + /* 3 */ + margin-left: 0; +} + + +/* Sub-object `uk-offcanvas-bar` + ========================================================================== */ + +/* + * This is the offcanvas bar + * 1. Set fixed position + * 2. Size and style + * 3. Allow scrolling + * 4. Side-out transition + * 5. Deactivate scroll chaining in IE11 + */ + +.uk-offcanvas-bar { + /* 1 */ + position: fixed; + top: 0; + bottom: 0; + left: 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + z-index: $offcanvas-z-index + 1; + /* 2 */ + width: $offcanvas-bar-width; + max-width: 100%; + background: $offcanvas-bar-background; + /* 3 */ + overflow-y: auto; + -webkit-overflow-scrolling: touch; + /* 4 */ + -webkit-transition: -webkit-transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out; + /* 5 */ + -ms-scroll-chaining: none; + @include hook-offcanvas-bar(); +} + +.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show { + -webkit-transform: translateX(0%); + transform: translateX(0%); +} + +/* Modifier `uk-offcanvas-bar-flip` + ========================================================================== */ + +.uk-offcanvas-bar-flip { + left: auto; + right: 0; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +/* Offcanvase modes + ========================================================================== */ +.uk-offcanvas-bar[mode='none'] { + -webkit-transition: none; + transition: none; +} + +.uk-offcanvas-bar[mode='reveal']{ + -webkit-transform: translateX(0%); + transform: translateX(0%); + clip: rect(0, 0, 100vh, 0); + -webkit-transition: -webkit-transform 0.3s ease-in-out, clip 0.3s ease-in-out; + transition: transform 0.3s ease-in-out, clip 0.3s ease-in-out; +} + +.uk-offcanvas-bar-flip[mode='reveal']{ + clip: none; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +.uk-offcanvas-bar-flip[mode='reveal'] > * { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + -webkit-transition: -webkit-transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out; +} + +.uk-offcanvas.uk-active .uk-offcanvas-bar-flip[mode='reveal'].uk-offcanvas-bar-show > * { + -webkit-transform: translateX(0%); + transform: translateX(0%); +} + +/* Panel in offcanvas + ========================================================================== */ + +.uk-offcanvas .uk-panel { + margin: $offcanvas-panel-margin; + color: $offcanvas-panel-color; + @include hook-offcanvas-panel(); +} + +.uk-offcanvas .uk-panel-title { color: $offcanvas-panel-title-color; } + +.uk-offcanvas .uk-panel a:not([class]) { color: $offcanvas-panel-link-color; } +.uk-offcanvas .uk-panel a:not([class]):hover { color: $offcanvas-panel-link-hover-color; } + + +// Hooks +// ======================================================================== + +@include hook-offcanvas-misc(); + +// @mixin hook-offcanvas(){} +// @mixin hook-offcanvas-bar(){} +// @mixin hook-offcanvas-panel(){} +// @mixin hook-offcanvas-misc(){} diff --git a/bower_components/uikit/scss/core/overlay.scss b/bower_components/uikit/scss/core/overlay.scss new file mode 100644 index 0000000..6d4aa83 --- /dev/null +++ b/bower_components/uikit/scss/core/overlay.scss @@ -0,0 +1,534 @@ +// Name: Overlay +// Description: Defines styles for image overlays +// +// Component: `uk-overlay` +// +// Sub-objects: `uk-overlay-panel` +// `uk-overlay-hover` +// `uk-overlay-active` +// `uk-overlay-icon` +// +// Modifier: `uk-overlay-background` +// `uk-overlay-image` +// `uk-overlay-top` +// `uk-overlay-bottom` +// `uk-overlay-left` +// `uk-overlay-right` +// `uk-overlay-fade` +// `uk-overlay-scale` +// `uk-overlay-spin` +// `uk-overlay-grayscale` +// `uk-overlay-slide-top` +// `uk-overlay-slide-bottom` +// `uk-overlay-slide-left` +// `uk-overlay-slide-right` +// +// DEPRECATED: `uk-overlay-area` +// `uk-overlay-area-content` +// `uk-overlay-caption` +// `uk-overlay-toggle` +// +// States: `uk-hover` +// `uk-active` +// `uk-ignore` +// +// Uses: Icon: `[class*='uk-icon-']` +// `uk-border-circle` +// +// Markup: +// +// +//
                  +// +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$overlay-panel-padding: 20px !default; +$overlay-panel-color: #fff !default; + +$overlay-panel-background: rgba(0,0,0,0.5) !default; + +$overlay-icon: "\f002" !default; +$overlay-icon-size: 50px !default; +$overlay-icon-color: #fff !default; + +$overlay-fade-in-opacity: 1 !default; +$overlay-fade-out-opacity: 0.7 !default; + +$overlay-scale-in-scale: 1.1 !default; +$overlay-scale-out-scale: 1 !default; + +$overlay-spin-in-scale: 1.1 !default; +$overlay-spin-out-scale: 1 !default; +$overlay-spin-in-rotate: 3deg !default; +$overlay-spin-out-rotate: 0deg !default; + +$overlay-panel-link-color: inherit !default; +$overlay-panel-link-text-decoration: underline !default; + +// DEPRECATED +$overlay-area-background: rgba(0,0,0,0.3) !default; + +$overlay-area-icon: "\f002" !default; +$overlay-area-icon-size: 50px !default; +$overlay-area-icon-color: #fff !default; + +$overlay-area-content-font-size: 1rem !default; +$overlay-area-content-padding-horizontal: 15px !default; +$overlay-area-content-color: #fff !default; +$overlay-area-content-link-color: inherit !default; + +$overlay-caption-background: rgba(0,0,0,0.5) !default; +$overlay-caption-padding: 15px !default; +$overlay-caption-color: #fff !default; + + +/* ======================================================================== + Component: Overlay + ========================================================================== */ + +/* + * 1. Container width fits its content + * 2. Create position context + * 3. Set max-width for responsive images to prevent `inline-block` consequences + * 4. Remove the gap between the container and its child element + * 5. Needed for transitions and to fixed wrong scaling calculation for images in Chrome + * 6. Fixed `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit + * 7. Reset margin + */ + +.uk-overlay { + /* 1 */ + display: inline-block; + /* 2 */ + position: relative; + /* 3 */ + max-width: 100%; + /* 4 */ + vertical-align: middle; + /* 5 */ + overflow: hidden; + /* 6 */ + -webkit-transform: translateZ(0); + /* 7 */ + margin: 0; +} + +/* 6 for Safari */ +.uk-overlay.uk-border-circle { -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%); } + +/* + * Remove margin from content + */ + +.uk-overlay > :first-child { margin-bottom: 0; } + + +/* Sub-object `uk-overlay-panel` + ========================================================================== */ + +/* + * 1. Position cover + * 2. Style + */ + +.uk-overlay-panel { + /* 1 */ + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + padding: $overlay-panel-padding; + color: $overlay-panel-color; + @include hook-overlay-panel(); +} + +/* + * Remove margin from the last-child + */ + +.uk-overlay-panel > :last-child, +.uk-overlay-panel.uk-flex > * > :last-child { margin-bottom: 0; } + +/* + * Keep color for headings if the default heading color is changed + */ + +.uk-overlay-panel h1, +.uk-overlay-panel h2, +.uk-overlay-panel h3, +.uk-overlay-panel h4, +.uk-overlay-panel h5, +.uk-overlay-panel h6 { color: inherit; } + +.uk-overlay-panel a:not([class]) { + color: $overlay-panel-link-color; + text-decoration: $overlay-panel-link-text-decoration; +} + +.uk-overlay-panel a[class*='uk-icon-']:not(.uk-icon-button) { color: $overlay-panel-link-color; } + + +/* Sub-object `uk-overlay-hover` and `uk-overlay-active` + ========================================================================== */ + +.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore) { opacity: 0; } + +.uk-overlay-active :not(.uk-active) > .uk-overlay-panel:not(.uk-ignore) { opacity: 0; } + + +/* Modifier `uk-overlay-background` + ========================================================================== */ + +.uk-overlay-background { + background: $overlay-panel-background; + @include hook-overlay-background(); +} + + +/* Modifier `uk-overlay-image` + ========================================================================== */ + +/* + * Reset panel + */ + +.uk-overlay-image { + padding: 0; + @include hook-overlay-image(); +} + + +/* Position modifiers + ========================================================================== */ + +.uk-overlay-top { bottom: auto; } + +.uk-overlay-bottom { top: auto; } + +.uk-overlay-left { right: auto; } + +.uk-overlay-right { left: auto; } + + +/* Sub-object `uk-overlay-icon` + ========================================================================== */ + +.uk-overlay-icon:before { + content: $overlay-icon; + position: absolute; + top: 50%; + left: 50%; + width: $overlay-icon-size; + height: $overlay-icon-size; + margin-top: -($overlay-icon-size / 2); + margin-left: -($overlay-icon-size / 2); + font-size: $overlay-icon-size; + line-height: 1; + font-family: FontAwesome; + text-align: center; + color: $overlay-icon-color; + @include hook-overlay-icon(); +} + + +/* Transitions + ========================================================================== */ + +.uk-overlay-fade, +.uk-overlay-scale, +.uk-overlay-spin, +.uk-overlay-grayscale, +.uk-overlay-blur, +[class*='uk-overlay-slide'] { + transition-duration: 0.3s; + transition-timing-function: ease-out; + transition-property: opacity, transform, filter; +} + +.uk-overlay-active .uk-overlay-fade, +.uk-overlay-active .uk-overlay-scale, +.uk-overlay-active .uk-overlay-spin, +.uk-overlay-active [class*='uk-overlay-slide'] { transition-duration: 0.8s; } + +/* + * Fade + */ + +.uk-overlay-fade { opacity: $overlay-fade-out-opacity; } + +.uk-overlay-hover:hover .uk-overlay-fade, +.uk-overlay-hover.uk-hover .uk-overlay-fade, +.uk-overlay-active .uk-active > .uk-overlay-fade { opacity: $overlay-fade-in-opacity; } + +/* + * Scale + */ + +.uk-overlay-scale { + -webkit-transform: scale($overlay-scale-out-scale); + transform: scale($overlay-scale-out-scale); +} + +.uk-overlay-hover:hover .uk-overlay-scale, +.uk-overlay-hover.uk-hover .uk-overlay-scale, +.uk-overlay-active .uk-active > .uk-overlay-scale { + -webkit-transform: scale($overlay-scale-in-scale); + transform: scale($overlay-scale-in-scale); +} + +/* + * Spin + */ + +.uk-overlay-spin { + -webkit-transform: scale($overlay-spin-out-scale) rotate($overlay-spin-out-rotate); + transform: scale($overlay-spin-out-scale) rotate($overlay-spin-out-rotate); +} + +.uk-overlay-hover:hover .uk-overlay-spin, +.uk-overlay-hover.uk-hover .uk-overlay-spin, +.uk-overlay-active .uk-active > .uk-overlay-spin { + -webkit-transform: scale($overlay-spin-in-scale) rotate($overlay-spin-in-rotate); + transform: scale($overlay-spin-in-scale) rotate($overlay-spin-in-rotate); +} + +/* + * Grayscale + */ + +.uk-overlay-grayscale { + -webkit-filter: grayscale(100%); + filter: grayscale(100%); +} + +.uk-overlay-hover:hover .uk-overlay-grayscale, +.uk-overlay-hover.uk-hover .uk-overlay-grayscale, +.uk-overlay-active .uk-active > .uk-overlay-grayscale { + -webkit-filter: grayscale(0%); + filter: grayscale(0%); +} + +/* + * Slide + */ + +[class*='uk-overlay-slide'] { opacity: 0; } + +/* Top */ +.uk-overlay-slide-top { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); +} + +/* Bottom */ +.uk-overlay-slide-bottom { + -webkit-transform: translateY(100%); + transform: translateY(100%); +} + +/* Left */ +.uk-overlay-slide-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +/* Right */ +.uk-overlay-slide-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +/* Hover */ +.uk-overlay-hover:hover [class*='uk-overlay-slide'], +.uk-overlay-hover.uk-hover [class*='uk-overlay-slide'], +.uk-overlay-active .uk-active > [class*='uk-overlay-slide'] { + opacity: 1; + -webkit-transform: translateX(0) translateY(0); + transform: translateX(0) translateY(0); +} + + +/* DEPRECATED + * Sub-object `uk-overlay-area` + ========================================================================== */ + +/* + * 1. Set position + * 2. Set style + * 3. Fade-in transition + */ + +.uk-overlay-area { + /* 1 */ + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + background: $overlay-area-background; + /* 3 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + -webkit-transform: translate3d(0,0,0); + @include hook-overlay-area(); +} + +/* + * Hover + * 1. `uk-hover` to support touch devices + * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier + */ + +.uk-overlay:hover .uk-overlay-area, +.uk-overlay.uk-hover .uk-overlay-area, // 1 +.uk-overlay-toggle:hover .uk-overlay-area, // 2 +.uk-overlay-toggle.uk-hover .uk-overlay-area { opacity: 1; } + +/* + * Icon + */ + +.uk-overlay-area:empty:before { + content: $overlay-area-icon; + position: absolute; + top: 50%; + left: 50%; + width: $overlay-area-icon-size; + height: $overlay-area-icon-size; + margin-top: -($overlay-area-icon-size / 2); + margin-left: -($overlay-area-icon-size / 2); + font-size: $overlay-area-icon-size; + line-height: 1; + font-family: FontAwesome; + text-align: center; + color: $overlay-area-icon-color; + @include hook-overlay-area-icon(); +} + + +/* DEPRECATED + * Sub-object `uk-overlay-area-content` + ========================================================================== */ + +/* + * Remove whitespace between child elements when using `inline-block` + * Needed for Firefox + */ + +.uk-overlay-area:not(:empty) { font-size: 0.001px; } + +/* + * 1. Needed for vertical alignment + */ + +.uk-overlay-area:not(:empty):before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} + +/* + * 1. Set vertical alignment + * 2. Reset whitespace hack + * 3. Set horizontal alignment + * 4. Set style + */ + +.uk-overlay-area-content { + /* 1 */ + display: inline-block; + box-sizing: border-box; + width: 100%; + vertical-align: middle; + /* 2 */ + font-size: $overlay-area-content-font-size; + /* 3 */ + text-align: center; + /* 4 */ + padding: 0 $overlay-area-content-padding-horizontal; + color: $overlay-area-content-color; + @include hook-overlay-area-content(); +} + +/* + * Remove margin from the last-child + */ + +.uk-overlay-area-content > :last-child { margin-bottom: 0; } + +/* + * Links in overlay area + */ + +.uk-overlay-area-content a:not([class]), +.uk-overlay-area-content a:not([class]):hover { color: $overlay-area-content-link-color; } + + +/* DEPRECATED + * Sub-object `uk-overlay-caption` + ========================================================================== */ + +/* + * 1. Set position + * 2. Set style + * 3. Fade-in transition + */ + +.uk-overlay-caption { + /* 1 */ + position: absolute; + bottom: 0; + left: 0; + right: 0; + /* 2 */ + padding: $overlay-caption-padding; + background: $overlay-caption-background; + color: $overlay-caption-color; + /* 3 */ + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + -webkit-transform: translate3d(0,0,0); + @include hook-overlay-caption(); +} + +/* + * Hover + * 1. `uk-hover` to support touch devices + * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier + */ + +.uk-overlay:hover .uk-overlay-caption, +.uk-overlay.uk-hover .uk-overlay-caption, // 1 +.uk-overlay-toggle:hover .uk-overlay-caption, // 2 +.uk-overlay-toggle.uk-hover .uk-overlay-caption { opacity: 1; } + + +// Hooks +// ======================================================================== + +@include hook-overlay-misc(); + +// @mixin hook-overlay-panel(){} +// @mixin hook-overlay-background(){} +// @mixin hook-overlay-image(){} +// @mixin hook-overlay-icon(){} +// @mixin hook-overlay-misc(){} + +// DEPRECATED +// @mixin hook-overlay-area(){} +// @mixin hook-overlay-area-icon(){} +// @mixin hook-overlay-area-content(){} +// @mixin hook-overlay-caption(){} diff --git a/bower_components/uikit/scss/core/pagination.scss b/bower_components/uikit/scss/core/pagination.scss new file mode 100644 index 0000000..1deaa8f --- /dev/null +++ b/bower_components/uikit/scss/core/pagination.scss @@ -0,0 +1,197 @@ +// Name: Pagination +// Description: Defines styles for a navigation between pages +// +// Component: `uk-pagination` +// +// Sub-objects: `uk-pagination-previous` +// `uk-pagination-next` +// +// Modifiers: `uk-pagination-left` +// `uk-pagination-right` +// +// States: `uk-active` +// `uk-disabled` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$pagination-font-size: 1rem !default; +$pagination-margin-left: 5px !default; +$pagination-padding-vertical: 3px !default; +$pagination-padding-horizontal: 5px !default; +$pagination-line-height: 20px !default; +$pagination-background: #eee !default; +$pagination-color: #444 !default; +$pagination-hover-background: #f5f5f5 !default; +$pagination-hover-color: #444 !default; +$pagination-onclick-background: #ddd !default; +$pagination-onclick-color: #444 !default; + +$pagination-active-background: #00a8e6 !default; +$pagination-active-color: #fff !default; + +$pagination-disabled-background: #f5f5f5 !default; +$pagination-disabled-color: #999 !default; + + +/* ======================================================================== + Component: Pagination + ========================================================================== */ + +/* + * 1. Remove default list style + * 2. Center pagination by default + * 3. Remove whitespace between child elements when using `inline-block` + */ + +.uk-pagination { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + text-align: center; + /* 3 */ + font-size: 0.001px; +} + +/* + * Micro clearfix + * Needed if `uk-pagination-previous` or `uk-pagination-next` sub-objects are used + */ + +.uk-pagination:before, +.uk-pagination:after { + content: ""; + display: table; +} + +.uk-pagination:after { clear: both; } + + +/* Items + ========================================================================== */ + +/* + * 1. Reset whitespace hack + * 2. Remove the gap at the bottom of it container + */ + +.uk-pagination > li { + display: inline-block; + /* 1 */ + font-size: $pagination-font-size; + /* 2 */ + vertical-align: top; +} + +.uk-pagination > li:nth-child(n+2) { margin-left: $pagination-margin-left; } + +/* + * 1. Makes pagination more robust against different box-sizing use + * 2. Reset text-align to center if alignment modifier is used + */ + +.uk-pagination > li > a, +.uk-pagination > li > span { + display: inline-block; + min-width: $pagination-line-height + (2 * $pagination-padding-vertical) - (2 * $pagination-padding-horizontal); + padding: $pagination-padding-vertical $pagination-padding-horizontal; + line-height: $pagination-line-height; + text-decoration: none; + /* 1 */ + box-sizing: content-box; + /* 2 */ + text-align: center; + @include hook-pagination-item(); +} + +/* + * Links + */ + +.uk-pagination > li > a { + background: $pagination-background; + color: $pagination-color; + @include hook-pagination-link(); +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-pagination > li > a:hover, +.uk-pagination > li > a:focus { // 1 + background-color: $pagination-hover-background; + color: $pagination-hover-color; + /* 2 */ + outline: none; + @include hook-pagination-link-hover(); +} + +/* OnClick */ +.uk-pagination > li > a:active { + background-color: $pagination-onclick-background; + color: $pagination-onclick-color; + @include hook-pagination-link-active(); +} + +/* + * Active + */ + +.uk-pagination > .uk-active > span { + background: $pagination-active-background; + color: $pagination-active-color; + @include hook-pagination-active(); +} + +/* + * Disabled + */ + +.uk-pagination > .uk-disabled > span { + background-color: $pagination-disabled-background; + color: $pagination-disabled-color; + @include hook-pagination-disabled(); +} + + +/* Previous and next navigation + ========================================================================== */ + +.uk-pagination-previous { float: left; } +.uk-pagination-next { float: right; } + + +/* Alignment modifiers + ========================================================================== */ + +.uk-pagination-left { text-align: left; } +.uk-pagination-right { text-align: right; } + + +// Hooks +// ======================================================================== + +@include hook-pagination-misc(); + +// @mixin hook-pagination-item(){} +// @mixin hook-pagination-link(){} +// @mixin hook-pagination-link-hover(){} +// @mixin hook-pagination-link-active(){} +// @mixin hook-pagination-active(){} +// @mixin hook-pagination-disabled(){} +// @mixin hook-pagination-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/panel.scss b/bower_components/uikit/scss/core/panel.scss new file mode 100644 index 0000000..9edfe60 --- /dev/null +++ b/bower_components/uikit/scss/core/panel.scss @@ -0,0 +1,332 @@ +// Name: Panel +// Description: Defines styles for reusable content areas +// +// Component: `uk-panel` +// +// Sub-objects: `uk-panel-title` +// `uk-panel-badge` +// `uk-panel-teaser` +// `uk-panel-body` +// +// Modifiers: `uk-panel-box` +// `uk-panel-box-hover` +// `uk-panel-box-primary` +// `uk-panel-box-primary-hover` +// `uk-panel-box-secondary` +// `uk-panel-box-secondary-hover` +// `uk-panel-hover` +// `uk-panel-header` +// `uk-panel-space` +// `uk-panel-divider` +// +// Uses: Nav: `uk-nav-side` +// +// Used by: Dropdown +// Off-canvas +// Grid +// +// Markup: +// +// +//
                  +//
                  +//

                  +//

                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$panel-title-margin-bottom: 15px !default; +$panel-title-font-size: 18px !default; +$panel-title-line-height: 24px !default; +$panel-title-font-weight: normal !default; +$panel-title-color: #444 !default; +$panel-title-text-transform: none !default; + +$panel-teaser-margin-bottom: $panel-title-margin-bottom !default; + +$panel-box-padding: 15px !default; +$panel-box-background: #f5f5f5 !default; +$panel-box-color: #444 !default; +$panel-box-hover-color: $panel-box-color !default; +$panel-box-title-color: #444 !default; +$panel-box-badge-top: 10px !default; +$panel-box-badge-right: $panel-box-badge-top !default; +$panel-box-teaser-margin: -$panel-box-padding !default; + +$panel-box-primary-background: #ebf7fd !default; +$panel-box-primary-color: #2d7091 !default; +$panel-box-primary-hover-color: $panel-box-primary-color !default; +$panel-box-primary-title-color: #2d7091 !default; + +$panel-box-secondary-background: #eee !default; +$panel-box-secondary-color: #444 !default; +$panel-box-secondary-hover-color: $panel-box-secondary-color !default; +$panel-box-secondary-title-color: #444 !default; + +$panel-hover-padding: 15px !default; +$panel-hover-color: #444 !default; +$panel-hover-hover-background: #f5f5f5 !default; +$panel-hover-hover-color: #444 !default; +$panel-hover-badge-top: 10px !default; +$panel-hover-badge-right: $panel-hover-badge-top !default; +$panel-hover-teaser-margin: -$panel-hover-padding !default; + +$panel-header-title-padding: 10px !default; +$panel-header-title-border: #ddd !default; +$panel-header-title-border-width: 1px !default; +$panel-header-title-color: #444 !default; + +$panel-space-padding: 30px !default; + +$panel-divider-gutter: 25px !default; +$panel-divider-gutter-large: 35px !default; +$panel-divider-border: #ddd !default; +$panel-divider-border-width: 1px !default; + +$panel-body-padding: $panel-box-padding !default; + + +/* ======================================================================== + Component: Panel + ========================================================================== */ + +/* + * 1. Needed for `a` elements + * 2. Create position context for badges + */ + +.uk-panel { + /* 1 */ + display: block; + /* 2 */ + position: relative; +} + +/* + * Allow panels to be anchors + */ + +.uk-panel, +.uk-panel:hover { text-decoration: none; } + +/* + * Micro clearfix to make panels more robust + */ + +.uk-panel:before, +.uk-panel:after { + content: ""; + display: table; +} + +.uk-panel:after { clear: both; } + +/* + * Remove margin from the last-child if not `uk-widget-title` + */ + +.uk-panel > :not(.uk-panel-title):last-child { margin-bottom: 0; } + + +/* Sub-object: `uk-panel-title` + ========================================================================== */ + +.uk-panel-title { + margin-top: 0; + margin-bottom: $panel-title-margin-bottom; + font-size: $panel-title-font-size; + line-height: $panel-title-line-height; + font-weight: $panel-title-font-weight; + text-transform: $panel-title-text-transform; + color: $panel-title-color; + @include hook-panel-title(); +} + + +/* Sub-object: `uk-panel-badge` + ========================================================================== */ + +.uk-panel-badge { + position: absolute; + top: 0; + right: 0; + z-index: 1; + @include hook-panel-badge(); +} + +/* Sub-object: `uk-panel-teaser` + ========================================================================== */ + +.uk-panel-teaser { margin-bottom: $panel-teaser-margin-bottom; } + + +/* Sub-object: `uk-panel-body` + ========================================================================== */ + +.uk-panel-body { padding: $panel-body-padding; } + + +/* Modifier: `uk-panel-box` + ========================================================================== */ + +.uk-panel-box { + padding: $panel-box-padding; + background: $panel-box-background; + color: $panel-box-color; + @include hook-panel-box(); +} + +.uk-panel-box-hover:hover { + color: $panel-box-hover-color; + @include hook-panel-box-hover(); +} + +.uk-panel-box .uk-panel-title { color: $panel-box-title-color; } + +.uk-panel-box .uk-panel-badge { + top: $panel-box-badge-top; + right: $panel-box-badge-right; +} + +.uk-panel-box > .uk-panel-teaser { + margin-top: $panel-box-teaser-margin; + margin-left: $panel-box-teaser-margin; + margin-right: $panel-box-teaser-margin; +} + +/* + * Nav in panel + */ + +.uk-panel-box > .uk-nav-side { margin: 0 (-$panel-box-padding); } + +/* + * Sub-modifier: `uk-panel-box-primary` + */ + +.uk-panel-box-primary { + background-color: $panel-box-primary-background; + color: $panel-box-primary-color; + @include hook-panel-box-primary(); +} + +.uk-panel-box-primary-hover:hover { + color: $panel-box-primary-hover-color; + @include hook-panel-box-primary-hover(); +} + +.uk-panel-box-primary .uk-panel-title { color: $panel-box-primary-title-color; } + +/* + * Sub-modifier: `uk-panel-box-secondary` + */ + +.uk-panel-box-secondary { + background-color: $panel-box-secondary-background; + color: $panel-box-secondary-color; + @include hook-panel-box-secondary(); +} + +.uk-panel-box-secondary-hover:hover { + color: $panel-box-secondary-hover-color; + @include hook-panel-box-secondary-hover(); +} + +.uk-panel-box-secondary .uk-panel-title { color: $panel-box-secondary-title-color; } + + +/* Modifier: `uk-panel-hover` + ========================================================================== */ + +.uk-panel-hover { + padding: $panel-hover-padding; + color: $panel-hover-color; + @include hook-panel-hover(); +} + +.uk-panel-hover:hover { + background: $panel-hover-hover-background; + color: $panel-hover-hover-color; + @include hook-panel-hover-hover(); +} + +.uk-panel-hover .uk-panel-badge { + top: $panel-hover-badge-top; + right: $panel-hover-badge-right; +} + +.uk-panel-hover > .uk-panel-teaser { + margin-top: $panel-hover-teaser-margin; + margin-left: $panel-hover-teaser-margin; + margin-right: $panel-hover-teaser-margin; +} + + +/* Modifier: `uk-panel-header` + ========================================================================== */ + +.uk-panel-header .uk-panel-title { + padding-bottom: $panel-header-title-padding; + border-bottom: $panel-header-title-border-width solid $panel-header-title-border; + color: $panel-header-title-color; + @include hook-panel-header(); +} + + +/* Modifier: `uk-panel-space` + ========================================================================== */ + +.uk-panel-space { padding: $panel-space-padding; } + +.uk-panel-space .uk-panel-badge { + top: $panel-space-padding; + right: $panel-space-padding; +} + + +/* Modifier: `uk-panel-divider` + ========================================================================== */ + +.uk-panel + .uk-panel-divider { margin-top: ($panel-divider-gutter * 2) !important; } + +.uk-panel + .uk-panel-divider:before { + content: ""; + display: block; + position: absolute; + top: -($panel-divider-gutter); + left: 0; + right: 0; + border-top: $panel-divider-border-width solid $panel-divider-border; +} + +/* Large screen and bigger */ +@media (min-width: $breakpoint-xlarge) { + + .uk-panel + .uk-panel-divider { margin-top: ($panel-divider-gutter-large * 2) !important; } + .uk-panel + .uk-panel-divider:before { top: -($panel-divider-gutter-large); } + +} + + +// Hooks +// ======================================================================== + +@include hook-panel-misc(); + +// @mixin hook-panel-title(){} +// @mixin hook-panel-badge(){} +// @mixin hook-panel-box(){} +// @mixin hook-panel-box-hover(){} +// @mixin hook-panel-box-primary(){} +// @mixin hook-panel-box-primary-hover(){} +// @mixin hook-panel-box-secondary(){} +// @mixin hook-panel-box-secondary-hover(){} +// @mixin hook-panel-hover(){} +// @mixin hook-panel-hover-hover(){} +// @mixin hook-panel-header(){} +// @mixin hook-panel-misc(){} diff --git a/bower_components/uikit/scss/core/print.scss b/bower_components/uikit/scss/core/print.scss new file mode 100644 index 0000000..f2f18fd --- /dev/null +++ b/bower_components/uikit/scss/core/print.scss @@ -0,0 +1,61 @@ +// Name: Print +// Description: Optimize page for printing +// +// Adapted from http://github.com/h5bp/html5-boilerplate +// +// Modifications: Removed link `href` and `title` related rules +// +// ======================================================================== + + +/* ======================================================================== + Component: Print + ========================================================================== */ + +@media print { + + *, + *:before, + *:after { + background: transparent !important; + color: black !important; + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { text-decoration: underline; } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { display: table-header-group; } + + tr, + img { page-break-inside: avoid; } + + img { max-width: 100% !important; } + + @page { margin: 0.5cm; } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { page-break-after: avoid; } + + @include hook-print(); + +} + +// Hooks +// ======================================================================== + +// @mixin hook-print(){} diff --git a/bower_components/uikit/scss/core/subnav.scss b/bower_components/uikit/scss/core/subnav.scss new file mode 100644 index 0000000..008c6ec --- /dev/null +++ b/bower_components/uikit/scss/core/subnav.scss @@ -0,0 +1,213 @@ +// Name: Subnav +// Description: Defines styles for the sub navigation +// +// Component: `uk-subnav` +// +// Modifiers: `uk-subnav-line` +// `uk-subnav-pill` +// +// States: `uk-active` +// +// Markup: +// +// +//
                    +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$subnav-margin-horizontal: 10px !default; +$subnav-margin-vertical: $subnav-margin-horizontal !default; + +$subnav-color: #444 !default; +$subnav-hover-color: #07D !default; +$subnav-hover-text-decoration: none !default; +$subnav-active-color: #07D !default; + +$subnav-line-border-height: 10px !default; +$subnav-line-border: #ddd !default; +$subnav-line-border-width: 1px !default; + +$subnav-pill-padding-vertical: 3px !default; +$subnav-pill-padding-horizontal: 9px !default; +$subnav-pill-hover-background: #eee !default; +$subnav-pill-hover-color: #444 !default; +$subnav-pill-active-background: #00a8e6 !default; +$subnav-pill-active-color: #fff !default; + +$subnav-disabled-color: #999 !default; + + +/* ======================================================================== + Component: Subnav + ========================================================================== */ + +/* + * 1. Gutter + * 2. Remove default list style + */ + +.uk-subnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -$subnav-margin-horizontal; + margin-top: -$subnav-margin-vertical; + /* 2 */ + padding: 0; + list-style: none; +} + +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + * 3. Create position context for dropdowns + */ + +.uk-subnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: $subnav-margin-horizontal; + margin-top: $subnav-margin-vertical; + /* 3 */ + position: relative; +} + +/* + * DEPRECATED IE9 Support + */ + +.uk-subnav:before, +.uk-subnav:after { + content: ""; + display: block; + overflow: hidden; +} + +.uk-subnav:after { clear: both; } + +.uk-subnav > * { float: left; } + + +/* Items + ========================================================================== */ + +.uk-subnav > * > * { + display: inline-block; + color: $subnav-color; + @include hook-subnav(); +} + +/* + * Hover + * 1. Apply hover style also to focus state + */ + +.uk-subnav > * > :hover, +.uk-subnav > * > :focus { // 1 + color: $subnav-hover-color; + text-decoration: $subnav-hover-text-decoration; + @include hook-subnav-hover(); +} + +/* + * Active + */ + +.uk-subnav > .uk-active > * { + color: $subnav-active-color; + @include hook-subnav-active(); +} + + +/* Modifier: 'subnav-line' + ========================================================================== */ + +.uk-subnav-line > :before { + content: ""; + display: inline-block; + height: $subnav-line-border-height; + vertical-align: middle; +} + +.uk-subnav-line > :nth-child(n+2):before { + margin-right: $subnav-margin-horizontal; + border-left: $subnav-line-border-width solid $subnav-line-border; + @include hook-subnav-line-divider(); +} + + +/* Modifier: 'subnav-pill' + ========================================================================== */ + +.uk-subnav-pill > * > * { + padding: $subnav-pill-padding-vertical $subnav-pill-padding-horizontal; + @include hook-subnav-pill(); +} + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ + +.uk-subnav-pill > * > :hover, +.uk-subnav-pill > * > :focus { // 1 + background: $subnav-pill-hover-background; + color: $subnav-pill-hover-color; + text-decoration: none; + /* 2 */ + outline: none; + @include hook-subnav-pill-hover(); +} + +/* + * Active + * `li` needed for higher specificity to override hover + */ + +.uk-subnav-pill > .uk-active > * { + background: $subnav-pill-active-background; + color: $subnav-pill-active-color; + @include hook-subnav-pill-active(); +} + + +/* Disabled state + ========================================================================== */ + +.uk-subnav > .uk-disabled > * { + background: none; + color: $subnav-disabled-color; + text-decoration: none; + cursor: text; + @include hook-subnav-disabled(); +} + + +// Hooks +// ======================================================================== + +@include hook-subnav-misc(); + +// @mixin hook-subnav(){} +// @mixin hook-subnav-hover(){} +// @mixin hook-subnav-active(){} +// @mixin hook-subnav-line-divider(){} +// @mixin hook-subnav-pill(){} +// @mixin hook-subnav-pill-hover(){} +// @mixin hook-subnav-pill-active(){} +// @mixin hook-subnav-disabled(){} +// @mixin hook-subnav-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/switcher.scss b/bower_components/uikit/scss/core/switcher.scss new file mode 100644 index 0000000..7760c24 --- /dev/null +++ b/bower_components/uikit/scss/core/switcher.scss @@ -0,0 +1,38 @@ +// Name: Switcher +// Description: Defines styles for the switcher +// +// Component: `uk-switcher` +// +// States: `uk-active` +// +// ======================================================================== + + +/* ======================================================================== + Component: Switcher + ========================================================================== */ + +/* + * 1. Deactivate browser history navigation in IE11 + */ +.uk-switcher { + margin: 0; + padding: 0; + list-style: none; + /* 1 */ + touch-action: cross-slide-y pinch-zoom double-tap-zoom; +} + +/* + * Items + */ + +.uk-switcher > :not(.uk-active) { display: none; } + + +// Hooks +// ======================================================================== + +@include hook-switcher-misc(); + +// @mixin hook-switcher-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/tab.scss b/bower_components/uikit/scss/core/tab.scss new file mode 100644 index 0000000..3e4cb58 --- /dev/null +++ b/bower_components/uikit/scss/core/tab.scss @@ -0,0 +1,368 @@ +// Name: Tab +// Description: Defines styles for a tabbed navigation +// +// Component: `uk-tab` +// +// Modifiers: `uk-tab-flip` +// `uk-tab-center` +// `uk-tab-grid` +// `uk-tab-bottom` +// `uk-tab-left` +// `uk-tab-right` +// `uk-tab-responsive` +// +// States: `uk-active` +// `uk-disabled` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$tab-border: #ddd !default; +$tab-border-width: 1px !default; +$tab-padding-horizontal: 12px !default; +$tab-padding-vertical: 8px !default; +$tab-padding-top: $tab-padding-vertical !default; +$tab-padding-bottom: $tab-padding-vertical !default; +$tab-margin-horizontal: 5px !default; +$tab-margin-vertical: 5px !default; +$tab-color: #07D !default; +$tab-hover-border: #f5f5f5 !default; +$tab-hover-background: #f5f5f5 !default; +$tab-hover-color: #059 !default; +$tab-active-border: #ddd !default; +$tab-active-background: #fff !default; +$tab-active-color: #444 !default; +$tab-disabled-color: #999 !default; + + +/* ======================================================================== + Component: Tab + ========================================================================== */ + +.uk-tab { + margin: 0; + padding: 0; + list-style: none; + border-bottom: $tab-border-width solid $tab-border; +} + +/* + * Micro clearfix on the deepest container + */ + +.uk-tab:before, +.uk-tab:after { + content: ""; + display: table; +} + +.uk-tab:after { clear: both; } + +/* + * Items + * 1. Create position context for dropdowns + */ + +.uk-tab > li { + margin-bottom: -$tab-border-width; + float: left; + /* 1 */ + position: relative; +} + +.uk-tab > li > a { + display: block; + padding: $tab-padding-top $tab-padding-horizontal $tab-padding-bottom $tab-padding-horizontal; + border: $tab-border-width solid transparent; + border-bottom-width: 0; + color: $tab-color; + text-decoration: none; + @include hook-tab(); +} + +.uk-tab > li:nth-child(n+2) > a { margin-left: $tab-margin-horizontal; } + +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Also apply if dropdown is opened + * 3. Remove default focus style + */ + +.uk-tab > li > a:hover, +.uk-tab > li > a:focus, // 1 +.uk-tab > li.uk-open > a { // 2 + border-color: $tab-hover-border; + background: $tab-hover-background; + color: $tab-hover-color; + /* 2 */ + outline: none; + @include hook-tab-hover(); +} + +.uk-tab > li:not(.uk-active) > a:hover, +.uk-tab > li:not(.uk-active) > a:focus, +.uk-tab > li.uk-open:not(.uk-active) > a { + margin-bottom: $tab-border-width; + padding-bottom: $tab-padding-bottom - $tab-border-width; +} + +/* Active */ +.uk-tab > li.uk-active > a { + border-color: $tab-active-border; + border-bottom-color: transparent; + background: $tab-active-background; + color: $tab-active-color; + @include hook-tab-active(); +} + +/* Disabled */ +.uk-tab > li.uk-disabled > a { + color: $tab-disabled-color; + cursor: text; + @include hook-tab-disabled(); +} + +.uk-tab > li.uk-disabled > a:hover, +.uk-tab > li.uk-disabled > a:focus, +.uk-tab > li.uk-disabled.uk-active > a { + background: none; + border-color: transparent; +} + + +/* Modifier: 'tab-flip' + ========================================================================== */ + +.uk-tab-flip > li { float: right; } + +.uk-tab-flip > li:nth-child(n+2) > a { + margin-left: 0; + margin-right: $tab-margin-horizontal; +} + + +/* Modifier: 'tab-responsive' + ========================================================================== */ + +.uk-tab > li.uk-tab-responsive > a { + margin-left: 0; + margin-right: 0; +} + +/* + * Icon + */ + +.uk-tab-responsive > a:before { + content: "\f0c9\00a0"; + font-family: FontAwesome; +} + + +/* Modifier: 'tab-center' + ========================================================================== */ + +.uk-tab-center { border-bottom: $tab-border-width solid $tab-border; } + +.uk-tab-center-bottom { + border-bottom: none; + border-top: $tab-border-width solid $tab-border; +} + +.uk-tab-center:before, +.uk-tab-center:after { + content: ""; + display: table; +} + +.uk-tab-center:after { clear: both; } + + +/* + * 1. Using `right` to prevent vertical scrollbar caused by centering if to many tabs + */ + +.uk-tab-center .uk-tab { + position: relative; + right: 50%; + border: none; + float: right; +} + +.uk-tab-center .uk-tab > li { + position: relative; + right: -50%; +} + +.uk-tab-center .uk-tab > li > a { text-align: center; } + + +/* Modifier: 'tab-bottom' + ========================================================================== */ + +.uk-tab-bottom { + border-top: $tab-border-width solid $tab-border; + border-bottom: none; +} + +.uk-tab-bottom > li { + margin-top: -$tab-border-width; + margin-bottom: 0; +} + +.uk-tab-bottom > li > a { + padding-top: $tab-padding-bottom; + padding-bottom: $tab-padding-top; + border-bottom-width: $tab-border-width; + border-top-width: 0; +} + +.uk-tab-bottom > li:not(.uk-active) > a:hover, +.uk-tab-bottom > li:not(.uk-active) > a:focus, +.uk-tab-bottom > li.uk-open:not(.uk-active) > a { + margin-bottom: 0; + margin-top: $tab-border-width; + padding-bottom: $tab-padding-top; + padding-top: $tab-padding-bottom - $tab-border-width; +} + +.uk-tab-bottom > li.uk-active > a { + border-top-color: transparent; + border-bottom-color: $tab-active-border; +} + + +/* Modifier: 'tab-grid' + ========================================================================== */ + +/* + * 1. Create position context to prevent hidden border because of negative `z-index` + */ + +.uk-tab-grid { + margin-left: -$tab-margin-horizontal; + border-bottom: none; + /* 1 */ + position: relative; + z-index: 0; +} + +.uk-tab-grid:before { + display: block; + position: absolute; + left: $tab-margin-horizontal; + right: 0; + bottom: -$tab-border-width; + border-top: $tab-border-width solid $tab-border; + /* 1 */ + z-index: -1; +} + +.uk-tab-grid > li:first-child > a { margin-left: $tab-margin-horizontal; } + +.uk-tab-grid > li > a { text-align: center; } + +/* + * If `uk-tab-bottom` + */ + +.uk-tab-grid.uk-tab-bottom { border-top: none; } +.uk-tab-grid.uk-tab-bottom:before { + top: -$tab-border-width; + bottom: auto; +} + + +/* Modifier: 'tab-left', 'tab-right' + ========================================================================== */ + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + .uk-tab-left, + .uk-tab-right { border-bottom: none; } + + .uk-tab-left > li, + .uk-tab-right > li { + margin-bottom: 0; + float: none; + } + + .uk-tab-left > li > a, + .uk-tab-right > li > a { + padding-top: $tab-padding-vertical; + padding-bottom: $tab-padding-vertical; + } + + .uk-tab-left > li:nth-child(n+2) > a, + .uk-tab-right > li:nth-child(n+2) > a { + margin-left: 0; + margin-top: $tab-margin-vertical; + } + + .uk-tab-left > li.uk-active > a, + .uk-tab-right > li.uk-active > a { border-color: $tab-active-border; } + + /* + * Modifier: 'tab-left' + */ + + .uk-tab-left { border-right: $tab-border-width solid $tab-border; } + .uk-tab-left > li { margin-right: -$tab-border-width; } + .uk-tab-left > li > a { + border-bottom-width: $tab-border-width; + border-right-width: 0; + } + .uk-tab-left > li:not(.uk-active) > a:hover, + .uk-tab-left > li:not(.uk-active) > a:focus { + margin-bottom: 0; + margin-right: $tab-border-width; + padding-bottom: $tab-padding-vertical; + padding-right: $tab-padding-horizontal - $tab-border-width; + } + .uk-tab-left > li.uk-active > a { border-right-color: transparent; } + + /* + * Modifier: 'tab-right' + */ + + .uk-tab-right { border-left: $tab-border-width solid $tab-border; } + .uk-tab-right > li { margin-left: -$tab-border-width; } + .uk-tab-right > li > a { + border-bottom-width: $tab-border-width; + border-left-width: 0; + } + .uk-tab-right > li:not(.uk-active) > a:hover, + .uk-tab-right > li:not(.uk-active) > a:focus { + margin-bottom: 0; + margin-left: $tab-border-width; + padding-bottom: $tab-padding-vertical; + padding-left: $tab-padding-horizontal - $tab-border-width; + } + .uk-tab-right > li.uk-active > a { border-left-color: transparent; } + +} + + +// Hooks +// ======================================================================== + +@include hook-tab-misc(); + +// @mixin hook-tab(){} +// @mixin hook-tab-hover(){} +// @mixin hook-tab-active(){} +// @mixin hook-tab-disabled(){} +// @mixin hook-tab-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/table.scss b/bower_components/uikit/scss/core/table.scss new file mode 100644 index 0000000..fdb33e9 --- /dev/null +++ b/bower_components/uikit/scss/core/table.scss @@ -0,0 +1,147 @@ +// Name: Table +// Description: Defines styles for tables +// +// Component: `uk-table` +// +// Modifiers: `uk-table-middle` +// `uk-table-striped` +// `uk-table-condensed` +// `uk-table-hover` +// +// States: `uk-active` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$table-margin-vertical: 15px !default; +$table-padding-vertical: 8px !default; +$table-padding-horizontal: 8px !default; + +$table-caption-color: #999 !default; +$table-caption-font-size: 12px !default; + +$table-striped-background: #f5f5f5 !default; + +$table-condensed-padding-vertical: 4px !default; +$table-condensed-padding-horizontal: 8px !default; + +$table-hover-background: #EEE !default; + +$table-active-background: $table-hover-background !default; + + +/* ======================================================================== + Component: Table + ========================================================================== */ + +/* + * 1. Remove most spacing between table cells. + * 2. Block element behavior + * 3. Style + */ + +.uk-table { + /* 1 */ + border-collapse: collapse; + border-spacing: 0; + /* 2 */ + width: 100%; + /* 3 */ + margin-bottom: $table-margin-vertical; +} + +/* + * Add margin if adjacent element + */ + +* + .uk-table { margin-top: $table-margin-vertical; } + +.uk-table th, +.uk-table td { + padding: $table-padding-vertical $table-padding-horizontal; + @include hook-table(); +} + +/* + * Set alignment + */ + +.uk-table th { text-align: left; } +.uk-table td { vertical-align: top; } + +.uk-table thead th { vertical-align: bottom; } + +/* + * Caption and footer + */ + +.uk-table caption, +.uk-table tfoot { + font-size: $table-caption-font-size; + font-style: italic; +} + +.uk-table caption { + text-align: left; + color: $table-caption-color; +} + +/* + * Active State + */ + +.uk-table tbody tr.uk-active { + background: $table-active-background; + @include hook-table-active(); +} + + +/* Sub-modifier: `uk-table-middle` + ========================================================================== */ + +.uk-table-middle, +.uk-table-middle td { vertical-align: middle !important; } + + +/* Modifier: `uk-table-striped` + ========================================================================== */ + +.uk-table-striped tbody tr:nth-of-type(odd) { + background: $table-striped-background; + @include hook-table-striped(); +} + + +/* Modifier: `uk-table-condensed` + ========================================================================== */ + +.uk-table-condensed td { + padding: $table-condensed-padding-vertical $table-condensed-padding-horizontal; + @include hook-table-condensed(); +} + + +/* Modifier: `uk-table-hover` + ========================================================================== */ + +.uk-table-hover tbody tr:hover { + background: $table-hover-background; + @include hook-table-hover(); +} + + + +// Hooks +// ======================================================================== + +@include hook-table-misc(); + +// @mixin hook-table(){} +// @mixin hook-table-active(){} +// @mixin hook-table-striped(){} +// @mixin hook-table-condensed(){} +// @mixin hook-table-hover(){} +// @mixin hook-table-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/text.scss b/bower_components/uikit/scss/core/text.scss new file mode 100644 index 0000000..9fb347c --- /dev/null +++ b/bower_components/uikit/scss/core/text.scss @@ -0,0 +1,136 @@ +// Name: Text +// Description: Collection of useful text utility classes to style your content +// +// Component: `uk-text-*` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$text-small-font-size: 11px !default; +$text-small-line-height: 16px !default; +$text-large-font-size: 18px !default; +$text-large-line-height: 24px !default; +$text-large-font-weight: normal !default; + +$text-muted-color: #999 !default; +$text-primary-color: #2d7091 !default; +$text-success-color: #659f13 !default; +$text-warning-color: #e28327 !default; +$text-danger-color: #d85030 !default; +$text-contrast-color: #fff !default; + + +/* ======================================================================== + Component: Text + ========================================================================== */ + +/* Size modifiers + ========================================================================== */ + +.uk-text-small { + font-size: $text-small-font-size; + line-height: $text-small-line-height; +} + +.uk-text-large { + font-size: $text-large-font-size; + line-height: $text-large-line-height; + font-weight: $text-large-font-weight; +} + + +/* Weight modifiers + ========================================================================== */ + +.uk-text-bold { font-weight: bold; } + + +/* Color modifiers + ========================================================================== */ + +.uk-text-muted { color: $text-muted-color !important; } +.uk-text-primary { color: $text-primary-color !important; } +.uk-text-success { color: $text-success-color !important; } +.uk-text-warning { color: $text-warning-color !important; } +.uk-text-danger { color: $text-danger-color !important; } +.uk-text-contrast { color: $text-contrast-color !important; } + + +/* Alignment modifiers + ========================================================================== */ + +.uk-text-left { text-align: left !important; } +.uk-text-right { text-align: right !important; } +.uk-text-center { text-align: center !important; } +.uk-text-justify { text-align: justify !important; } + +.uk-text-top { vertical-align: top !important; } +.uk-text-middle { vertical-align: middle !important; } +.uk-text-bottom { vertical-align: bottom !important; } + +/* Only tablets portrait and smaller */ +@media (max-width: $breakpoint-medium-max) { + + .uk-text-center-medium { text-align: center !important; } + .uk-text-left-medium { text-align: left !important; } + +} + +/* Phone landscape and smaller */ +@media (max-width: $breakpoint-small-max) { + + .uk-text-center-small { text-align: center !important; } + .uk-text-left-small { text-align: left !important; } + +} + + +/* Wrap modifiers + ========================================================================== */ + +/* + * Prevent text from wrapping onto multiple lines + */ + +.uk-text-nowrap { white-space: nowrap; } + +/* + * Prevent text from wrapping onto multiple lines, and truncate with an ellipsis + */ + +.uk-text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* + * Break strings if their length exceeds the width of their container + */ + +.uk-text-break { + word-wrap: break-word; + -webkit-hyphens: auto; + -ms-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; +} + + +/* Transform modifiers + ========================================================================== */ + +.uk-text-capitalize { text-transform: capitalize !important; } +.uk-text-lowercase { text-transform: lowercase !important; } +.uk-text-uppercase { text-transform: uppercase !important; } + + +// Hooks +// ======================================================================== + +@include hook-text-misc(); + +// @mixin hook-text-misc(){} diff --git a/bower_components/uikit/scss/core/thumbnail.scss b/bower_components/uikit/scss/core/thumbnail.scss new file mode 100644 index 0000000..033bc35 --- /dev/null +++ b/bower_components/uikit/scss/core/thumbnail.scss @@ -0,0 +1,122 @@ +// Name: Thumbnail +// Description: Defines styles for image thumbnails +// +// Component: `uk-thumbnail` +// +// Sub-objects: `uk-thumbnail-caption` +// +// Modifiers: `uk-thumbnail-mini` +// `uk-thumbnail-small` +// `uk-thumbnail-medium` +// `uk-thumbnail-large` +// `uk-thumbnail-expand` +// +// Markup: +// +// +//
                  +// +//
                  +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$thumbnail-padding: 4px !default; +$thumbnail-border: #ddd !default; +$thumbnail-border-width: 1px !default; +$thumbnail-background: #fff !default; +$thumbnail-hover-border: #aaa !default; +$thumbnail-hover-background: #fff !default; + +$thumbnail-caption-padding: $thumbnail-padding !default; +$thumbnail-caption-color: #444 !default; + +$thumbnail-mini-width: 150px !default; +$thumbnail-small-width: 200px !default; +$thumbnail-medium-width: 300px !default; +$thumbnail-large-width: 400px !default; + + +/* ======================================================================== + Component: Thumbnail + ========================================================================== */ + +/* + * 1. Container width fits its content + * 2. Responsive behavior + * 3. Corrects `max-width` behavior sed + * 4. Required for `figure` element + * 5. Style + */ + +.uk-thumbnail { + /* 1 */ + display: inline-block; + /* 2 */ + max-width: 100%; + /* 3 */ + box-sizing: border-box; + /* 3 */ + margin: 0; + /* 4 */ + padding: $thumbnail-padding; + border: $thumbnail-border-width solid $thumbnail-border; + background: $thumbnail-background; + @include hook-thumbnail(); +} + +/* + * Hover state for `a` elements + * 1. Apply hover style also to focus state + * 2. Needed for caption + * 3. Remove default focus style + */ + +a.uk-thumbnail:hover, +a.uk-thumbnail:focus { // 1 + border-color: $thumbnail-hover-border; + background-color: $thumbnail-hover-background; + /* 2 */ + text-decoration: none; + /* 3 */ + outline: none; + @include hook-thumbnail-hover(); +} + + +/* Caption + ========================================================================== */ + +.uk-thumbnail-caption { + padding-top: $thumbnail-caption-padding; + text-align: center; + color: $thumbnail-caption-color; + @include hook-thumbnail-caption(); +} + + +/* Sizes + ========================================================================== */ + +.uk-thumbnail-mini { width: $thumbnail-mini-width; } +.uk-thumbnail-small { width: $thumbnail-small-width; } +.uk-thumbnail-medium { width: $thumbnail-medium-width; } +.uk-thumbnail-large { width: $thumbnail-large-width; } + +.uk-thumbnail-expand, +.uk-thumbnail-expand > img { width: 100%; } + + +// Hooks +// ======================================================================== + +@include hook-thumbnail-misc(); + +// @mixin hook-thumbnail(){} +// @mixin hook-thumbnail-hover(){} +// @mixin hook-thumbnail-caption(){} +// @mixin hook-thumbnail-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/thumbnav.scss b/bower_components/uikit/scss/core/thumbnav.scss new file mode 100644 index 0000000..462cbf2 --- /dev/null +++ b/bower_components/uikit/scss/core/thumbnav.scss @@ -0,0 +1,122 @@ +// Name: Thumbnav +// Description: Defines styles for a thumbnail navigation +// +// Component: `uk-thumbnav` +// +// States: `uk-active` +// +// Markup: +// +// +//
                    +//
                  • +//
                  • +//
                  +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$thumbnav-margin-horizontal: 10px !default; +$thumbnav-margin-vertical: $thumbnav-margin-horizontal !default; + +$thumbnav-background: #fff !default; + +$thumbnav-opacity: 0.7 !default; +$thumbnav-hover-opacity: 1 !default; +$thumbnav-active-opacity: 1 !default; + + +/* ======================================================================== + Component: Thumbnav + ========================================================================== */ + +/* + * 1. Gutter + * 2. Remove default list style + */ + +.uk-thumbnav { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + /* 1 */ + margin-left: -$thumbnav-margin-horizontal; + margin-top: -$thumbnav-margin-vertical; + /* 2 */ + padding: 0; + list-style: none; +} + +/* + * 1. Space is allocated solely based on content dimensions + * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied + */ + +.uk-thumbnav > * { + /* 1 */ + -ms-flex: none; + -webkit-flex: none; + flex: none; + /* 2 */ + padding-left: $thumbnav-margin-horizontal; + margin-top: $thumbnav-margin-vertical; +} + +/* + * DEPRECATED IE9 Support + */ + +.uk-thumbnav:before, +.uk-thumbnav:after { + content: ""; + display: block; + overflow: hidden; +} + +.uk-thumbnav:after { clear: both; } + +.uk-thumbnav > * { float: left; } + + +/* Items + ========================================================================== */ + +.uk-thumbnav > * > * { + display: block; + background: $thumbnav-background; + @include hook-thumbnav(); +} + +.uk-thumbnav > * > * > img { + opacity: $thumbnav-opacity; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +/* + * Hover + */ + +.uk-thumbnav > * > :hover > img, +.uk-thumbnav > * > :focus > img { opacity: $thumbnav-hover-opacity; } + +/* + * Active + */ + +.uk-thumbnav > .uk-active > * > img { opacity: $thumbnav-active-opacity; } + + +// Hooks +// ======================================================================== + +@include hook-thumbnav-misc(); + +// @mixin hook-thumbnav(){} +// @mixin hook-thumbnav-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/core/utility.scss b/bower_components/uikit/scss/core/utility.scss new file mode 100644 index 0000000..4ac6109 --- /dev/null +++ b/bower_components/uikit/scss/core/utility.scss @@ -0,0 +1,610 @@ +// Name: Utility +// Description: Collection of useful utility classes to style your content +// +// Component: `uk-container-*` +// `uk-clearfix` +// `uk-nbfc-*` +// `uk-float-*` +// `uk-align-*` +// `uk-vertical-align-*` +// `uk-height-*` +// `uk-responsive-*` +// `uk-margin-*` +// `uk-padding-*` +// `uk-border-*` +// `uk-heading-*` +// `uk-link-*` +// `uk-scrollable-*` +// `uk-overflow-*` +// `uk-position-*` +// `uk-display-*` +// `uk-visible-*` +// `uk-hidden-*` +// `uk-invisible` +// +// Used by: Overlay +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$utility-container-max-width: 980px !default; +$utility-container-padding-horizontal: 25px !default; + +$utility-container-large-max-width: 1200px !default; +$utility-container-large-padding-horizontal: 35px !default; + +$utility-align-horizontal: 15px !default; +$utility-align-vertical: 15px !default; + +$utility-height-viewport-min-height: 600px !default; + +$utility-margin: 15px !default; +$utility-margin-small: 5px !default; +$utility-margin-large: 50px !default; + +$utility-border-rounded: 5px !default; + +$utility-heading-large-small-font-size: 36px !default; +$utility-heading-large-small-line-height: 42px !default; +$utility-heading-large-font-size: 52px !default; +$utility-heading-large-line-height: 64px !default; + +$utility-link-muted-color: #444 !default; +$utility-link-muted-hover-color: #444 !default; + +$utility-scrollable-text-height: 300px !default; + +$utility-scrollable-box-height: 170px !default; +$utility-scrollable-box-padding: 10px !default; +$utility-scrollable-box-border: #ddd !default; +$utility-scrollable-box-border-width: 1px !default; + + +/* ======================================================================== + Component: Utility + ========================================================================== */ + +/* Container + ========================================================================== */ + +.uk-container { + box-sizing: border-box; + max-width: $utility-container-max-width; + padding: 0 $utility-container-padding-horizontal; + @include hook-container(); +} + +/* Large screen and bigger */ +@media (min-width: $breakpoint-xlarge) { + + .uk-container { + max-width: $utility-container-large-max-width; + padding: 0 $utility-container-large-padding-horizontal; + } + +} + +/* + * Micro clearfix + */ + +.uk-container:before, +.uk-container:after { + content: ""; + display: table; +} + +.uk-container:after { clear: both; } + +/* + * Center container + */ + +.uk-container-center { + margin-left: auto; + margin-right: auto; +} + + +/* Clearing + ========================================================================== */ + +/* + * Micro clearfix +* `table-cell` is used with `:before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit + * `table` is used again with `:after` because `clear` only works with block elements. + * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari + */ + +.uk-clearfix:before { + content: ""; + display: table-cell; +} + +.uk-clearfix:after { + content: ""; + display: table; + clear: both; +} + + +/* + * Create a new block formatting context + */ + +.uk-nbfc { overflow: hidden; } + +.uk-nbfc-alt { + display: table-cell; + width: 10000px; +} + + +/* Alignment of block elements + ========================================================================== */ + +/* + * Float blocks + * 1. Prevent content overflow on small devices + */ + +.uk-float-left { float: left; } +.uk-float-right { float: right; } + +/* 1 */ +[class*='uk-float-'] { max-width: 100%; } + + +/* Alignment of images and objects + ========================================================================== */ + +/* + * Alignment + */ + +[class*='uk-align-'] { + display: block; + margin-bottom: $utility-align-vertical; +} + +.uk-align-left { + margin-right: $utility-align-horizontal; + float: left; +} + +.uk-align-right { + margin-left: $utility-align-horizontal; + float: right; +} + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + .uk-align-medium-left { + margin-right: $utility-align-horizontal; + float: left; + } + + .uk-align-medium-right { + margin-left: $utility-align-horizontal; + float: right; + } + +} + +.uk-align-center { + margin-left: auto; + margin-right: auto; +} + + +/* Vertical alignment + ========================================================================== */ + +/* + * Remove whitespace between child elements when using `inline-block` + */ + +.uk-vertical-align { font-size: 0.001px; } + +/* + * The `uk-vertical-align` container needs a specific height + */ + +.uk-vertical-align:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} + +/* + * Sub-object which can have any height + * 1. Reset whitespace hack + */ + +.uk-vertical-align-middle, +.uk-vertical-align-bottom { + display: inline-block; + max-width: 100%; + /* 1 */ + font-size: 1rem; +} + +.uk-vertical-align-middle { vertical-align: middle; } +.uk-vertical-align-bottom { vertical-align: bottom; } + + +/* Height + ========================================================================== */ + +/* + * More robust if padding and border are used + */ + +[class*='uk-height'] { box-sizing: border-box; } + +/* + * Useful to extend the `html` and `body` element to the full height of the page. + */ + +.uk-height-1-1 { height: 100%; } + +/* + * Useful to create image teasers + */ + +.uk-height-viewport { + height: 100vh; + min-height: $utility-height-viewport-min-height; +} + + +/* Responsive objects + * Note: Images are already responsive by default, see Base component + ========================================================================== */ + +/* + * 1. Corrects `max-width` and `max-height` behavior if padding and border are used + */ + +.uk-responsive-width, +.uk-responsive-height { box-sizing: border-box; } + +/* + * Responsiveness: Sets a maximum width relative to the parent and auto scales the height + * `important` needed to override `uk-img-preserve img` + */ + +.uk-responsive-width { + max-width: 100% !important; + height: auto; +} + +/* + * Responsiveness: Sets a maximum height relative to the parent and auto scales the width + * Only works if the parent element has a fixed height. + */ + +.uk-responsive-height { + max-height: 100%; + width: auto; +} + + +/* Margin + ========================================================================== */ + +/* + * Create a block with the same margin of a paragraph + * Add margin if adjacent element + */ + +.uk-margin { margin-bottom: $utility-margin; } +* + .uk-margin { margin-top: $utility-margin; } + +.uk-margin-top { margin-top: $utility-margin !important; } +.uk-margin-bottom { margin-bottom: $utility-margin !important; } +.uk-margin-left { margin-left: $utility-margin !important; } +.uk-margin-right { margin-right: $utility-margin !important; } + +/* + * Larger margins + */ + +.uk-margin-large { margin-bottom: $utility-margin-large; } +* + .uk-margin-large { margin-top: $utility-margin-large; } + +.uk-margin-large-top { margin-top: $utility-margin-large !important; } +.uk-margin-large-bottom { margin-bottom: $utility-margin-large !important; } +.uk-margin-large-left { margin-left: $utility-margin-large !important; } +.uk-margin-large-right { margin-right: $utility-margin-large !important; } + +/* + * Smaller margins + */ + +.uk-margin-small { margin-bottom: $utility-margin-small; } +* + .uk-margin-small { margin-top: $utility-margin-small; } + +.uk-margin-small-top { margin-top: $utility-margin-small !important; } +.uk-margin-small-bottom { margin-bottom: $utility-margin-small !important; } +.uk-margin-small-left { margin-left: $utility-margin-small !important; } +.uk-margin-small-right { margin-right: $utility-margin-small !important; } + +/* + * Remove margins + */ + +.uk-margin-remove { margin: 0 !important; } +.uk-margin-top-remove { margin-top: 0 !important; } +.uk-margin-bottom-remove { margin-bottom: 0 !important; } + + +/* Padding + ========================================================================== */ + +.uk-padding-remove { padding: 0 !important; } +.uk-padding-top-remove { padding-top: 0 !important; } +.uk-padding-bottom-remove { padding-bottom: 0 !important; } + +.uk-padding-vertical-remove { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +/* Border + ========================================================================== */ + +.uk-border-circle { border-radius: 50%; } +.uk-border-rounded { border-radius: $utility-border-rounded; } + + +/* Headings + ========================================================================== */ + +.uk-heading-large { + font-size: $utility-heading-large-small-font-size; + line-height: $utility-heading-large-small-line-height; +} + +/* Tablet and bigger */ +@media (min-width: $breakpoint-medium) { + + .uk-heading-large { + font-size: $utility-heading-large-font-size; + line-height: $utility-heading-large-line-height; + } + +} + + +/* Link + ========================================================================== */ + +/* + * Let links appear in default text color + */ + +.uk-link-muted, +.uk-link-muted a { color: $utility-link-muted-color; } + +.uk-link-muted:hover, +.uk-link-muted a:hover { color: $utility-link-muted-hover-color; } + +/* + * Reset link style + */ + +.uk-link-reset, +.uk-link-reset a, +.uk-link-reset:hover, +.uk-link-reset a:hover, +.uk-link-reset:focus, +.uk-link-reset a:focus { + color: inherit; + text-decoration: none; +} + + +/* Scrollable + ========================================================================== */ + +/* + * Enable scrolling for preformatted text + */ + +.uk-scrollable-text { + height: $utility-scrollable-text-height; + overflow-y: scroll; + -webkit-overflow-scrolling: touch; + resize: both; +} + +/* + * Box with scrolling enabled + */ + +.uk-scrollable-box { + box-sizing: border-box; + height: $utility-scrollable-box-height; + padding: $utility-scrollable-box-padding; + border: $utility-scrollable-box-border-width solid $utility-scrollable-box-border; + overflow: auto; + -webkit-overflow-scrolling: touch; + resize: both; + @include hook-scrollable-box(); +} + +.uk-scrollable-box > :last-child { margin-bottom: 0; } + + +/* Overflow + ========================================================================== */ + +.uk-overflow-hidden { overflow: hidden; } + +/* + * Enable scrollbars if content is clipped + */ + +.uk-overflow-container { + overflow: auto; + -webkit-overflow-scrolling: touch; +} + +.uk-overflow-container > :last-child { margin-bottom: 0; } + + +/* Position + ========================================================================== */ + +.uk-position-absolute, +[class*='uk-position-top'], +[class*='uk-position-bottom'] { position: absolute !important; } + +/* Don't use `width: 100%` because it is wrong if the parent has padding. */ +.uk-position-top { + top: 0; + left: 0; + right: 0; +} + +.uk-position-bottom { + bottom: 0; + left: 0; + right: 0; +} + +.uk-position-top-left { + top: 0; + left: 0; +} + +.uk-position-top-right { + top: 0; + right: 0; +} + +.uk-position-bottom-left { + bottom: 0; + left: 0; +} + +.uk-position-bottom-right { + bottom: 0; + right: 0; +} + +/* + * Cover + */ + +.uk-position-cover { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + +/* + * Relative + */ + +.uk-position-relative { position: relative !important; } + +/* + * Z-index + */ + +.uk-position-z-index { z-index: 1; } + + +/* Display + ========================================================================== */ + +/* + * Display + * 1. Required if child is a responsive image + */ + +.uk-display-block { display: block !important; } +.uk-display-inline { display: inline !important; } + +.uk-display-inline-block { + display: inline-block !important; + /* 1 */ + max-width: 100%; +} + +/* + * Visibility + * Avoids setting display to `block` so it works also with `inline-block` and `table` + */ + +/* Desktop and bigger */ +@media (min-width: $breakpoint-large) { + + .uk-visible-small { display: none !important; } + .uk-visible-medium { display: none !important; } + .uk-hidden-large { display: none !important; } + +} + +/* Tablets portrait */ +@media (min-width: $breakpoint-medium) and (max-width: $breakpoint-medium-max) { + + .uk-visible-small { display: none !important; } + .uk-visible-large { display: none !important ; } + .uk-hidden-medium { display: none !important; } + +} + +/* Phone landscape and smaller*/ +@media (max-width: $breakpoint-small-max) { + + .uk-visible-medium { display: none !important; } + .uk-visible-large { display: none !important; } + .uk-hidden-small { display: none !important; } + +} + +/* Remove from the flow and screen readers on any device */ +.uk-hidden { + display: none !important; + visibility: hidden !important; +} + +/* It's hidden, but still affects layout */ +.uk-invisible { visibility: hidden !important; } + +/* Show on hover */ +.uk-visible-hover:hover .uk-hidden, +.uk-visible-hover:hover .uk-invisible { + display: block !important; + visibility: visible !important; +} + +.uk-visible-hover-inline:hover .uk-hidden, +.uk-visible-hover-inline:hover .uk-invisible { + display: inline-block !important; + visibility: visible !important; +} + +/* Hide on touch */ +.uk-touch .uk-hidden-touch, +.uk-notouch .uk-hidden-notouch { display: none !important; } + + +// Hooks +// ======================================================================== + +@include hook-utility-misc(); + +// @mixin hook-container(){} +// @mixin hook-scrollable-box(){} +// @mixin hook-utility-misc(){} diff --git a/bower_components/uikit/scss/core/variables.scss b/bower_components/uikit/scss/core/variables.scss new file mode 100644 index 0000000..43652c5 --- /dev/null +++ b/bower_components/uikit/scss/core/variables.scss @@ -0,0 +1,23 @@ +// +// Component: Variables +// Description: Defines all color and style related values as variables +// to allow easy customization for the most common cases. +// +// ======================================================================== + + +// Global variables +// ======================================================================== + +// +// Breakpoints +// +$breakpoint-small: 480px !default; +$breakpoint-medium: 768px !default; +$breakpoint-large: 960px !default; +$breakpoint-xlarge: 1220px !default; + +$breakpoint-mini-max: ($breakpoint-small - 1) !default; +$breakpoint-small-max: ($breakpoint-medium - 1) !default; +$breakpoint-medium-max: ($breakpoint-large - 1) !default; +$breakpoint-large-max: ($breakpoint-xlarge - 1) !default; diff --git a/bower_components/uikit/scss/uikit-mixins.scss b/bower_components/uikit/scss/uikit-mixins.scss new file mode 100644 index 0000000..5190c24 --- /dev/null +++ b/bower_components/uikit/scss/uikit-mixins.scss @@ -0,0 +1,327 @@ +@mixin hook-accordion(){} +@mixin hook-accordion-title(){} +@mixin hook-accordion-content(){} +@mixin hook-accordion-misc(){} +@mixin hook-nav-autocomplete(){} +@mixin hook-nav-autocomplete-active(){} +@mixin hook-nav-autocomplete-header(){} +@mixin hook-nav-autocomplete-divider(){} +@mixin hook-autocomplete-misc(){} +@mixin hook-datepicker-nav(){} +@mixin hook-datepicker-nav-item(){} +@mixin hook-datepicker-table-item(){} +@mixin hook-datepicker-table-item-hover(){} +@mixin hook-datepicker-table-item-onclick(){} +@mixin hook-datepicker-table-item-active(){} +@mixin hook-datepicker-misc(){} +@mixin hook-form-advanced(){} +@mixin hook-form-advanced-checked(){} +@mixin hook-form-advanced-radio(){} +@mixin hook-form-advanced-checkbox(){} +@mixin hook-form-advanced-disabled(){} +@mixin hook-form-advanced-misc(){} +@mixin hook-form-file-misc(){} +@mixin hook-form-password-misc(){} +@mixin hook-dotnav-item(){} +@mixin hook-dotnav-item-hover(){} +@mixin hook-dotnav-item-onclick(){} +@mixin hook-dotnav-item-active(){} +@mixin hook-dotnav-contrast-item(){} +@mixin hook-dotnav-contrast-item-hover(){} +@mixin hook-dotnav-contrast-item-onclick(){} +@mixin hook-dotnav-contrast-item-active(){} +@mixin hook-dotnav-misc(){} +@mixin hook-form-select-misc(){} +@mixin hook-htmleditor(){} +@mixin hook-htmleditor-navbar(){} +@mixin hook-htmleditor-navbar-nav(){} +@mixin hook-htmleditor-navbar-nav-hover(){} +@mixin hook-htmleditor-navbar-nav-onclick(){} +@mixin hook-htmleditor-navbar-nav-active(){} +@mixin hook-htmleditor-content(){} +@mixin hook-htmleditor-misc(){} +@mixin hook-nestable(){} +@mixin hook-nestable-item(){} +@mixin hook-nestable-dragged(){} +@mixin hook-nestable-placeholder(){} +@mixin hook-nestable-empty(){} +@mixin hook-nestable-handle(){} +@mixin hook-nestable-toggle(){} +@mixin hook-nestable-panel(){} +@mixin hook-nestable-misc(){} +@mixin hook-notify(){} +@mixin hook-notify-message(){} +@mixin hook-notify-message-primary(){} +@mixin hook-notify-message-success(){} +@mixin hook-notify-message-warning(){} +@mixin hook-notify-message-danger(){} +@mixin hook-notify-misc(){} +@mixin hook-placeholder(){} +@mixin hook-placeholder-large(){} +@mixin hook-placeholder-misc(){} +@mixin hook-progress(){} +@mixin hook-progress-bar(){} +@mixin hook-progress-mini(){} +@mixin hook-progress-small(){} +@mixin hook-progress-bar-success(){} +@mixin hook-progress-bar-warning(){} +@mixin hook-progress-bar-danger(){} +@mixin hook-progress-misc(){} +@mixin hook-search(){} +@mixin hook-search-icon(){} +@mixin hook-search-field(){} +@mixin hook-search-field-focus(){} +@mixin hook-dropdown-search(){} +@mixin hook-nav-search(){} +@mixin hook-nav-search-active(){} +@mixin hook-nav-search-header(){} +@mixin hook-nav-search-divider(){} +@mixin hook-offcanvas-search-field(){} +@mixin hook-search-misc(){} +@mixin hook-slidenav(){} +@mixin hook-slidenav-hover(){} +@mixin hook-slidenav-active(){} +@mixin hook-slidenav-contrast(){} +@mixin hook-slidenav-contrast-hover(){} +@mixin hook-slidenav-contrast-active(){} +@mixin hook-slidenav-misc(){} +@mixin hook-slider-misc(){} +@mixin hook-slideshow-misc(){} +@mixin hook-sortable(){} +@mixin hook-sortable-dragged(){} +@mixin hook-sortable-placeholder(){} +@mixin hook-sortable-empty(){} +@mixin hook-sortable-misc(){} +@mixin hook-sticky-misc(){} +@mixin hook-tooltip(){} +@mixin hook-tooltip-misc(){} +@mixin hook-upload-misc(){} +@mixin hook-alert(){} +@mixin hook-alert-success(){} +@mixin hook-alert-warning(){} +@mixin hook-alert-danger(){} +@mixin hook-alert-misc(){} +@mixin hook-animation-misc(){} +@mixin hook-article-title(){} +@mixin hook-article-meta(){} +@mixin hook-article-lead(){} +@mixin hook-article-divider(){} +@mixin hook-article-misc(){} +@mixin hook-badge(){} +@mixin hook-badge-success(){} +@mixin hook-badge-warning(){} +@mixin hook-badge-danger(){} +@mixin hook-badge-misc(){} +@mixin hook-base-body(){} +@mixin hook-base-link(){} +@mixin hook-base-link-hover(){} +@mixin hook-base-code(){} +@mixin hook-base-h(){} +@mixin hook-base-h1(){} +@mixin hook-base-h2(){} +@mixin hook-base-h3(){} +@mixin hook-base-h4(){} +@mixin hook-base-h5(){} +@mixin hook-base-h6(){} +@mixin hook-base-hr(){} +@mixin hook-base-blockquote(){} +@mixin hook-base-pre(){} +@mixin hook-base-misc(){} +@mixin hook-block(){} +@mixin hook-block-default(){} +@mixin hook-block-muted(){} +@mixin hook-block-secondary(){} +@mixin hook-block-primary(){} +@mixin hook-block-misc(){} +@mixin hook-breadcrumb(){} +@mixin hook-breadcrumb-divider(){} +@mixin hook-breadcrumb-misc(){} +@mixin hook-button(){} +@mixin hook-button-hover(){} +@mixin hook-button-active(){} +@mixin hook-button-primary(){} +@mixin hook-button-primary-hover(){} +@mixin hook-button-primary-active(){} +@mixin hook-button-success(){} +@mixin hook-button-success-hover(){} +@mixin hook-button-success-active(){} +@mixin hook-button-danger(){} +@mixin hook-button-danger-hover(){} +@mixin hook-button-danger-active(){} +@mixin hook-button-disable(){} +@mixin hook-button-link(){} +@mixin hook-button-large(){} +@mixin hook-button-misc(){} +@mixin hook-column(){} +@mixin hook-column-misc(){} +@mixin hook-close(){} +@mixin hook-close-alt(){} +@mixin hook-close-misc(){} +@mixin hook-contrast-base-code(){} +@mixin hook-contrast-nav-side(){} +@mixin hook-contrast-nav-side-hover(){} +@mixin hook-contrast-nav-side-active(){} +@mixin hook-contrast-nav-side-header(){} +@mixin hook-contrast-nav-side-divider(){} +@mixin hook-contrast-subnav(){} +@mixin hook-contrast-subnav-hover(){} +@mixin hook-contrast-subnav-active(){} +@mixin hook-contrast-subnav-line-divider(){} +@mixin hook-contrast-subnav-pill-hover(){} +@mixin hook-contrast-subnav-pill-active(){} +@mixin hook-contrast-tab(){} +@mixin hook-contrast-tab-hover(){} +@mixin hook-contrast-tab-active(){} +@mixin hook-contrast-list-line(){} +@mixin hook-contrast-form(){} +@mixin hook-contrast-form-focus(){} +@mixin hook-contrast-button(){} +@mixin hook-contrast-button-hover(){} +@mixin hook-contrast-button-active(){} +@mixin hook-contrast-button-primary(){} +@mixin hook-contrast-button-primary-hover(){} +@mixin hook-contrast-button-primary-active(){} +@mixin hook-contrast-icon-hover(){} +@mixin hook-contrast-icon-hover-hover(){} +@mixin hook-contrast-icon-button(){} +@mixin hook-contrast-icon-button-hover(){} +@mixin hook-contrast-icon-button-active(){} +@mixin hook-contrast-misc(){} +@mixin hook-comment(){} +@mixin hook-comment-header(){} +@mixin hook-comment-avatar(){} +@mixin hook-comment-title(){} +@mixin hook-comment-meta(){} +@mixin hook-comment-body(){} +@mixin hook-comment-primary(){} +@mixin hook-comment-misc(){} +@mixin hook-cover-misc(){} +@mixin hook-description-list-misc(){} +@mixin hook-dropdown(){} +@mixin hook-dropdown-navbar(){} +@mixin hook-dropdown-overlay(){} +@mixin hook-dropdown-misc(){} +@mixin hook-flex-misc(){} +@mixin hook-form(){} +@mixin hook-form-focus(){} +@mixin hook-form-disabled(){} +@mixin hook-form-legend(){} +@mixin hook-form-danger(){} +@mixin hook-form-success(){} +@mixin hook-form-blank(){} +@mixin hook-form-blank-focus(){} +@mixin hook-form-stacked-label(){} +@mixin hook-form-horizontal-label(){} +@mixin hook-form-misc(){} +@mixin hook-grid-misc(){} +@mixin hook-icon-hover(){} +@mixin hook-icon-hover-hover(){} +@mixin hook-icon-button(){} +@mixin hook-icon-button-hover(){} +@mixin hook-icon-button-active(){} +@mixin hook-icon-misc(){} +@mixin hook-list-line(){} +@mixin hook-list-striped(){} +@mixin hook-list-misc(){} +@mixin hook-modal(){} +@mixin hook-modal-dialog(){} +@mixin hook-modal-dialog-lightbox(){} +@mixin hook-modal-header(){} +@mixin hook-modal-footer(){} +@mixin hook-modal-caption(){} +@mixin hook-modal-spinner(){} +@mixin hook-modal-misc(){} +@mixin hook-nav-header(){} +@mixin hook-nav-divider(){} +@mixin hook-nav-sub(){} +@mixin hook-nav-parent-icon(){} +@mixin hook-nav-side(){} +@mixin hook-nav-side-hover(){} +@mixin hook-nav-side-active(){} +@mixin hook-nav-side-header(){} +@mixin hook-nav-side-divider(){} +@mixin hook-nav-dropdown(){} +@mixin hook-nav-dropdown-hover(){} +@mixin hook-nav-dropdown-header(){} +@mixin hook-nav-dropdown-divider(){} +@mixin hook-nav-navbar(){} +@mixin hook-nav-navbar-hover(){} +@mixin hook-nav-navbar-header(){} +@mixin hook-nav-navbar-divider(){} +@mixin hook-nav-offcanvas(){} +@mixin hook-nav-offcanvas-hover(){} +@mixin hook-nav-offcanvas-active(){} +@mixin hook-nav-offcanvas-header(){} +@mixin hook-nav-offcanvas-divider(){} +@mixin hook-nav-misc(){} +@mixin hook-navbar(){} +@mixin hook-navbar-nav(){} +@mixin hook-navbar-nav-hover(){} +@mixin hook-navbar-nav-onclick(){} +@mixin hook-navbar-nav-active(){} +@mixin hook-navbar-content(){} +@mixin hook-navbar-misc(){} +@mixin hook-offcanvas(){} +@mixin hook-offcanvas-bar(){} +@mixin hook-offcanvas-panel(){} +@mixin hook-offcanvas-misc(){} +@mixin hook-panel-title(){} +@mixin hook-panel-badge(){} +@mixin hook-panel-box(){} +@mixin hook-panel-box-hover(){} +@mixin hook-panel-box-primary(){} +@mixin hook-panel-box-primary-hover(){} +@mixin hook-panel-box-secondary(){} +@mixin hook-panel-box-secondary-hover(){} +@mixin hook-panel-hover(){} +@mixin hook-panel-hover-hover(){} +@mixin hook-panel-header(){} +@mixin hook-panel-misc(){} +@mixin hook-pagination-item(){} +@mixin hook-pagination-link(){} +@mixin hook-pagination-link-hover(){} +@mixin hook-pagination-link-active(){} +@mixin hook-pagination-active(){} +@mixin hook-pagination-disabled(){} +@mixin hook-pagination-misc(){} +@mixin hook-overlay-panel(){} +@mixin hook-overlay-background(){} +@mixin hook-overlay-image(){} +@mixin hook-overlay-icon(){} +@mixin hook-overlay-misc(){} +@mixin hook-overlay-area(){} +@mixin hook-overlay-area-icon(){} +@mixin hook-overlay-area-content(){} +@mixin hook-overlay-caption(){} +@mixin hook-print(){} +@mixin hook-subnav(){} +@mixin hook-subnav-hover(){} +@mixin hook-subnav-active(){} +@mixin hook-subnav-line-divider(){} +@mixin hook-subnav-pill(){} +@mixin hook-subnav-pill-hover(){} +@mixin hook-subnav-pill-active(){} +@mixin hook-subnav-disabled(){} +@mixin hook-subnav-misc(){} +@mixin hook-switcher-misc(){} +@mixin hook-tab(){} +@mixin hook-tab-hover(){} +@mixin hook-tab-active(){} +@mixin hook-tab-disabled(){} +@mixin hook-tab-misc(){} +@mixin hook-table(){} +@mixin hook-table-active(){} +@mixin hook-table-striped(){} +@mixin hook-table-condensed(){} +@mixin hook-table-hover(){} +@mixin hook-table-misc(){} +@mixin hook-text-misc(){} +@mixin hook-thumbnail(){} +@mixin hook-thumbnail-hover(){} +@mixin hook-thumbnail-caption(){} +@mixin hook-thumbnail-misc(){} +@mixin hook-thumbnav(){} +@mixin hook-thumbnav-misc(){} +@mixin hook-container(){} +@mixin hook-scrollable-box(){} +@mixin hook-utility-misc(){} \ No newline at end of file diff --git a/bower_components/uikit/scss/uikit-variables.scss b/bower_components/uikit/scss/uikit-variables.scss new file mode 100644 index 0000000..16c77f3 --- /dev/null +++ b/bower_components/uikit/scss/uikit-variables.scss @@ -0,0 +1,819 @@ +$accordion-title-margin-bottom: 15px !default; +$accordion-title-padding-vertical: 5px !default; +$accordion-title-padding-horizontal: 15px !default; +$accordion-title-font-size: 18px !default; +$accordion-title-line-height: 24px !default; +$accordion-title-background: #eee !default; +$accordion-content-padding-horizontal: $accordion-title-padding-horizontal !default; +$accordion-content-padding-bottom: $accordion-title-padding-horizontal !default; +$nav-autocomplete-color: #444 !default; +$nav-autocomplete-active-background: #00a8e6 !default; +$nav-autocomplete-active-color: #fff !default; +$nav-autocomplete-header-color: #999 !default; +$nav-autocomplete-divider-border: #ddd !default; +$nav-autocomplete-divider-border-width: 1px !default; +$datepicker-z-index: 1050 !default; +$datepicker-animation: uk-fade !default; +$datepicker-nav-height: 20px !default; +$datepicker-nav-margin-bottom: 15px !default; +$datepicker-nav-color: #444 !default; +$datepicker-nav-hover-color: #444 !default; +$datepicker-previous-icon: "\f053" !default; +$datepicker-next-icon: "\f054" !default; +$datepicker-table-width: 26px !default; +$datepicker-table-height: 24px !default; +$datepicker-table-color: #444 !default; +$datepicker-table-hover-background: #ddd !default; +$datepicker-table-hover-color: #444 !default; +$datepicker-table-onclick-background: #ccc !default; +$datepicker-table-onclick-color: #444 !default; +$datepicker-table-active-background: #00a8e6 !default; +$datepicker-table-active-color: #fff !default; +$datepicker-table-muted-color: #999 !default; +$dotnav-margin-horizontal: 15px !default; +$dotnav-margin-vertical: $dotnav-margin-horizontal !default; +$dotnav-width: 20px !default; +$dotnav-height: $dotnav-width !default; +$dotnav-background: rgba(50,50,50,0.1) !default; +$dotnav-hover-background: rgba(50,50,50,0.4) !default; +$dotnav-onclick-background: rgba(50,50,50,0.6) !default; +$dotnav-active-background: rgba(50,50,50,0.4) !default; +$dotnav-contrast-background: rgba(255,255,255,0.4) !default; +$dotnav-contrast-hover-background: rgba(255,255,255,0.7) !default; +$dotnav-contrast-onclick-background: rgba(255,255,255,0.9) !default; +$dotnav-contrast-active-background: rgba(255,255,255,0.9) !default; +$form-advanced-size: 14px !default; +$form-advanced-border: #aaa !default; +$form-advanced-border-width: 1px !default; +$form-advanced-margin-top: -4px !default; +$form-advanced-color: transparent !default; +$form-advanced-checked-color: #00a8e6 !default; +$form-advanced-radio-size: 8px !default; +$form-advanced-checkbox-icon: "\f00c" !default; +$form-advanced-checkbox-indeterminate-icon: "\f068" !default; +$form-advanced-checkbox-font-size: 12px !default; +$form-advanced-disabled-border: #ddd !default; +$form-advanced-disabled-color: #aaa !default; +$form-password-font-size: 13px !default; +$form-password-line-height: $form-password-font-size !default; +$form-password-color: #999 !default; +$form-password-hover-color: #999 !default; +$form-password-padding: 50px !default; +$htmleditor-navbar-background: #eee !default; +$htmleditor-navbar-nav-height: 40px !default; +$htmleditor-navbar-nav-padding-horizontal: 15px !default; +$htmleditor-navbar-nav-line-height: $htmleditor-navbar-nav-height !default; +$htmleditor-navbar-nav-color: #444 !default; +$htmleditor-navbar-nav-hover-background: #f5f5f5 !default; +$htmleditor-navbar-nav-hover-color: #444 !default; +$htmleditor-navbar-nav-onclick-background: #ddd !default; +$htmleditor-navbar-nav-onclick-color: #444 !default; +$htmleditor-navbar-nav-active-background: #f5f5f5 !default; +$htmleditor-navbar-nav-active-color: #444 !default; +$htmleditor-content-border: #ddd !default; +$htmleditor-content-background: #fff !default; +$htmleditor-content-padding: 20px !default; +$htmleditor-content-split-border: #eee !default; +$htmleditor-fullscreen-z-index: 990 !default; +$htmleditor-fullscreen-content-top: $htmleditor-navbar-nav-height !default; +$htmleditor-fullscreen-icon-resize: "\f066" !default; +$nestable-padding-left: 40px !default; +$nestable-item-margin: 10px !default; +$nestable-dragged-z-index: 1050 !default; +$nestable-placeholder-border: #ddd !default; +$nestable-empty-height: 30px !default; +$nestable-toggle-icon: "\f147" !default; +$nestable-toggle-collapsed-icon: "\f196" !default; +$nestable-panel-padding: 5px !default; +$nestable-panel-background: #f5f5f5 !default; +$notify-position: 10px !default; +$notify-z-index: 1040 !default; +$notify-width: 350px !default; +$notify-message-margin-bottom: 10px !default; +$notify-message-padding: 15px !default; +$notify-message-background: #444 !default; +$notify-message-color: #fff !default; +$notify-message-font-size: 16px !default; +$notify-message-line-height: 22px !default; +$notify-message-primary-background: #ebf7fd !default; +$notify-message-primary-color: #2d7091 !default; +$notify-message-success-background: #f2fae3 !default; +$notify-message-success-color: #659f13 !default; +$notify-message-warning-background: #fffceb !default; +$notify-message-warning-color: #e28327 !default; +$notify-message-danger-background: #fff1f0 !default; +$notify-message-danger-color: #d85030 !default; +$placeholder-margin-vertical: 15px !default; +$placeholder-padding: 20px !default; +$placeholder-border: #ddd !default; +$placeholder-background: #fafafa !default; +$placeholder-color: #444 !default; +$placeholder-large-padding-vertical: 80px !default; +$progress-height: 20px !default; +$progress-mini-height: 6px !default; +$progress-small-height: 12px !default; +$progress-margin-vertical: 15px !default; +$progress-background: #eee !default; +$progress-bar-background: #00a8e6 !default; +$progress-bar-font-size: 12px !default; +$progress-bar-color: #fff !default; +$progress-bar-success-background: #8cc14c !default; +$progress-bar-warning-background: #faa732 !default; +$progress-bar-danger-background: #da314b !default; +$search-width: 120px !default; +$search-focus-width: 180px !default; +$search-height: 30px !default; +$search-padding: 30px !default; +$search-border: rgba(0,0,0,0) !default; +$search-border-width: 1px !default; +$search-background: rgba(0,0,0,0) !default; +$search-color: #444 !default; +$search-placeholder-color: #999 !default; +$search-icon: "\f002" !default; +$search-icon-size: 14px !default; +$search-icon-color: rgba(0,0,0,0.2) !default; +$dropdown-search-width: 300px !default; +$dropdown-search-margin-top: 0 !default; +$dropdown-search-background: #f5f5f5 !default; +$dropdown-search-color: #444 !default; +$dropdown-search-animation: uk-slide-top-fixed !default; +$dropdown-search-navbar-margin-top: 5px !default; +$dropdown-search-navbar-margin-right: -15px !default; +$nav-search-color: #444 !default; +$nav-search-active-background: #00a8e6 !default; +$nav-search-active-color: #fff !default; +$nav-search-header-color: #999 !default; +$nav-search-divider-border: #ddd !default; +$nav-search-divider-border-width: 1px !default; +$nav-search-nested-color: #07D !default; +$nav-search-nested-hover-color: #059 !default; +$offcanvas-search-margin: 20px 15px !default; +$offcanvas-search-background: #1a1a1a !default; +$offcanvas-search-border: rgba(0,0,0,0) !default; +$offcanvas-search-color: #ccc !default; +$offcanvas-search-placeholder-color: #777 !default; +$offcanvas-search-icon-color: #777 !default; +$slidenav-width: 60px !default; +$slidenav-height: $slidenav-width !default; +$slidenav-color: rgba(50,50,50,0.4) !default; +$slidenav-font-size: 60px !default; +$slidenav-line-height: $slidenav-height !default; +$slidenav-previous-icon: "\f104" !default; +$slidenav-next-icon: "\f105" !default; +$slidenav-hover-color: rgba(50,50,50,0.7) !default; +$slidenav-active-color: rgba(50,50,50,0.9) !default; +$slidenav-position-previous: 20px !default; +$slidenav-position-next: $slidenav-position-previous !default; +$slidenav-contrast-color: rgba(255,255,255,0.5) !default; +$slidenav-contrast-hover-color: rgba(255,255,255,0.7) !default; +$slidenav-contrast-active-color: rgba(255,255,255,0.9) !default; +$sortable-dragged-z-index: 1050 !default; +$sortable-placeholder-opacity: 0 !default; +$sortable-empty-height: 30px !default; +$sticky-z-index: 980 !default; +$sticky-animation-duration: 0.2s !default; +$sticky-reverse-animation-duration: 0.2s !default; +$tooltip-z-index: 1030 !default; +$tooltip-max-width: 200px !default; +$tooltip-padding-vertical: 5px !default; +$tooltip-padding-horizontal: 8px !default; +$tooltip-background: #333 !default; +$tooltip-triangle-size: 5px !default; +$tooltip-color: rgba(255,255,255,0.7) !default; +$tooltip-font-size: 12px !default; +$tooltip-line-height: 18px !default; +$tooltip-offset-horizontal: 10px !default; +$uk-upload-dragover-box-shadow: rgba(100,100,100,0.3) !default; +$uk-upload-dragover-box-shadow-blur: 20px !default; +$alert-margin-vertical: 15px !default; +$alert-padding: 10px !default; +$alert-background: #ebf7fd !default; +$alert-color: #2d7091 !default; +$alert-success-background: #f2fae3 !default; +$alert-success-color: #659f13 !default; +$alert-warning-background: #fffceb !default; +$alert-warning-color: #e28327 !default; +$alert-danger-background: #fff1f0 !default; +$alert-danger-color: #d85030 !default; +$alert-large-padding: 20px !default; +$article-margin-top: 25px !default; +$article-title-font-size: 36px !default; +$article-title-line-height: 42px !default; +$article-title-font-weight: normal !default; +$article-title-text-transform: none !default; +$article-meta-font-size: 12px !default; +$article-meta-line-height: 18px !default; +$article-meta-color: #999 !default; +$article-lead-color: #444 !default; +$article-lead-font-size: 18px !default; +$article-lead-line-height: 24px !default; +$article-lead-font-weight: normal !default; +$article-divider-margin: 25px !default; +$article-divider-border: #ddd !default; +$badge-background: #00a8e6 !default; +$badge-padding-horizontal: 5px !default; +$badge-font-size: 10px !default; +$badge-font-weight: bold !default; +$badge-line-height: 14px !default; +$badge-color: #fff !default; +$badge-text-transform: none !default; +$badge-hover-color: #fff !default; +$badge-notification-font-size: 12px !default; +$badge-notification-line-height: 18px !default; +$badge-success-background: #8cc14c !default; +$badge-warning-background: #faa732 !default; +$badge-danger-background: #da314b !default; +$base-body-background: #fff !default; +$base-body-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; +$base-body-font-weight: normal !default; +$base-body-font-size: 14px !default; +$base-body-line-height: 20px !default; +$base-body-color: #444 !default; +$base-link-color: #07D !default; +$base-link-text-decoration: none !default; +$base-link-hover-color: #059 !default; +$base-link-hover-text-decoration: underline !default; +$base-code-color: #D05 !default; +$base-code-font-size: 12px !default; +$base-code-font-family: Consolas, monospace, serif !default; +$base-em-color: #D05 !default; +$base-ins-background: #ffa !default; +$base-ins-color: #444 !default; +$base-mark-background: #ffa !default; +$base-mark-color: #444 !default; +$base-quote-font-style: italic !default; +$base-margin-vertical: 15px !default; +$base-heading-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; +$base-heading-font-weight: normal !default; +$base-heading-color: #444 !default; +$base-heading-text-transform: none !default; +$base-heading-margin-top: 25px !default; +$base-h1-font-size: 36px !default; +$base-h1-line-height: 42px !default; +$base-h2-font-size: 24px !default; +$base-h2-line-height: 30px !default; +$base-h3-font-size: 18px !default; +$base-h3-line-height: 24px !default; +$base-h4-font-size: 16px !default; +$base-h4-line-height: 22px !default; +$base-h5-font-size: 14px !default; +$base-h5-line-height: 20px !default; +$base-h6-font-size: 12px !default; +$base-h6-line-height: 18px !default; +$base-list-padding-left: 30px !default; +$base-hr-margin-vertical: $base-margin-vertical !default; +$base-hr-border: #ddd !default; +$base-hr-border-width: 1px !default; +$base-blockquote-padding-left: 15px !default; +$base-blockquote-border: #ddd !default; +$base-blockquote-border-width: 5px !default; +$base-blockquote-font-size: 16px !default; +$base-blockquote-line-height: 22px !default; +$base-blockquote-font-style: italic !default; +$base-pre-padding: 10px !default; +$base-pre-background: #f5f5f5 !default; +$base-pre-color: #444 !default; +$base-pre-font-size: 12px !default; +$base-pre-line-height: 18px !default; +$base-pre-font-family: $base-code-font-family !default; +$base-selection-background: #39f !default; +$base-selection-color: #fff !default; +$block-padding-vertical: 20px !default; +$block-padding-vertical-large: 50px !default; +$block-large-padding-vertical: $block-padding-vertical !default; +$block-large-padding-vertical-medium: $block-padding-vertical-large !default; +$block-large-padding-vertical-large: 100px !default; +$block-default-background: #fff !default; +$block-muted-background: #f9f9f9 !default; +$block-primary-background: #00a8e6 !default; +$block-secondary-background: #222 !default; +$breadcrumb-font-size: 1rem !default; +$breadcrumb-divider: "/" !default; +$breadcrumb-divider-margin: 8px !default; +$breadcrumb-disabled-color: #999 !default; +$button-height: 30px !default; +$button-mini-height: 20px !default; +$button-small-height: 25px !default; +$button-large-height: 40px !default; +$button-line-height: 30px !default; +$button-mini-line-height: 20px !default; +$button-small-line-height: 25px !default; +$button-large-line-height: 40px !default; +$button-mini-font-size: 11px !default; +$button-small-font-size: 12px !default; +$button-large-font-size: 16px !default; +$button-padding-horizontal: 12px !default; +$button-mini-padding-horizontal: 6px !default; +$button-small-padding-horizontal: 10px !default; +$button-large-padding-horizontal: 15px !default; +$button-font-size: 1rem !default; +$button-background: #eee !default; +$button-color: #444 !default; +$button-hover-background: #f5f5f5 !default; +$button-hover-color: #444 !default; +$button-active-background: #ddd !default; +$button-active-color: #444 !default; +$button-primary-background: #00a8e6 !default; +$button-primary-color: #fff !default; +$button-primary-hover-background: #35b3ee !default; +$button-primary-hover-color: #fff !default; +$button-primary-active-background: #0091ca !default; +$button-primary-active-color: #fff !default; +$button-success-background: #8cc14c !default; +$button-success-color: #fff !default; +$button-success-hover-background: #8ec73b !default; +$button-success-hover-color: #fff !default; +$button-success-active-background: #72ae41 !default; +$button-success-active-color: #fff !default; +$button-danger-background: #da314b !default; +$button-danger-color: #fff !default; +$button-danger-hover-background: #e4354f !default; +$button-danger-hover-color: #fff !default; +$button-danger-active-background: #c91032 !default; +$button-danger-active-color: #fff !default; +$button-disabled-background: #f5f5f5 !default; +$button-disabled-color: #999 !default; +$button-link-color: #07D !default; +$button-link-hover-color: #059 !default; +$button-link-hover-text-decoration: underline !default; +$button-link-disabled-color: #999 !default; +$close-size: 20px !default; +$close-alt-padding: 2px !default; +$close-alt-background: #eee !default; +$column-gutter: 25px !default; +$comment-header-margin-bottom: 15px !default; +$comment-avatar-margin-right: 15px !default; +$comment-title-margin-top: 5px !default; +$comment-title-font-size: 16px !default; +$comment-title-line-height: 22px !default; +$comment-meta-margin-top: 2px !default; +$comment-meta-color: #999 !default; +$comment-meta-font-size: 11px !default; +$comment-meta-line-height: 16px !default; +$comment-list-margin-top: 15px !default; +$comment-list-padding-left: 100px !default; +$contrast-color: #fff !default; +$contrast-inverted-color: #444 !default; +$contrast-base-color: $contrast-color !default; +$contrast-base-link-color: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-base-link-text-decoration: none !default; +$contrast-base-link-hover-color: $contrast-color !default; +$contrast-base-link-hover-text-decoration: underline !default; +$contrast-base-code-color: $contrast-color !default; +$contrast-base-em-color: $contrast-color !default; +$contrast-base-heading-color: $contrast-color !default; +$contrast-base-hr-border: fade-out($contrast-color, 0.8) !default; +$contrast-nav-side-color: $contrast-color !default; +$contrast-nav-side-hover-background: fade-out($contrast-color, 0.9) !default; +$contrast-nav-side-hover-color: $contrast-color !default; +$contrast-nav-side-active-background: $contrast-color !default; +$contrast-nav-side-active-color: $contrast-inverted-color !default; +$contrast-nav-side-header-color: $contrast-color !default; +$contrast-nav-side-divider-border: fade-out($contrast-color, 0.8) !default; +$contrast-nav-side-nested-color: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-nav-side-nested-hover-color: $contrast-color !default; +$contrast-subnav-color: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-subnav-hover-color: $contrast-color !default; +$contrast-subnav-hover-text-decoration: none !default; +$contrast-subnav-active-color: $contrast-color !default; +$contrast-subnav-line-border: fade-out($contrast-color, 0.8) !default; +$contrast-subnav-pill-hover-background: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-subnav-pill-hover-color: $contrast-inverted-color !default; +$contrast-subnav-pill-active-background: $contrast-color !default; +$contrast-subnav-pill-active-color: $contrast-inverted-color !default; +$contrast-tab-border: fade-out($contrast-color, 0.8) !default; +$contrast-tab-color: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-tab-hover-border: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-tab-hover-background: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-tab-hover-color: $contrast-inverted-color !default; +$contrast-tab-active-border: fade-out($contrast-color, 0.8) !default; +$contrast-tab-active-background: $contrast-color !default; +$contrast-tab-active-color: $contrast-inverted-color !default; +$contrast-list-line-border: fade-out($contrast-color, 0.8) !default; +$contrast-form-border: fade-out($contrast-color, 0.19999999999999996) !default; +$contrast-form-background: fade-out($contrast-color, 0.19999999999999996) !default; +$contrast-form-color: $contrast-inverted-color !default; +$contrast-form-focus-border: $contrast-color !default; +$contrast-form-focus-background: $contrast-color !default; +$contrast-form-focus-color: $contrast-inverted-color !default; +$contrast-form-placeholder-color: fade-out($contrast-inverted-color, 0.30000000000000004) !default; +$contrast-button-background: $contrast-color !default; +$contrast-button-color: $contrast-inverted-color !default; +$contrast-button-hover-background: fade-out($contrast-color, 0.19999999999999996) !default; +$contrast-button-hover-color: $contrast-inverted-color !default; +$contrast-button-active-background: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-button-active-color: $contrast-inverted-color !default; +$contrast-button-primary-background: #00a8e6 !default; +$contrast-button-primary-color: $contrast-color !default; +$contrast-button-primary-hover-background: #35b3ee !default; +$contrast-button-primary-hover-color: $contrast-color !default; +$contrast-button-primary-active-background: #0091ca !default; +$contrast-button-primary-active-color: $contrast-color !default; +$contrast-icon-hover-color: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-icon-hover-hover-color: $contrast-color !default; +$contrast-icon-button-background: $contrast-color !default; +$contrast-icon-button-color: $contrast-inverted-color !default; +$contrast-icon-button-hover-background: fade-out($contrast-color, 0.19999999999999996) !default; +$contrast-icon-button-hover-color: $contrast-inverted-color !default; +$contrast-icon-button-active-background: fade-out($contrast-color, 0.30000000000000004) !default; +$contrast-icon-button-active-color: $contrast-inverted-color !default; +$contrast-text-muted-color: fade-out($contrast-color, 0.4) !default; +$contrast-text-primary-color: #2d7091 !default; +$description-list-horizontal-width: 160px !default; +$description-list-horizontal-margin-left: 180px !default; +$description-list-line-margin-top: 5px !default; +$description-list-line-border-width: 1px !default; +$description-list-line-border: #ddd !default; +$description-list-line-color: #999 !default; +$description-list-line-font-weight: normal !default; +$dropdown-z-index: 970 !default; +$dropdown-width: 200px !default; +$dropdown-margin-top: 5px !default; +$dropdown-padding: 15px !default; +$dropdown-background: #f5f5f5 !default; +$dropdown-color: #444 !default; +$dropdown-font-size: 1rem !default; +$dropdown-animation: uk-fade !default; +$dropdown-divider-border-width: 1px !default; +$dropdown-divider-border: #ddd !default; +$dropdown-small-padding: 5px !default; +$dropdown-navbar-margin: 0 !default; +$dropdown-navbar-background: #f5f5f5 !default; +$dropdown-navbar-color: #444 !default; +$dropdown-navbar-animation: uk-slide-top-fixed !default; +$dropdown-scrollable-height: 200px !default; +$form-height: 30px !default; +$form-padding: 4px 6px !default; +$form-border: #ddd !default; +$form-border-width: 1px !default; +$form-background: #fff !default; +$form-color: #444 !default; +$form-focus-border: #99baca !default; +$form-focus-background: #f5fbfe !default; +$form-focus-color: #444 !default; +$form-disabled-border: #ddd !default; +$form-disabled-background: #f5f5f5 !default; +$form-disabled-color: #999 !default; +$form-placeholder-color: #999 !default; +$form-gutter: 15px !default; +$form-legend-border: #ddd !default; +$form-legend-border-width: 1px !default; +$form-legend-font-size: 18px !default; +$form-legend-line-height: 30px !default; +$form-small-height: 25px !default; +$form-large-height: 40px !default; +$form-small-padding: 3px 3px !default; +$form-large-padding: 8px 6px !default; +$form-small-font-size: 12px !default; +$form-large-font-size: 16px !default; +$form-danger-border: #dc8d99 !default; +$form-danger-background: #fff7f8 !default; +$form-danger-color: #d85030 !default; +$form-success-border: #8ec73b !default; +$form-success-background: #fafff2 !default; +$form-success-color: #659f13 !default; +$form-blank-border: #ddd !default; +$form-blank-border-style: dashed !default; +$form-mini-width: 40px !default; +$form-small-width: 130px !default; +$form-medium-width: 200px !default; +$form-large-width: 500px !default; +$form-help-inline-margin-left: 10px !default; +$form-help-block-margin-top: 5px !default; +$form-controls-condensed-margin-vertical: 5px !default; +$form-stacked-margin-bottom: 5px !default; +$form-stacked-font-weight: bold !default; +$form-horizontal-label-width: 200px !default; +$form-horizontal-label-margin-top: 5px !default; +$form-horizontal-controls-margin-left: 215px !default; +$form-horizontal-controls-text-padding-top: 5px !default; +$form-icon-width: 30px !default; +$form-icon-font-size: 14px !default; +$form-icon-color: #999 !default; +$grid-gutter-horizontal: 25px !default; +$grid-gutter-vertical: 25px !default; +$grid-gutter-large-horizontal: 35px !default; +$grid-gutter-large-vertical: 35px !default; +$grid-gutter-xlarge-horizontal: 50px !default; +$grid-gutter-xlarge-vertical: 50px !default; +$grid-gutter-small-horizontal: 10px !default; +$grid-gutter-small-vertical: 10px !default; +$grid-divider-border: #ddd !default; +$grid-divider-border-width: 1px !default; +$icon-font-path: "../fonts" !default; +$icon-small-font-size: 150% !default; +$icon-medium-font-size: 200% !default; +$icon-large-font-size: 250% !default; +$icon-small-vertical-align: -10% !default; +$icon-medium-vertical-align: -16% !default; +$icon-large-vertical-align: -22% !default; +$icon-hover-color: #999 !default; +$icon-hover-hover-color: #444 !default; +$icon-button-width: 35px !default; +$icon-button-height: $icon-button-width !default; +$icon-button-border-radius: 100% !default; +$icon-button-background: #eee !default; +$icon-button-font-size: round(($icon-button-width * 0.5)) !default; +$icon-button-color: #444 !default; +$icon-button-hover-background: #f5f5f5 !default; +$icon-button-hover-color: #444 !default; +$icon-button-active-background: #ddd !default; +$icon-button-active-color: #444 !default; +$list-nested-padding-left: 20px !default; +$list-line-margin-top: 5px !default; +$list-line-border: #ddd !default; +$list-line-border-width: 1px !default; +$list-striped-padding-vertical: 5px !default; +$list-striped-padding-horizontal: 5px !default; +$list-striped-background: #f5f5f5 !default; +$list-space-margin-top: 10px !default; +$modal-z-index: 1010 !default; +$modal-background: rgba(0,0,0,0.6) !default; +$modal-dialog-margin-vertical: 50px !default; +$modal-dialog-padding: 20px !default; +$modal-dialog-width: 600px !default; +$modal-dialog-background: #fff !default; +$modal-dialog-large-width: 930px !default; +$modal-dialog-large-width-large: 1130px !default; +$modal-header-margin-bottom: 15px !default; +$modal-footer-margin-top: 15px !default; +$modal-caption-margin-bottom: -10px !default; +$modal-caption-color: #fff !default; +$nav-padding-vertical: 5px !default; +$nav-padding-horizontal: 15px !default; +$nav-header-padding-vertical: $nav-padding-vertical !default; +$nav-header-padding-horizontal: $nav-padding-horizontal !default; +$nav-header-font-size: 12px !default; +$nav-header-font-weight: bold !default; +$nav-header-text-transform: uppercase !default; +$nav-header-margin-top: 15px !default; +$nav-divider-margin-vertical: 9px !default; +$nav-divider-margin-horizontal: $nav-padding-horizontal !default; +$nav-subtitle-font-size: 12px !default; +$nav-subtitle-line-height: 18px !default; +$nav-nested-padding-left: 15px !default; +$nav-nested-padding-vertical: 2px !default; +$nav-nested-padding-horizontal: 0 !default; +$nav-sub-padding-vertical: 5px !default; +$nav-sub-padding-left: $nav-padding-horizontal !default; +$nav-parent-icon: "\f104" !default; +$nav-parent-open-icon: "\f107" !default; +$nav-parent-icon-width: 20px !default; +$nav-parent-icon-margin-right: -10px !default; +$nav-side-color: #444 !default; +$nav-side-hover-background: rgba(0,0,0,0.05) !default; +$nav-side-hover-color: #444 !default; +$nav-side-active-background: #00a8e6 !default; +$nav-side-active-color: #fff !default; +$nav-side-header-color: #444 !default; +$nav-side-divider-border: #ddd !default; +$nav-side-divider-border-width: 1px !default; +$nav-side-nested-color: #07D !default; +$nav-side-nested-hover-color: #059 !default; +$nav-dropdown-color: #444 !default; +$nav-dropdown-hover-background: #00a8e6 !default; +$nav-dropdown-hover-color: #fff !default; +$nav-dropdown-header-color: #999 !default; +$nav-dropdown-divider-border: #ddd !default; +$nav-dropdown-divider-border-width: 1px !default; +$nav-dropdown-nested-color: #07D !default; +$nav-dropdown-nested-hover-color: #059 !default; +$nav-navbar-color: #444 !default; +$nav-navbar-hover-background: #00a8e6 !default; +$nav-navbar-hover-color: #fff !default; +$nav-navbar-header-color: #999 !default; +$nav-navbar-divider-border: #ddd !default; +$nav-navbar-divider-border-width: 1px !default; +$nav-navbar-nested-color: #07D !default; +$nav-navbar-nested-hover-color: #059 !default; +$nav-offcanvas-padding-vertical: 10px !default; +$nav-offcanvas-padding-horizontal: 15px !default; +$nav-offcanvas-color: #ccc !default; +$nav-offcanvas-hover-background: #404040 !default; +$nav-offcanvas-hover-color: #fff !default; +$nav-offcanvas-active-background: #1a1a1a !default; +$nav-offcanvas-active-color: #fff !default; +$nav-offcanvas-header-color: #777 !default; +$nav-offcanvas-divider-border: #1a1a1a !default; +$nav-offcanvas-divider-border-width: 1px !default; +$nav-offcanvas-nested-color: #ccc !default; +$nav-offcanvas-nested-hover-color: #fff !default; +$navbar-background: #eee !default; +$navbar-color: #444 !default; +$navbar-link-color: #07D !default; +$navbar-link-hover-color: #059 !default; +$navbar-nav-height: 40px !default; +$navbar-nav-line-height: $navbar-nav-height !default; +$navbar-nav-padding-horizontal: 15px !default; +$navbar-nav-color: #444 !default; +$navbar-nav-font-size: 14px !default; +$navbar-nav-font-weight: normal !default; +$navbar-nav-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; +$navbar-nav-hover-background: #f5f5f5 !default; +$navbar-nav-hover-color: #444 !default; +$navbar-nav-onclick-background: #ddd !default; +$navbar-nav-onclick-color: #444 !default; +$navbar-nav-active-background: #f5f5f5 !default; +$navbar-nav-active-color: #444 !default; +$navbar-nav-subtitle-font-size: 10px !default; +$navbar-nav-subtitle-offset: 2px !default; +$navbar-brand-font-size: 18px !default; +$navbar-brand-color: #444 !default; +$navbar-brand-hover-color: #444 !default; +$navbar-toggle-font-size: 18px !default; +$navbar-toggle-color: #444 !default; +$navbar-toggle-hover-color: #444 !default; +$navbar-toggle-icon: "\f0c9" !default; +$navbar-toggle-icon-alt: "\f002" !default; +$offcanvas-z-index: 1000 !default; +$offcanvas-background: rgba(0,0,0,0.1) !default; +$offcanvas-bar-width: 270px !default; +$offcanvas-bar-background: #333 !default; +$offcanvas-panel-margin: 20px 15px !default; +$offcanvas-panel-color: #777 !default; +$offcanvas-panel-link-color: #ccc !default; +$offcanvas-panel-link-hover-color: #fff !default; +$offcanvas-panel-title-color: $offcanvas-panel-link-color !default; +$overlay-panel-padding: 20px !default; +$overlay-panel-color: #fff !default; +$overlay-panel-background: rgba(0,0,0,0.5) !default; +$overlay-icon: "\f002" !default; +$overlay-icon-size: 50px !default; +$overlay-icon-color: #fff !default; +$overlay-fade-in-opacity: 1 !default; +$overlay-fade-out-opacity: 0.7 !default; +$overlay-scale-in-scale: 1.1 !default; +$overlay-scale-out-scale: 1 !default; +$overlay-spin-in-scale: 1.1 !default; +$overlay-spin-out-scale: 1 !default; +$overlay-spin-in-rotate: 3deg !default; +$overlay-spin-out-rotate: 0deg !default; +$overlay-panel-link-color: inherit !default; +$overlay-panel-link-text-decoration: underline !default; +$overlay-area-background: rgba(0,0,0,0.3) !default; +$overlay-area-icon: "\f002" !default; +$overlay-area-icon-size: 50px !default; +$overlay-area-icon-color: #fff !default; +$overlay-area-content-font-size: 1rem !default; +$overlay-area-content-padding-horizontal: 15px !default; +$overlay-area-content-color: #fff !default; +$overlay-area-content-link-color: inherit !default; +$overlay-caption-background: rgba(0,0,0,0.5) !default; +$overlay-caption-padding: 15px !default; +$overlay-caption-color: #fff !default; +$pagination-font-size: 1rem !default; +$pagination-margin-left: 5px !default; +$pagination-padding-vertical: 3px !default; +$pagination-padding-horizontal: 5px !default; +$pagination-line-height: 20px !default; +$pagination-background: #eee !default; +$pagination-color: #444 !default; +$pagination-hover-background: #f5f5f5 !default; +$pagination-hover-color: #444 !default; +$pagination-onclick-background: #ddd !default; +$pagination-onclick-color: #444 !default; +$pagination-active-background: #00a8e6 !default; +$pagination-active-color: #fff !default; +$pagination-disabled-background: #f5f5f5 !default; +$pagination-disabled-color: #999 !default; +$panel-title-margin-bottom: 15px !default; +$panel-title-font-size: 18px !default; +$panel-title-line-height: 24px !default; +$panel-title-font-weight: normal !default; +$panel-title-color: #444 !default; +$panel-title-text-transform: none !default; +$panel-teaser-margin-bottom: $panel-title-margin-bottom !default; +$panel-box-padding: 15px !default; +$panel-box-background: #f5f5f5 !default; +$panel-box-color: #444 !default; +$panel-box-hover-color: $panel-box-color !default; +$panel-box-title-color: #444 !default; +$panel-box-badge-top: 10px !default; +$panel-box-badge-right: $panel-box-badge-top !default; +$panel-box-teaser-margin: -$panel-box-padding !default; +$panel-box-primary-background: #ebf7fd !default; +$panel-box-primary-color: #2d7091 !default; +$panel-box-primary-hover-color: $panel-box-primary-color !default; +$panel-box-primary-title-color: #2d7091 !default; +$panel-box-secondary-background: #eee !default; +$panel-box-secondary-color: #444 !default; +$panel-box-secondary-hover-color: $panel-box-secondary-color !default; +$panel-box-secondary-title-color: #444 !default; +$panel-hover-padding: 15px !default; +$panel-hover-color: #444 !default; +$panel-hover-hover-background: #f5f5f5 !default; +$panel-hover-hover-color: #444 !default; +$panel-hover-badge-top: 10px !default; +$panel-hover-badge-right: $panel-hover-badge-top !default; +$panel-hover-teaser-margin: -$panel-hover-padding !default; +$panel-header-title-padding: 10px !default; +$panel-header-title-border: #ddd !default; +$panel-header-title-border-width: 1px !default; +$panel-header-title-color: #444 !default; +$panel-space-padding: 30px !default; +$panel-divider-gutter: 25px !default; +$panel-divider-gutter-large: 35px !default; +$panel-divider-border: #ddd !default; +$panel-divider-border-width: 1px !default; +$panel-body-padding: $panel-box-padding !default; +$subnav-margin-horizontal: 10px !default; +$subnav-margin-vertical: $subnav-margin-horizontal !default; +$subnav-color: #444 !default; +$subnav-hover-color: #07D !default; +$subnav-hover-text-decoration: none !default; +$subnav-active-color: #07D !default; +$subnav-line-border-height: 10px !default; +$subnav-line-border: #ddd !default; +$subnav-line-border-width: 1px !default; +$subnav-pill-padding-vertical: 3px !default; +$subnav-pill-padding-horizontal: 9px !default; +$subnav-pill-hover-background: #eee !default; +$subnav-pill-hover-color: #444 !default; +$subnav-pill-active-background: #00a8e6 !default; +$subnav-pill-active-color: #fff !default; +$subnav-disabled-color: #999 !default; +$tab-border: #ddd !default; +$tab-border-width: 1px !default; +$tab-padding-horizontal: 12px !default; +$tab-padding-vertical: 8px !default; +$tab-padding-top: $tab-padding-vertical !default; +$tab-padding-bottom: $tab-padding-vertical !default; +$tab-margin-horizontal: 5px !default; +$tab-margin-vertical: 5px !default; +$tab-color: #07D !default; +$tab-hover-border: #f5f5f5 !default; +$tab-hover-background: #f5f5f5 !default; +$tab-hover-color: #059 !default; +$tab-active-border: #ddd !default; +$tab-active-background: #fff !default; +$tab-active-color: #444 !default; +$tab-disabled-color: #999 !default; +$table-margin-vertical: 15px !default; +$table-padding-vertical: 8px !default; +$table-padding-horizontal: 8px !default; +$table-caption-color: #999 !default; +$table-caption-font-size: 12px !default; +$table-striped-background: #f5f5f5 !default; +$table-condensed-padding-vertical: 4px !default; +$table-condensed-padding-horizontal: 8px !default; +$table-hover-background: #EEE !default; +$table-active-background: $table-hover-background !default; +$text-small-font-size: 11px !default; +$text-small-line-height: 16px !default; +$text-large-font-size: 18px !default; +$text-large-line-height: 24px !default; +$text-large-font-weight: normal !default; +$text-muted-color: #999 !default; +$text-primary-color: #2d7091 !default; +$text-success-color: #659f13 !default; +$text-warning-color: #e28327 !default; +$text-danger-color: #d85030 !default; +$text-contrast-color: #fff !default; +$thumbnail-padding: 4px !default; +$thumbnail-border: #ddd !default; +$thumbnail-border-width: 1px !default; +$thumbnail-background: #fff !default; +$thumbnail-hover-border: #aaa !default; +$thumbnail-hover-background: #fff !default; +$thumbnail-caption-padding: $thumbnail-padding !default; +$thumbnail-caption-color: #444 !default; +$thumbnail-mini-width: 150px !default; +$thumbnail-small-width: 200px !default; +$thumbnail-medium-width: 300px !default; +$thumbnail-large-width: 400px !default; +$thumbnav-margin-horizontal: 10px !default; +$thumbnav-margin-vertical: $thumbnav-margin-horizontal !default; +$thumbnav-background: #fff !default; +$thumbnav-opacity: 0.7 !default; +$thumbnav-hover-opacity: 1 !default; +$thumbnav-active-opacity: 1 !default; +$utility-container-max-width: 980px !default; +$utility-container-padding-horizontal: 25px !default; +$utility-container-large-max-width: 1200px !default; +$utility-container-large-padding-horizontal: 35px !default; +$utility-align-horizontal: 15px !default; +$utility-align-vertical: 15px !default; +$utility-height-viewport-min-height: 600px !default; +$utility-margin: 15px !default; +$utility-margin-small: 5px !default; +$utility-margin-large: 50px !default; +$utility-border-rounded: 5px !default; +$utility-heading-large-small-font-size: 36px !default; +$utility-heading-large-small-line-height: 42px !default; +$utility-heading-large-font-size: 52px !default; +$utility-heading-large-line-height: 64px !default; +$utility-link-muted-color: #444 !default; +$utility-link-muted-hover-color: #444 !default; +$utility-scrollable-text-height: 300px !default; +$utility-scrollable-box-height: 170px !default; +$utility-scrollable-box-padding: 10px !default; +$utility-scrollable-box-border: #ddd !default; +$utility-scrollable-box-border-width: 1px !default; +$breakpoint-small: 480px !default; +$breakpoint-medium: 768px !default; +$breakpoint-large: 960px !default; +$breakpoint-xlarge: 1220px !default; +$breakpoint-mini-max: ($breakpoint-small - 1) !default; +$breakpoint-small-max: ($breakpoint-medium - 1) !default; +$breakpoint-medium-max: ($breakpoint-large - 1) !default; +$breakpoint-large-max: ($breakpoint-xlarge - 1); \ No newline at end of file diff --git a/bower_components/uikit/scss/uikit.scss b/bower_components/uikit/scss/uikit.scss new file mode 100644 index 0000000..d58bd0a --- /dev/null +++ b/bower_components/uikit/scss/uikit.scss @@ -0,0 +1,52 @@ +// LESS related +@import "core/variables.scss"; + +// Defaults +@import "core/base.scss"; + +// Layout +@import "core/grid.scss"; +@import "core/panel.scss"; +@import "core/block.scss"; +@import "core/article.scss"; +@import "core/comment.scss"; +@import "core/cover.scss"; + +// Navs +@import "core/nav.scss"; +@import "core/navbar.scss"; +@import "core/subnav.scss"; +@import "core/breadcrumb.scss"; +@import "core/pagination.scss"; +@import "core/tab.scss"; +@import "core/thumbnav.scss"; + +// Elements +@import "core/list.scss"; +@import "core/description-list.scss"; +@import "core/table.scss"; +@import "core/form.scss"; + +// Common +@import "core/button.scss"; +@import "core/icon.scss"; +@import "core/close.scss"; +@import "core/badge.scss"; +@import "core/alert.scss"; +@import "core/thumbnail.scss"; +@import "core/overlay.scss"; +@import "core/column.scss"; +@import "core/animation.scss"; + +// JavaScript +@import "core/dropdown.scss"; +@import "core/modal.scss"; +@import "core/offcanvas.scss"; +@import "core/switcher.scss"; + +// Need to be loaded last +@import "core/text.scss"; +@import "core/utility.scss"; +@import "core/flex.scss"; +@import "core/contrast.scss"; +@import "core/print.scss"; diff --git a/bower_components/waypoints/.bower.json b/bower_components/waypoints/.bower.json new file mode 100644 index 0000000..da5392b --- /dev/null +++ b/bower_components/waypoints/.bower.json @@ -0,0 +1,29 @@ +{ + "name": "waypoints", + "main": "lib/noframework.waypoints.js", + "description": "Easily execute a function when you scroll to an element.", + "ignore": [ + "gulpfile.js", + "package.json", + "src", + "test", + "testem.json" + ], + "devDependencies": { + "jquery": "~1.11.1", + "lodash": "~2.4.1", + "jasmine-jquery": "~1.7.0", + "zepto": "~1.1.3" + }, + "homepage": "https://github.com/imakewebthings/waypoints", + "version": "4.0.1", + "_release": "4.0.1", + "_resolution": { + "type": "version", + "tag": "4.0.1", + "commit": "9122b72c0435f926675c817d43850f1711baeaf8" + }, + "_source": "https://github.com/imakewebthings/waypoints.git", + "_target": "^4.0.1", + "_originalSource": "waypoints" +} \ No newline at end of file diff --git a/bower_components/waypoints/.eslintrc b/bower_components/waypoints/.eslintrc new file mode 100644 index 0000000..8e7865f --- /dev/null +++ b/bower_components/waypoints/.eslintrc @@ -0,0 +1,25 @@ +{ + "env": { + "browser": true, + "node": true + }, + + "rules": { + "brace-style": [1, "stroustrup"], + "consistent-this": [1, "self"], + "eqeqeq": [1, "smart"], + "func-style": [1, "declaration"], + "no-else-return": 1, + "no-extra-parens": 1, + "no-floating-decimal": 1, + "no-nested-ternary": 1, + "no-lonely-if": 1, + "quotes": [1, "single", "avoid-escape"], + "radix": 1, + "semi": [1, "never"], + "space-after-keywords": [1, "always"], + "space-in-brackets": [1, "never"], + "space-unary-word-ops": 1, + "wrap-iife": 1 + } +} diff --git a/bower_components/waypoints/.gitignore b/bower_components/waypoints/.gitignore new file mode 100644 index 0000000..7f0e595 --- /dev/null +++ b/bower_components/waypoints/.gitignore @@ -0,0 +1,7 @@ +_site +.sass-cache +.DS_Store +/style.scss +*.gz +node_modules +bower_components diff --git a/bower_components/waypoints/.travis.yml b/bower_components/waypoints/.travis.yml new file mode 100644 index 0000000..f4910ba --- /dev/null +++ b/bower_components/waypoints/.travis.yml @@ -0,0 +1,7 @@ +language: node_js +sudo: false +node_js: + - "0.10" +before_script: + - npm install -g bower + - bower install diff --git a/bower_components/waypoints/CHANGELOG.md b/bower_components/waypoints/CHANGELOG.md new file mode 100644 index 0000000..f35c978 --- /dev/null +++ b/bower_components/waypoints/CHANGELOG.md @@ -0,0 +1,141 @@ +# Changelog + +## v4.0.0 + +- Allow Sticky option `wrapper` to accept false, which will not create a wrapper and instead use the preexisting parent element. (Pull #416) +- Waypoints that are immediately triggered on creation because they've already passed their trigger point now run their handlers on the next animation frame. This contains Zalgo. (Issue #384) +- Pass the jQuery object of items added during an Infinite page load to the `onAfterPageLoad` callback. (Pull #398) +- Add `enabled` option, `enable` and `disable` methods to the Inview shortcut (Pull #406) +- Make the Inview instance `this` within the callbacks, rather than the invdividual underlying waypoints. (Issue #412) +- Account for changes to jQuery 3 around calling `offset` on the window. (Pull #430) +- Add `context` option to Inview. (Issue #433) + +## v3.1.1 + +- Fix bad `isWindow` checks causing errors in IE8-. (Issue #372) + +## v3.1.0 + +- Add `Waypoint.disableAll` and `Waypoint.enableAll` methods. +- Fix Illegal Invocation errors stemming from non-window context use of `requestAnimationFrame`. (Pull #366) +- Keep disabled waypoints from triggering debug script errors. (Pull #365) +- Allow Infinite Scroll items to be root elements in the AJAX response. (Pull #361) +- In debug script, detect display none and fixed positioning defined in CSS. + +## v3.0.1 + +- Add semicolons to the end of built files to aid in clean concatenation. (Issue #353) + +## v3.0.0 + +- Remove hard jQuery dependency. Create builds for jQuery, Zepto, and no DOM framework. (Issue #282) +- Expose `Waypoint` and `Context` classes. (Issue #281) +- Add `Group` class and `group` option for grouping waypoints. Make `continuous` option work within these groups. (Issue #264) +- Add Inview shortcut. (Issue #131) +- Extend `continuous` option to cover refreshes. (Issue #166) +- Throttle resize and scroll handlers using `requestAnimationFrame` instead of a set millisecond timeout. Fallback to the old 60 FPS `setTimeout` throttle for unsupported browsers. (Issue #242) +- Add debugging script for diagnosing common problems. +- Remove `triggerOnce` option. +- Add `viewportWidth` utility method. +- Remove all traces of CoffeeScript. + +## v2.0.5 + +- Allow sticky users to define which direction the stuck class shold be applied. (Issue #192) +- Fix bug where short content on a large screen could cause the infinite shortcut to stall after the first page load. (Issue #207) +- Make `unsticky` safe to use on any element. Previously it would unwrap the parent even if the element had never had `sticky` called on it or already had `unsticky` called previously. (Issue #225) +- Fix bug that would cause handlers to be overwritten when trying to reuse an options object. (Issue #253) +- Remove "More" link when infinite shortcut reaches last page. (Issue #260) +- Fix use of `this` instead of `window`, causing Browserify to fail. (Issue #262) +- Stop using deprecated jQuery `load` method. (Issue #283) + +## v2.0.4 + +- Fix enable, disable, and destroys calls not chaining the jQuery object. (Issue #244) (Thanks [@robharper](https://github.com/robharper)) +- Fix destroy not unregistering internal waypoint references if underlying node has been removed from the document, causing memory leaks. (Issue #243) + +## v2.0.3 + +- Add "unsticky" function for sticky shortcut. (Issue #130) +- Exit early from Infinite shortcut if no "more" link exists. (Issue #140) +- Delay height evaluation of sticky shortcut wrapper. (Issue #151) +- Fix errors with Infinite shortcut's parsing of HTML with jQuery 1.9+. (Issue #163) + + +## v2.0.2 + +- Add AMD support. (Issue #116) +- Work around iOS issue with cancelled `setTimeout` timers by not using scroll throttling on touch devices. (Issue #120) +- If defined, execute `handler` option passed to sticky shortcut at the end of the stuck/unstuck change. (Issue #123) + +## v2.0.1 + +- Lower default throttle values for `scrollThrottle` and `resizeThrottle`. +- Fix Issue #104: Pixel offsets written as strings are interpreted as %s. +- Fix Issue #100: Work around IE not firing scroll event on document shortening by forcing a scroll check on `refresh` calls. + +## v2.0.0 + +- Rewrite Waypoints in CoffeeScript. +- Add Sticky and Infinite shortcut scripts. +- Allow multiple Waypoints on each element. (Issue #40) +- Allow horizontal scrolling Waypoints. (Issue #14) +- API additions: (#69, 83, 88) + - prev, next, above, below, left, right, extendFn, enable, disable +- API subtractions: + - remove +- Remove custom 'waypoint.reached' jQuery Event from powering the trigger. +- $.waypoints now returns object with vertical+horizontal properties and HTMLElement arrays instead of jQuery object (to preserve trigger order instead of jQuery's forced source order). +- Add enabled option. + +## v1.1.7 + +- Actually fix the post-load bug in Issue #28 from v1.1.3. + +## v1.1.6 + +- Fix potential memory leak by unbinding events on empty context elements. + +## v1.1.5 + +- Make plugin compatible with Browserify/RequireJS. (Thanks [@cjroebuck](https://github.com/cjroebuck)) + +## v1.1.4 + +- Add handler option to give alternate binding method. + +## v1.1.3 + +- Fix cases where waypoints are added post-load and should be triggered immediately. + +## v1.1.2 + +- Fixed error thrown by waypoints with triggerOnce option that were triggered via resize refresh. + +## v1.1.1 + +- Fixed bug in initialization where all offsets were being calculated as if set to 0 initially, causing unwarranted triggers during the subsequent refresh. +- Added `onlyOnScroll`, an option for individual waypoints that disables triggers due to an offset refresh that crosses the current scroll point. (All credit to [@knuton](https://github.com/knuton) on this one.) + +## v1.1 + +- Moved the continuous option out of global settings and into the options + object for individual waypoints. +- Added the context option, which allows for using waypoints within any + scrollable element, not just the window. + +## v1.0.2 + +- Moved scroll and resize handler bindings out of load. Should play nicer with async loaders like Head JS and LABjs. +- Fixed a 1px off error when using certain % offsets. +- Added unit tests. + +## v1.0.1 + +- Added $.waypoints('viewportHeight'). +- Fixed iOS bug (using the new viewportHeight method). +- Added offset function alias: 'bottom-in-view'. + +## v1.0 + +- Initial release. diff --git a/bower_components/waypoints/CONTRIBUTING.md b/bower_components/waypoints/CONTRIBUTING.md new file mode 100644 index 0000000..8e6e9b1 --- /dev/null +++ b/bower_components/waypoints/CONTRIBUTING.md @@ -0,0 +1,31 @@ +# Opening an Issue + +The GitHub issue tracker is exclusively for opening demonstrable bugs with the library or for discussing/implementing enhancements. If you need general help with Waypoints try searching through existing closed tickets, searching through the [#jquery-waypoints](http://stackoverflow.com/questions/tagged/jquery-waypoints) tag on StackOverflow, or asking your question there using that tag. If you do ask a question on StackOverflow, please follow the guidelines for [asking a good question](http://stackoverflow.com/help/how-to-ask). + +If you're opening a ticket for a bug: + +- Give a clear explanation of the bug. +- Try to provide a link to a [JSFiddle](http://jsfiddle.net/) or [CodePen](http://codepen.io/) or similar reduced test case. +- If you cannot provide a reduced test case, please provide a link to a live site demonstrating your bug and include in the ticket the relevant Waypoints code. + +If you're interested in discussing a possible new feature: + +- Search closed tickets for discussions that may have already occurred. +- Open a ticket and let's talk! + +# Pull Requests + +- Please send the pull request against the master branch. +- Note any tickets that the pull request addresses. +- Add any necessary tests (see below). +- Follow the coding style of the current codebase. + +# Tests + +Tests are written in [Jasmine](http://jasmine.github.io/) and run through the [testem](https://github.com/airportyh/testem) test runner. To run them locally you'll need to: + +- Install, if you haven't already: [PhantomJS](http://phantomjs.org/), node, and [Bower](bower.io). +- `npm install` +- `bower install` + +You can then run the tests one time by running `npm test`, or enter TDD mode by running `npm run tdd`. diff --git a/bower_components/waypoints/README.md b/bower_components/waypoints/README.md new file mode 100644 index 0000000..387be82 --- /dev/null +++ b/bower_components/waypoints/README.md @@ -0,0 +1,33 @@ +# Waypoints + +Waypoints is a library that makes it easy to execute a function whenever you scroll to an element. ![Build Status](https://travis-ci.org/imakewebthings/waypoints.svg) + +```js +var waypoint = new Waypoint({ + element: document.getElementById('thing'), + handler: function(direction) { + alert('You have scrolled to a thing') + } +}) +``` + +If you're new to Waypoints, check out the [Getting Started](http://imakewebthings.com/waypoints/guides/getting-started) guide. + +[Read the full documentation](http://imakewebthings.com/waypoints/api/waypoint) for more details on usage and customization. + +## Shortcuts + +In addition to the normal Waypoints script, extensions exist to make common UI patterns just a little easier to implement: + +- [Infinite Scrolling](http://imakewebthings.com/waypoints/shortcuts/infinite-scroll) +- [Sticky Elements](http://imakewebthings.com/waypoints/shortcuts/sticky-elements) +- [Inview Detection](http://imakewebthings.com/waypoints/shortcuts/inview) + + +## Contributing + +If you want to report a Waypoints bug or contribute code to the library, please read the [Contributing Guidelines](https://github.com/imakewebthings/waypoints/blob/master/CONTRIBUTING.md). If you need help *using* Waypoints, please do not open an issue. Instead, ask the question on [Stack Overflow](http://stackoverflow.com) and tag it with #jquery-waypoints. Be sure to follow the guidelines for [asking a good question](http://stackoverflow.com/help/how-to-ask). + +## License + +Copyright (c) 2011-2014 Caleb Troughton. Licensed under the [MIT license](https://github.com/imakewebthings/waypoints/blob/master/licenses.txt). diff --git a/bower_components/waypoints/bower.json b/bower_components/waypoints/bower.json new file mode 100644 index 0000000..01f3cde --- /dev/null +++ b/bower_components/waypoints/bower.json @@ -0,0 +1,18 @@ +{ + "name": "waypoints", + "main": "lib/noframework.waypoints.js", + "description": "Easily execute a function when you scroll to an element.", + "ignore": [ + "gulpfile.js", + "package.json", + "src", + "test", + "testem.json" + ], + "devDependencies": { + "jquery": "~1.11.1", + "lodash": "~2.4.1", + "jasmine-jquery": "~1.7.0", + "zepto": "~1.1.3" + } +} diff --git a/bower_components/waypoints/lib/jquery.waypoints.js b/bower_components/waypoints/lib/jquery.waypoints.js new file mode 100644 index 0000000..90372dd --- /dev/null +++ b/bower_components/waypoints/lib/jquery.waypoints.js @@ -0,0 +1,649 @@ +/*! +Waypoints - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +(function() { + 'use strict' + + var keyCounter = 0 + var allWaypoints = {} + + /* http://imakewebthings.com/waypoints/api/waypoint */ + function Waypoint(options) { + if (!options) { + throw new Error('No options passed to Waypoint constructor') + } + if (!options.element) { + throw new Error('No element option passed to Waypoint constructor') + } + if (!options.handler) { + throw new Error('No handler option passed to Waypoint constructor') + } + + this.key = 'waypoint-' + keyCounter + this.options = Waypoint.Adapter.extend({}, Waypoint.defaults, options) + this.element = this.options.element + this.adapter = new Waypoint.Adapter(this.element) + this.callback = options.handler + this.axis = this.options.horizontal ? 'horizontal' : 'vertical' + this.enabled = this.options.enabled + this.triggerPoint = null + this.group = Waypoint.Group.findOrCreate({ + name: this.options.group, + axis: this.axis + }) + this.context = Waypoint.Context.findOrCreateByElement(this.options.context) + + if (Waypoint.offsetAliases[this.options.offset]) { + this.options.offset = Waypoint.offsetAliases[this.options.offset] + } + this.group.add(this) + this.context.add(this) + allWaypoints[this.key] = this + keyCounter += 1 + } + + /* Private */ + Waypoint.prototype.queueTrigger = function(direction) { + this.group.queueTrigger(this, direction) + } + + /* Private */ + Waypoint.prototype.trigger = function(args) { + if (!this.enabled) { + return + } + if (this.callback) { + this.callback.apply(this, args) + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/destroy */ + Waypoint.prototype.destroy = function() { + this.context.remove(this) + this.group.remove(this) + delete allWaypoints[this.key] + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/disable */ + Waypoint.prototype.disable = function() { + this.enabled = false + return this + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/enable */ + Waypoint.prototype.enable = function() { + this.context.refresh() + this.enabled = true + return this + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/next */ + Waypoint.prototype.next = function() { + return this.group.next(this) + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/previous */ + Waypoint.prototype.previous = function() { + return this.group.previous(this) + } + + /* Private */ + Waypoint.invokeAll = function(method) { + var allWaypointsArray = [] + for (var waypointKey in allWaypoints) { + allWaypointsArray.push(allWaypoints[waypointKey]) + } + for (var i = 0, end = allWaypointsArray.length; i < end; i++) { + allWaypointsArray[i][method]() + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/destroy-all */ + Waypoint.destroyAll = function() { + Waypoint.invokeAll('destroy') + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/disable-all */ + Waypoint.disableAll = function() { + Waypoint.invokeAll('disable') + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/enable-all */ + Waypoint.enableAll = function() { + Waypoint.invokeAll('enable') + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/refresh-all */ + Waypoint.refreshAll = function() { + Waypoint.Context.refreshAll() + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/viewport-height */ + Waypoint.viewportHeight = function() { + return window.innerHeight || document.documentElement.clientHeight + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/viewport-width */ + Waypoint.viewportWidth = function() { + return document.documentElement.clientWidth + } + + Waypoint.adapters = [] + + Waypoint.defaults = { + context: window, + continuous: true, + enabled: true, + group: 'default', + horizontal: false, + offset: 0 + } + + Waypoint.offsetAliases = { + 'bottom-in-view': function() { + return this.context.innerHeight() - this.adapter.outerHeight() + }, + 'right-in-view': function() { + return this.context.innerWidth() - this.adapter.outerWidth() + } + } + + window.Waypoint = Waypoint +}()) +;(function() { + 'use strict' + + function requestAnimationFrameShim(callback) { + window.setTimeout(callback, 1000 / 60) + } + + var keyCounter = 0 + var contexts = {} + var Waypoint = window.Waypoint + var oldWindowLoad = window.onload + + /* http://imakewebthings.com/waypoints/api/context */ + function Context(element) { + this.element = element + this.Adapter = Waypoint.Adapter + this.adapter = new this.Adapter(element) + this.key = 'waypoint-context-' + keyCounter + this.didScroll = false + this.didResize = false + this.oldScroll = { + x: this.adapter.scrollLeft(), + y: this.adapter.scrollTop() + } + this.waypoints = { + vertical: {}, + horizontal: {} + } + + element.waypointContextKey = this.key + contexts[element.waypointContextKey] = this + keyCounter += 1 + + this.createThrottledScrollHandler() + this.createThrottledResizeHandler() + } + + /* Private */ + Context.prototype.add = function(waypoint) { + var axis = waypoint.options.horizontal ? 'horizontal' : 'vertical' + this.waypoints[axis][waypoint.key] = waypoint + this.refresh() + } + + /* Private */ + Context.prototype.checkEmpty = function() { + var horizontalEmpty = this.Adapter.isEmptyObject(this.waypoints.horizontal) + var verticalEmpty = this.Adapter.isEmptyObject(this.waypoints.vertical) + if (horizontalEmpty && verticalEmpty) { + this.adapter.off('.waypoints') + delete contexts[this.key] + } + } + + /* Private */ + Context.prototype.createThrottledResizeHandler = function() { + var self = this + + function resizeHandler() { + self.handleResize() + self.didResize = false + } + + this.adapter.on('resize.waypoints', function() { + if (!self.didResize) { + self.didResize = true + Waypoint.requestAnimationFrame(resizeHandler) + } + }) + } + + /* Private */ + Context.prototype.createThrottledScrollHandler = function() { + var self = this + function scrollHandler() { + self.handleScroll() + self.didScroll = false + } + + this.adapter.on('scroll.waypoints', function() { + if (!self.didScroll || Waypoint.isTouch) { + self.didScroll = true + Waypoint.requestAnimationFrame(scrollHandler) + } + }) + } + + /* Private */ + Context.prototype.handleResize = function() { + Waypoint.Context.refreshAll() + } + + /* Private */ + Context.prototype.handleScroll = function() { + var triggeredGroups = {} + var axes = { + horizontal: { + newScroll: this.adapter.scrollLeft(), + oldScroll: this.oldScroll.x, + forward: 'right', + backward: 'left' + }, + vertical: { + newScroll: this.adapter.scrollTop(), + oldScroll: this.oldScroll.y, + forward: 'down', + backward: 'up' + } + } + + for (var axisKey in axes) { + var axis = axes[axisKey] + var isForward = axis.newScroll > axis.oldScroll + var direction = isForward ? axis.forward : axis.backward + + for (var waypointKey in this.waypoints[axisKey]) { + var waypoint = this.waypoints[axisKey][waypointKey] + var wasBeforeTriggerPoint = axis.oldScroll < waypoint.triggerPoint + var nowAfterTriggerPoint = axis.newScroll >= waypoint.triggerPoint + var crossedForward = wasBeforeTriggerPoint && nowAfterTriggerPoint + var crossedBackward = !wasBeforeTriggerPoint && !nowAfterTriggerPoint + if (crossedForward || crossedBackward) { + waypoint.queueTrigger(direction) + triggeredGroups[waypoint.group.id] = waypoint.group + } + } + } + + for (var groupKey in triggeredGroups) { + triggeredGroups[groupKey].flushTriggers() + } + + this.oldScroll = { + x: axes.horizontal.newScroll, + y: axes.vertical.newScroll + } + } + + /* Private */ + Context.prototype.innerHeight = function() { + /*eslint-disable eqeqeq */ + if (this.element == this.element.window) { + return Waypoint.viewportHeight() + } + /*eslint-enable eqeqeq */ + return this.adapter.innerHeight() + } + + /* Private */ + Context.prototype.remove = function(waypoint) { + delete this.waypoints[waypoint.axis][waypoint.key] + this.checkEmpty() + } + + /* Private */ + Context.prototype.innerWidth = function() { + /*eslint-disable eqeqeq */ + if (this.element == this.element.window) { + return Waypoint.viewportWidth() + } + /*eslint-enable eqeqeq */ + return this.adapter.innerWidth() + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/context-destroy */ + Context.prototype.destroy = function() { + var allWaypoints = [] + for (var axis in this.waypoints) { + for (var waypointKey in this.waypoints[axis]) { + allWaypoints.push(this.waypoints[axis][waypointKey]) + } + } + for (var i = 0, end = allWaypoints.length; i < end; i++) { + allWaypoints[i].destroy() + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/context-refresh */ + Context.prototype.refresh = function() { + /*eslint-disable eqeqeq */ + var isWindow = this.element == this.element.window + /*eslint-enable eqeqeq */ + var contextOffset = isWindow ? undefined : this.adapter.offset() + var triggeredGroups = {} + var axes + + this.handleScroll() + axes = { + horizontal: { + contextOffset: isWindow ? 0 : contextOffset.left, + contextScroll: isWindow ? 0 : this.oldScroll.x, + contextDimension: this.innerWidth(), + oldScroll: this.oldScroll.x, + forward: 'right', + backward: 'left', + offsetProp: 'left' + }, + vertical: { + contextOffset: isWindow ? 0 : contextOffset.top, + contextScroll: isWindow ? 0 : this.oldScroll.y, + contextDimension: this.innerHeight(), + oldScroll: this.oldScroll.y, + forward: 'down', + backward: 'up', + offsetProp: 'top' + } + } + + for (var axisKey in axes) { + var axis = axes[axisKey] + for (var waypointKey in this.waypoints[axisKey]) { + var waypoint = this.waypoints[axisKey][waypointKey] + var adjustment = waypoint.options.offset + var oldTriggerPoint = waypoint.triggerPoint + var elementOffset = 0 + var freshWaypoint = oldTriggerPoint == null + var contextModifier, wasBeforeScroll, nowAfterScroll + var triggeredBackward, triggeredForward + + if (waypoint.element !== waypoint.element.window) { + elementOffset = waypoint.adapter.offset()[axis.offsetProp] + } + + if (typeof adjustment === 'function') { + adjustment = adjustment.apply(waypoint) + } + else if (typeof adjustment === 'string') { + adjustment = parseFloat(adjustment) + if (waypoint.options.offset.indexOf('%') > - 1) { + adjustment = Math.ceil(axis.contextDimension * adjustment / 100) + } + } + + contextModifier = axis.contextScroll - axis.contextOffset + waypoint.triggerPoint = elementOffset + contextModifier - adjustment + wasBeforeScroll = oldTriggerPoint < axis.oldScroll + nowAfterScroll = waypoint.triggerPoint >= axis.oldScroll + triggeredBackward = wasBeforeScroll && nowAfterScroll + triggeredForward = !wasBeforeScroll && !nowAfterScroll + + if (!freshWaypoint && triggeredBackward) { + waypoint.queueTrigger(axis.backward) + triggeredGroups[waypoint.group.id] = waypoint.group + } + else if (!freshWaypoint && triggeredForward) { + waypoint.queueTrigger(axis.forward) + triggeredGroups[waypoint.group.id] = waypoint.group + } + else if (freshWaypoint && axis.oldScroll >= waypoint.triggerPoint) { + waypoint.queueTrigger(axis.forward) + triggeredGroups[waypoint.group.id] = waypoint.group + } + } + } + + Waypoint.requestAnimationFrame(function() { + for (var groupKey in triggeredGroups) { + triggeredGroups[groupKey].flushTriggers() + } + }) + + return this + } + + /* Private */ + Context.findOrCreateByElement = function(element) { + return Context.findByElement(element) || new Context(element) + } + + /* Private */ + Context.refreshAll = function() { + for (var contextId in contexts) { + contexts[contextId].refresh() + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/context-find-by-element */ + Context.findByElement = function(element) { + return contexts[element.waypointContextKey] + } + + window.onload = function() { + if (oldWindowLoad) { + oldWindowLoad() + } + Context.refreshAll() + } + + Waypoint.requestAnimationFrame = function(callback) { + var requestFn = window.requestAnimationFrame || + window.mozRequestAnimationFrame || + window.webkitRequestAnimationFrame || + requestAnimationFrameShim + requestFn.call(window, callback) + } + Waypoint.Context = Context +}()) +;(function() { + 'use strict' + + function byTriggerPoint(a, b) { + return a.triggerPoint - b.triggerPoint + } + + function byReverseTriggerPoint(a, b) { + return b.triggerPoint - a.triggerPoint + } + + var groups = { + vertical: {}, + horizontal: {} + } + var Waypoint = window.Waypoint + + /* http://imakewebthings.com/waypoints/api/group */ + function Group(options) { + this.name = options.name + this.axis = options.axis + this.id = this.name + '-' + this.axis + this.waypoints = [] + this.clearTriggerQueues() + groups[this.axis][this.name] = this + } + + /* Private */ + Group.prototype.add = function(waypoint) { + this.waypoints.push(waypoint) + } + + /* Private */ + Group.prototype.clearTriggerQueues = function() { + this.triggerQueues = { + up: [], + down: [], + left: [], + right: [] + } + } + + /* Private */ + Group.prototype.flushTriggers = function() { + for (var direction in this.triggerQueues) { + var waypoints = this.triggerQueues[direction] + var reverse = direction === 'up' || direction === 'left' + waypoints.sort(reverse ? byReverseTriggerPoint : byTriggerPoint) + for (var i = 0, end = waypoints.length; i < end; i += 1) { + var waypoint = waypoints[i] + if (waypoint.options.continuous || i === waypoints.length - 1) { + waypoint.trigger([direction]) + } + } + } + this.clearTriggerQueues() + } + + /* Private */ + Group.prototype.next = function(waypoint) { + this.waypoints.sort(byTriggerPoint) + var index = Waypoint.Adapter.inArray(waypoint, this.waypoints) + var isLast = index === this.waypoints.length - 1 + return isLast ? null : this.waypoints[index + 1] + } + + /* Private */ + Group.prototype.previous = function(waypoint) { + this.waypoints.sort(byTriggerPoint) + var index = Waypoint.Adapter.inArray(waypoint, this.waypoints) + return index ? this.waypoints[index - 1] : null + } + + /* Private */ + Group.prototype.queueTrigger = function(waypoint, direction) { + this.triggerQueues[direction].push(waypoint) + } + + /* Private */ + Group.prototype.remove = function(waypoint) { + var index = Waypoint.Adapter.inArray(waypoint, this.waypoints) + if (index > -1) { + this.waypoints.splice(index, 1) + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/first */ + Group.prototype.first = function() { + return this.waypoints[0] + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/last */ + Group.prototype.last = function() { + return this.waypoints[this.waypoints.length - 1] + } + + /* Private */ + Group.findOrCreate = function(options) { + return groups[options.axis][options.name] || new Group(options) + } + + Waypoint.Group = Group +}()) +;(function() { + 'use strict' + + var $ = window.jQuery + var Waypoint = window.Waypoint + + function JQueryAdapter(element) { + this.$element = $(element) + } + + $.each([ + 'innerHeight', + 'innerWidth', + 'off', + 'offset', + 'on', + 'outerHeight', + 'outerWidth', + 'scrollLeft', + 'scrollTop' + ], function(i, method) { + JQueryAdapter.prototype[method] = function() { + var args = Array.prototype.slice.call(arguments) + return this.$element[method].apply(this.$element, args) + } + }) + + $.each([ + 'extend', + 'inArray', + 'isEmptyObject' + ], function(i, method) { + JQueryAdapter[method] = $[method] + }) + + Waypoint.adapters.push({ + name: 'jquery', + Adapter: JQueryAdapter + }) + Waypoint.Adapter = JQueryAdapter +}()) +;(function() { + 'use strict' + + var Waypoint = window.Waypoint + + function createExtension(framework) { + return function() { + var waypoints = [] + var overrides = arguments[0] + + if (framework.isFunction(arguments[0])) { + overrides = framework.extend({}, arguments[1]) + overrides.handler = arguments[0] + } + + this.each(function() { + var options = framework.extend({}, overrides, { + element: this + }) + if (typeof options.context === 'string') { + options.context = framework(this).closest(options.context)[0] + } + waypoints.push(new Waypoint(options)) + }) + + return waypoints + } + } + + if (window.jQuery) { + window.jQuery.fn.waypoint = createExtension(window.jQuery) + } + if (window.Zepto) { + window.Zepto.fn.waypoint = createExtension(window.Zepto) + } +}()) +; \ No newline at end of file diff --git a/bower_components/waypoints/lib/jquery.waypoints.min.js b/bower_components/waypoints/lib/jquery.waypoints.min.js new file mode 100644 index 0000000..20e6f62 --- /dev/null +++ b/bower_components/waypoints/lib/jquery.waypoints.min.js @@ -0,0 +1,7 @@ +/*! +Waypoints - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.$element=e(t)}var e=window.jQuery,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.$element[i].apply(this.$element,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;window.jQuery&&(window.jQuery.fn.waypoint=t(window.jQuery)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); \ No newline at end of file diff --git a/bower_components/waypoints/lib/noframework.waypoints.js b/bower_components/waypoints/lib/noframework.waypoints.js new file mode 100644 index 0000000..2de1c3c --- /dev/null +++ b/bower_components/waypoints/lib/noframework.waypoints.js @@ -0,0 +1,745 @@ +/*! +Waypoints - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +(function() { + 'use strict' + + var keyCounter = 0 + var allWaypoints = {} + + /* http://imakewebthings.com/waypoints/api/waypoint */ + function Waypoint(options) { + if (!options) { + throw new Error('No options passed to Waypoint constructor') + } + if (!options.element) { + throw new Error('No element option passed to Waypoint constructor') + } + if (!options.handler) { + throw new Error('No handler option passed to Waypoint constructor') + } + + this.key = 'waypoint-' + keyCounter + this.options = Waypoint.Adapter.extend({}, Waypoint.defaults, options) + this.element = this.options.element + this.adapter = new Waypoint.Adapter(this.element) + this.callback = options.handler + this.axis = this.options.horizontal ? 'horizontal' : 'vertical' + this.enabled = this.options.enabled + this.triggerPoint = null + this.group = Waypoint.Group.findOrCreate({ + name: this.options.group, + axis: this.axis + }) + this.context = Waypoint.Context.findOrCreateByElement(this.options.context) + + if (Waypoint.offsetAliases[this.options.offset]) { + this.options.offset = Waypoint.offsetAliases[this.options.offset] + } + this.group.add(this) + this.context.add(this) + allWaypoints[this.key] = this + keyCounter += 1 + } + + /* Private */ + Waypoint.prototype.queueTrigger = function(direction) { + this.group.queueTrigger(this, direction) + } + + /* Private */ + Waypoint.prototype.trigger = function(args) { + if (!this.enabled) { + return + } + if (this.callback) { + this.callback.apply(this, args) + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/destroy */ + Waypoint.prototype.destroy = function() { + this.context.remove(this) + this.group.remove(this) + delete allWaypoints[this.key] + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/disable */ + Waypoint.prototype.disable = function() { + this.enabled = false + return this + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/enable */ + Waypoint.prototype.enable = function() { + this.context.refresh() + this.enabled = true + return this + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/next */ + Waypoint.prototype.next = function() { + return this.group.next(this) + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/previous */ + Waypoint.prototype.previous = function() { + return this.group.previous(this) + } + + /* Private */ + Waypoint.invokeAll = function(method) { + var allWaypointsArray = [] + for (var waypointKey in allWaypoints) { + allWaypointsArray.push(allWaypoints[waypointKey]) + } + for (var i = 0, end = allWaypointsArray.length; i < end; i++) { + allWaypointsArray[i][method]() + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/destroy-all */ + Waypoint.destroyAll = function() { + Waypoint.invokeAll('destroy') + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/disable-all */ + Waypoint.disableAll = function() { + Waypoint.invokeAll('disable') + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/enable-all */ + Waypoint.enableAll = function() { + Waypoint.invokeAll('enable') + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/refresh-all */ + Waypoint.refreshAll = function() { + Waypoint.Context.refreshAll() + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/viewport-height */ + Waypoint.viewportHeight = function() { + return window.innerHeight || document.documentElement.clientHeight + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/viewport-width */ + Waypoint.viewportWidth = function() { + return document.documentElement.clientWidth + } + + Waypoint.adapters = [] + + Waypoint.defaults = { + context: window, + continuous: true, + enabled: true, + group: 'default', + horizontal: false, + offset: 0 + } + + Waypoint.offsetAliases = { + 'bottom-in-view': function() { + return this.context.innerHeight() - this.adapter.outerHeight() + }, + 'right-in-view': function() { + return this.context.innerWidth() - this.adapter.outerWidth() + } + } + + window.Waypoint = Waypoint +}()) +;(function() { + 'use strict' + + function requestAnimationFrameShim(callback) { + window.setTimeout(callback, 1000 / 60) + } + + var keyCounter = 0 + var contexts = {} + var Waypoint = window.Waypoint + var oldWindowLoad = window.onload + + /* http://imakewebthings.com/waypoints/api/context */ + function Context(element) { + this.element = element + this.Adapter = Waypoint.Adapter + this.adapter = new this.Adapter(element) + this.key = 'waypoint-context-' + keyCounter + this.didScroll = false + this.didResize = false + this.oldScroll = { + x: this.adapter.scrollLeft(), + y: this.adapter.scrollTop() + } + this.waypoints = { + vertical: {}, + horizontal: {} + } + + element.waypointContextKey = this.key + contexts[element.waypointContextKey] = this + keyCounter += 1 + + this.createThrottledScrollHandler() + this.createThrottledResizeHandler() + } + + /* Private */ + Context.prototype.add = function(waypoint) { + var axis = waypoint.options.horizontal ? 'horizontal' : 'vertical' + this.waypoints[axis][waypoint.key] = waypoint + this.refresh() + } + + /* Private */ + Context.prototype.checkEmpty = function() { + var horizontalEmpty = this.Adapter.isEmptyObject(this.waypoints.horizontal) + var verticalEmpty = this.Adapter.isEmptyObject(this.waypoints.vertical) + if (horizontalEmpty && verticalEmpty) { + this.adapter.off('.waypoints') + delete contexts[this.key] + } + } + + /* Private */ + Context.prototype.createThrottledResizeHandler = function() { + var self = this + + function resizeHandler() { + self.handleResize() + self.didResize = false + } + + this.adapter.on('resize.waypoints', function() { + if (!self.didResize) { + self.didResize = true + Waypoint.requestAnimationFrame(resizeHandler) + } + }) + } + + /* Private */ + Context.prototype.createThrottledScrollHandler = function() { + var self = this + function scrollHandler() { + self.handleScroll() + self.didScroll = false + } + + this.adapter.on('scroll.waypoints', function() { + if (!self.didScroll || Waypoint.isTouch) { + self.didScroll = true + Waypoint.requestAnimationFrame(scrollHandler) + } + }) + } + + /* Private */ + Context.prototype.handleResize = function() { + Waypoint.Context.refreshAll() + } + + /* Private */ + Context.prototype.handleScroll = function() { + var triggeredGroups = {} + var axes = { + horizontal: { + newScroll: this.adapter.scrollLeft(), + oldScroll: this.oldScroll.x, + forward: 'right', + backward: 'left' + }, + vertical: { + newScroll: this.adapter.scrollTop(), + oldScroll: this.oldScroll.y, + forward: 'down', + backward: 'up' + } + } + + for (var axisKey in axes) { + var axis = axes[axisKey] + var isForward = axis.newScroll > axis.oldScroll + var direction = isForward ? axis.forward : axis.backward + + for (var waypointKey in this.waypoints[axisKey]) { + var waypoint = this.waypoints[axisKey][waypointKey] + var wasBeforeTriggerPoint = axis.oldScroll < waypoint.triggerPoint + var nowAfterTriggerPoint = axis.newScroll >= waypoint.triggerPoint + var crossedForward = wasBeforeTriggerPoint && nowAfterTriggerPoint + var crossedBackward = !wasBeforeTriggerPoint && !nowAfterTriggerPoint + if (crossedForward || crossedBackward) { + waypoint.queueTrigger(direction) + triggeredGroups[waypoint.group.id] = waypoint.group + } + } + } + + for (var groupKey in triggeredGroups) { + triggeredGroups[groupKey].flushTriggers() + } + + this.oldScroll = { + x: axes.horizontal.newScroll, + y: axes.vertical.newScroll + } + } + + /* Private */ + Context.prototype.innerHeight = function() { + /*eslint-disable eqeqeq */ + if (this.element == this.element.window) { + return Waypoint.viewportHeight() + } + /*eslint-enable eqeqeq */ + return this.adapter.innerHeight() + } + + /* Private */ + Context.prototype.remove = function(waypoint) { + delete this.waypoints[waypoint.axis][waypoint.key] + this.checkEmpty() + } + + /* Private */ + Context.prototype.innerWidth = function() { + /*eslint-disable eqeqeq */ + if (this.element == this.element.window) { + return Waypoint.viewportWidth() + } + /*eslint-enable eqeqeq */ + return this.adapter.innerWidth() + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/context-destroy */ + Context.prototype.destroy = function() { + var allWaypoints = [] + for (var axis in this.waypoints) { + for (var waypointKey in this.waypoints[axis]) { + allWaypoints.push(this.waypoints[axis][waypointKey]) + } + } + for (var i = 0, end = allWaypoints.length; i < end; i++) { + allWaypoints[i].destroy() + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/context-refresh */ + Context.prototype.refresh = function() { + /*eslint-disable eqeqeq */ + var isWindow = this.element == this.element.window + /*eslint-enable eqeqeq */ + var contextOffset = isWindow ? undefined : this.adapter.offset() + var triggeredGroups = {} + var axes + + this.handleScroll() + axes = { + horizontal: { + contextOffset: isWindow ? 0 : contextOffset.left, + contextScroll: isWindow ? 0 : this.oldScroll.x, + contextDimension: this.innerWidth(), + oldScroll: this.oldScroll.x, + forward: 'right', + backward: 'left', + offsetProp: 'left' + }, + vertical: { + contextOffset: isWindow ? 0 : contextOffset.top, + contextScroll: isWindow ? 0 : this.oldScroll.y, + contextDimension: this.innerHeight(), + oldScroll: this.oldScroll.y, + forward: 'down', + backward: 'up', + offsetProp: 'top' + } + } + + for (var axisKey in axes) { + var axis = axes[axisKey] + for (var waypointKey in this.waypoints[axisKey]) { + var waypoint = this.waypoints[axisKey][waypointKey] + var adjustment = waypoint.options.offset + var oldTriggerPoint = waypoint.triggerPoint + var elementOffset = 0 + var freshWaypoint = oldTriggerPoint == null + var contextModifier, wasBeforeScroll, nowAfterScroll + var triggeredBackward, triggeredForward + + if (waypoint.element !== waypoint.element.window) { + elementOffset = waypoint.adapter.offset()[axis.offsetProp] + } + + if (typeof adjustment === 'function') { + adjustment = adjustment.apply(waypoint) + } + else if (typeof adjustment === 'string') { + adjustment = parseFloat(adjustment) + if (waypoint.options.offset.indexOf('%') > - 1) { + adjustment = Math.ceil(axis.contextDimension * adjustment / 100) + } + } + + contextModifier = axis.contextScroll - axis.contextOffset + waypoint.triggerPoint = elementOffset + contextModifier - adjustment + wasBeforeScroll = oldTriggerPoint < axis.oldScroll + nowAfterScroll = waypoint.triggerPoint >= axis.oldScroll + triggeredBackward = wasBeforeScroll && nowAfterScroll + triggeredForward = !wasBeforeScroll && !nowAfterScroll + + if (!freshWaypoint && triggeredBackward) { + waypoint.queueTrigger(axis.backward) + triggeredGroups[waypoint.group.id] = waypoint.group + } + else if (!freshWaypoint && triggeredForward) { + waypoint.queueTrigger(axis.forward) + triggeredGroups[waypoint.group.id] = waypoint.group + } + else if (freshWaypoint && axis.oldScroll >= waypoint.triggerPoint) { + waypoint.queueTrigger(axis.forward) + triggeredGroups[waypoint.group.id] = waypoint.group + } + } + } + + Waypoint.requestAnimationFrame(function() { + for (var groupKey in triggeredGroups) { + triggeredGroups[groupKey].flushTriggers() + } + }) + + return this + } + + /* Private */ + Context.findOrCreateByElement = function(element) { + return Context.findByElement(element) || new Context(element) + } + + /* Private */ + Context.refreshAll = function() { + for (var contextId in contexts) { + contexts[contextId].refresh() + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/context-find-by-element */ + Context.findByElement = function(element) { + return contexts[element.waypointContextKey] + } + + window.onload = function() { + if (oldWindowLoad) { + oldWindowLoad() + } + Context.refreshAll() + } + + Waypoint.requestAnimationFrame = function(callback) { + var requestFn = window.requestAnimationFrame || + window.mozRequestAnimationFrame || + window.webkitRequestAnimationFrame || + requestAnimationFrameShim + requestFn.call(window, callback) + } + Waypoint.Context = Context +}()) +;(function() { + 'use strict' + + function byTriggerPoint(a, b) { + return a.triggerPoint - b.triggerPoint + } + + function byReverseTriggerPoint(a, b) { + return b.triggerPoint - a.triggerPoint + } + + var groups = { + vertical: {}, + horizontal: {} + } + var Waypoint = window.Waypoint + + /* http://imakewebthings.com/waypoints/api/group */ + function Group(options) { + this.name = options.name + this.axis = options.axis + this.id = this.name + '-' + this.axis + this.waypoints = [] + this.clearTriggerQueues() + groups[this.axis][this.name] = this + } + + /* Private */ + Group.prototype.add = function(waypoint) { + this.waypoints.push(waypoint) + } + + /* Private */ + Group.prototype.clearTriggerQueues = function() { + this.triggerQueues = { + up: [], + down: [], + left: [], + right: [] + } + } + + /* Private */ + Group.prototype.flushTriggers = function() { + for (var direction in this.triggerQueues) { + var waypoints = this.triggerQueues[direction] + var reverse = direction === 'up' || direction === 'left' + waypoints.sort(reverse ? byReverseTriggerPoint : byTriggerPoint) + for (var i = 0, end = waypoints.length; i < end; i += 1) { + var waypoint = waypoints[i] + if (waypoint.options.continuous || i === waypoints.length - 1) { + waypoint.trigger([direction]) + } + } + } + this.clearTriggerQueues() + } + + /* Private */ + Group.prototype.next = function(waypoint) { + this.waypoints.sort(byTriggerPoint) + var index = Waypoint.Adapter.inArray(waypoint, this.waypoints) + var isLast = index === this.waypoints.length - 1 + return isLast ? null : this.waypoints[index + 1] + } + + /* Private */ + Group.prototype.previous = function(waypoint) { + this.waypoints.sort(byTriggerPoint) + var index = Waypoint.Adapter.inArray(waypoint, this.waypoints) + return index ? this.waypoints[index - 1] : null + } + + /* Private */ + Group.prototype.queueTrigger = function(waypoint, direction) { + this.triggerQueues[direction].push(waypoint) + } + + /* Private */ + Group.prototype.remove = function(waypoint) { + var index = Waypoint.Adapter.inArray(waypoint, this.waypoints) + if (index > -1) { + this.waypoints.splice(index, 1) + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/first */ + Group.prototype.first = function() { + return this.waypoints[0] + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/last */ + Group.prototype.last = function() { + return this.waypoints[this.waypoints.length - 1] + } + + /* Private */ + Group.findOrCreate = function(options) { + return groups[options.axis][options.name] || new Group(options) + } + + Waypoint.Group = Group +}()) +;(function() { + 'use strict' + + var Waypoint = window.Waypoint + + function isWindow(element) { + return element === element.window + } + + function getWindow(element) { + if (isWindow(element)) { + return element + } + return element.defaultView + } + + function NoFrameworkAdapter(element) { + this.element = element + this.handlers = {} + } + + NoFrameworkAdapter.prototype.innerHeight = function() { + var isWin = isWindow(this.element) + return isWin ? this.element.innerHeight : this.element.clientHeight + } + + NoFrameworkAdapter.prototype.innerWidth = function() { + var isWin = isWindow(this.element) + return isWin ? this.element.innerWidth : this.element.clientWidth + } + + NoFrameworkAdapter.prototype.off = function(event, handler) { + function removeListeners(element, listeners, handler) { + for (var i = 0, end = listeners.length - 1; i < end; i++) { + var listener = listeners[i] + if (!handler || handler === listener) { + element.removeEventListener(listener) + } + } + } + + var eventParts = event.split('.') + var eventType = eventParts[0] + var namespace = eventParts[1] + var element = this.element + + if (namespace && this.handlers[namespace] && eventType) { + removeListeners(element, this.handlers[namespace][eventType], handler) + this.handlers[namespace][eventType] = [] + } + else if (eventType) { + for (var ns in this.handlers) { + removeListeners(element, this.handlers[ns][eventType] || [], handler) + this.handlers[ns][eventType] = [] + } + } + else if (namespace && this.handlers[namespace]) { + for (var type in this.handlers[namespace]) { + removeListeners(element, this.handlers[namespace][type], handler) + } + this.handlers[namespace] = {} + } + } + + /* Adapted from jQuery 1.x offset() */ + NoFrameworkAdapter.prototype.offset = function() { + if (!this.element.ownerDocument) { + return null + } + + var documentElement = this.element.ownerDocument.documentElement + var win = getWindow(this.element.ownerDocument) + var rect = { + top: 0, + left: 0 + } + + if (this.element.getBoundingClientRect) { + rect = this.element.getBoundingClientRect() + } + + return { + top: rect.top + win.pageYOffset - documentElement.clientTop, + left: rect.left + win.pageXOffset - documentElement.clientLeft + } + } + + NoFrameworkAdapter.prototype.on = function(event, handler) { + var eventParts = event.split('.') + var eventType = eventParts[0] + var namespace = eventParts[1] || '__default' + var nsHandlers = this.handlers[namespace] = this.handlers[namespace] || {} + var nsTypeList = nsHandlers[eventType] = nsHandlers[eventType] || [] + + nsTypeList.push(handler) + this.element.addEventListener(eventType, handler) + } + + NoFrameworkAdapter.prototype.outerHeight = function(includeMargin) { + var height = this.innerHeight() + var computedStyle + + if (includeMargin && !isWindow(this.element)) { + computedStyle = window.getComputedStyle(this.element) + height += parseInt(computedStyle.marginTop, 10) + height += parseInt(computedStyle.marginBottom, 10) + } + + return height + } + + NoFrameworkAdapter.prototype.outerWidth = function(includeMargin) { + var width = this.innerWidth() + var computedStyle + + if (includeMargin && !isWindow(this.element)) { + computedStyle = window.getComputedStyle(this.element) + width += parseInt(computedStyle.marginLeft, 10) + width += parseInt(computedStyle.marginRight, 10) + } + + return width + } + + NoFrameworkAdapter.prototype.scrollLeft = function() { + var win = getWindow(this.element) + return win ? win.pageXOffset : this.element.scrollLeft + } + + NoFrameworkAdapter.prototype.scrollTop = function() { + var win = getWindow(this.element) + return win ? win.pageYOffset : this.element.scrollTop + } + + NoFrameworkAdapter.extend = function() { + var args = Array.prototype.slice.call(arguments) + + function merge(target, obj) { + if (typeof target === 'object' && typeof obj === 'object') { + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + target[key] = obj[key] + } + } + } + + return target + } + + for (var i = 1, end = args.length; i < end; i++) { + merge(args[0], args[i]) + } + return args[0] + } + + NoFrameworkAdapter.inArray = function(element, array, i) { + return array == null ? -1 : array.indexOf(element, i) + } + + NoFrameworkAdapter.isEmptyObject = function(obj) { + /* eslint no-unused-vars: 0 */ + for (var name in obj) { + return false + } + return true + } + + Waypoint.adapters.push({ + name: 'noframework', + Adapter: NoFrameworkAdapter + }) + Waypoint.Adapter = NoFrameworkAdapter +}()) +; \ No newline at end of file diff --git a/bower_components/waypoints/lib/noframework.waypoints.min.js b/bower_components/waypoints/lib/noframework.waypoints.min.js new file mode 100644 index 0000000..2ce1f91 --- /dev/null +++ b/bower_components/waypoints/lib/noframework.waypoints.min.js @@ -0,0 +1,7 @@ +/*! +Waypoints - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +!function(){"use strict";function t(n){if(!n)throw new Error("No options passed to Waypoint constructor");if(!n.element)throw new Error("No element option passed to Waypoint constructor");if(!n.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,n),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=n.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var n in i)e.push(i[n]);for(var o=0,r=e.length;r>o;o++)e[o][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=o.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,n[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,n={},o=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete n[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,o.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||o.isTouch)&&(e.didScroll=!0,o.requestAnimationFrame(t))})},e.prototype.handleResize=function(){o.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var n=e[i],o=n.newScroll>n.oldScroll,r=o?n.forward:n.backward;for(var s in this.waypoints[i]){var l=this.waypoints[i][s],a=n.oldScroll=l.triggerPoint,p=a&&h,u=!a&&!h;(p||u)&&(l.queueTrigger(r),t[l.group.id]=l.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?o.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?o.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var n=0,o=t.length;o>n;n++)t[n].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),n={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var l in this.waypoints[r]){var a,h,p,u,c,f=this.waypoints[r][l],d=f.options.offset,y=f.triggerPoint,g=0,w=null==y;f.element!==f.element.window&&(g=f.adapter.offset()[s.offsetProp]),"function"==typeof d?d=d.apply(f):"string"==typeof d&&(d=parseFloat(d),f.options.offset.indexOf("%")>-1&&(d=Math.ceil(s.contextDimension*d/100))),a=s.contextScroll-s.contextOffset,f.triggerPoint=g+a-d,h=y=s.oldScroll,u=h&&p,c=!h&&!p,!w&&u?(f.queueTrigger(s.backward),n[f.group.id]=f.group):!w&&c?(f.queueTrigger(s.forward),n[f.group.id]=f.group):w&&s.oldScroll>=f.triggerPoint&&(f.queueTrigger(s.forward),n[f.group.id]=f.group)}}return o.requestAnimationFrame(function(){for(var t in n)n[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in n)n[t].refresh()},e.findByElement=function(t){return n[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},o.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},o.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),n[this.axis][this.name]=this}var n={vertical:{},horizontal:{}},o=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var n=this.triggerQueues[i],o="up"===i||"left"===i;n.sort(o?e:t);for(var r=0,s=n.length;s>r;r+=1){var l=n[r];(l.options.continuous||r===n.length-1)&&l.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=o.Adapter.inArray(e,this.waypoints),n=i===this.waypoints.length-1;return n?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=o.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=o.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return n[t.axis][t.name]||new i(t)},o.Group=i}(),function(){"use strict";function t(t){return t===t.window}function e(e){return t(e)?e:e.defaultView}function i(t){this.element=t,this.handlers={}}var n=window.Waypoint;i.prototype.innerHeight=function(){var e=t(this.element);return e?this.element.innerHeight:this.element.clientHeight},i.prototype.innerWidth=function(){var e=t(this.element);return e?this.element.innerWidth:this.element.clientWidth},i.prototype.off=function(t,e){function i(t,e,i){for(var n=0,o=e.length-1;o>n;n++){var r=e[n];i&&i!==r||t.removeEventListener(r)}}var n=t.split("."),o=n[0],r=n[1],s=this.element;if(r&&this.handlers[r]&&o)i(s,this.handlers[r][o],e),this.handlers[r][o]=[];else if(o)for(var l in this.handlers)i(s,this.handlers[l][o]||[],e),this.handlers[l][o]=[];else if(r&&this.handlers[r]){for(var a in this.handlers[r])i(s,this.handlers[r][a],e);this.handlers[r]={}}},i.prototype.offset=function(){if(!this.element.ownerDocument)return null;var t=this.element.ownerDocument.documentElement,i=e(this.element.ownerDocument),n={top:0,left:0};return this.element.getBoundingClientRect&&(n=this.element.getBoundingClientRect()),{top:n.top+i.pageYOffset-t.clientTop,left:n.left+i.pageXOffset-t.clientLeft}},i.prototype.on=function(t,e){var i=t.split("."),n=i[0],o=i[1]||"__default",r=this.handlers[o]=this.handlers[o]||{},s=r[n]=r[n]||[];s.push(e),this.element.addEventListener(n,e)},i.prototype.outerHeight=function(e){var i,n=this.innerHeight();return e&&!t(this.element)&&(i=window.getComputedStyle(this.element),n+=parseInt(i.marginTop,10),n+=parseInt(i.marginBottom,10)),n},i.prototype.outerWidth=function(e){var i,n=this.innerWidth();return e&&!t(this.element)&&(i=window.getComputedStyle(this.element),n+=parseInt(i.marginLeft,10),n+=parseInt(i.marginRight,10)),n},i.prototype.scrollLeft=function(){var t=e(this.element);return t?t.pageXOffset:this.element.scrollLeft},i.prototype.scrollTop=function(){var t=e(this.element);return t?t.pageYOffset:this.element.scrollTop},i.extend=function(){function t(t,e){if("object"==typeof t&&"object"==typeof e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}for(var e=Array.prototype.slice.call(arguments),i=1,n=e.length;n>i;i++)t(e[0],e[i]);return e[0]},i.inArray=function(t,e,i){return null==e?-1:e.indexOf(t,i)},i.isEmptyObject=function(t){for(var e in t)return!1;return!0},n.adapters.push({name:"noframework",Adapter:i}),n.Adapter=i}(); \ No newline at end of file diff --git a/bower_components/waypoints/lib/shortcuts/infinite.js b/bower_components/waypoints/lib/shortcuts/infinite.js new file mode 100644 index 0000000..eec5dac --- /dev/null +++ b/bower_components/waypoints/lib/shortcuts/infinite.js @@ -0,0 +1,84 @@ +/*! +Waypoints Infinite Scroll Shortcut - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +(function() { + 'use strict' + + var $ = window.jQuery + var Waypoint = window.Waypoint + + /* http://imakewebthings.com/waypoints/shortcuts/infinite-scroll */ + function Infinite(options) { + this.options = $.extend({}, Infinite.defaults, options) + this.container = this.options.element + if (this.options.container !== 'auto') { + this.container = this.options.container + } + this.$container = $(this.container) + this.$more = $(this.options.more) + + if (this.$more.length) { + this.setupHandler() + this.waypoint = new Waypoint(this.options) + } + } + + /* Private */ + Infinite.prototype.setupHandler = function() { + this.options.handler = $.proxy(function() { + this.options.onBeforePageLoad() + this.destroy() + this.$container.addClass(this.options.loadingClass) + + $.get($(this.options.more).attr('href'), $.proxy(function(data) { + var $data = $($.parseHTML(data)) + var $newMore = $data.find(this.options.more) + + var $items = $data.find(this.options.items) + if (!$items.length) { + $items = $data.filter(this.options.items) + } + + this.$container.append($items) + this.$container.removeClass(this.options.loadingClass) + + if (!$newMore.length) { + $newMore = $data.filter(this.options.more) + } + if ($newMore.length) { + this.$more.replaceWith($newMore) + this.$more = $newMore + this.waypoint = new Waypoint(this.options) + } + else { + this.$more.remove() + } + + this.options.onAfterPageLoad($items) + }, this)) + }, this) + } + + /* Public */ + Infinite.prototype.destroy = function() { + if (this.waypoint) { + this.waypoint.destroy() + } + } + + Infinite.defaults = { + container: 'auto', + items: '.infinite-item', + more: '.infinite-more-link', + offset: 'bottom-in-view', + loadingClass: 'infinite-loading', + onBeforePageLoad: $.noop, + onAfterPageLoad: $.noop + } + + Waypoint.Infinite = Infinite +}()) +; \ No newline at end of file diff --git a/bower_components/waypoints/lib/shortcuts/infinite.min.js b/bower_components/waypoints/lib/shortcuts/infinite.min.js new file mode 100644 index 0000000..8ecbc73 --- /dev/null +++ b/bower_components/waypoints/lib/shortcuts/infinite.min.js @@ -0,0 +1,7 @@ +/*! +Waypoints Infinite Scroll Shortcut - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +!function(){"use strict";function t(n){this.options=i.extend({},t.defaults,n),this.container=this.options.element,"auto"!==this.options.container&&(this.container=this.options.container),this.$container=i(this.container),this.$more=i(this.options.more),this.$more.length&&(this.setupHandler(),this.waypoint=new o(this.options))}var i=window.jQuery,o=window.Waypoint;t.prototype.setupHandler=function(){this.options.handler=i.proxy(function(){this.options.onBeforePageLoad(),this.destroy(),this.$container.addClass(this.options.loadingClass),i.get(i(this.options.more).attr("href"),i.proxy(function(t){var n=i(i.parseHTML(t)),e=n.find(this.options.more),s=n.find(this.options.items);s.length||(s=n.filter(this.options.items)),this.$container.append(s),this.$container.removeClass(this.options.loadingClass),e.length||(e=n.filter(this.options.more)),e.length?(this.$more.replaceWith(e),this.$more=e,this.waypoint=new o(this.options)):this.$more.remove(),this.options.onAfterPageLoad(s)},this))},this)},t.prototype.destroy=function(){this.waypoint&&this.waypoint.destroy()},t.defaults={container:"auto",items:".infinite-item",more:".infinite-more-link",offset:"bottom-in-view",loadingClass:"infinite-loading",onBeforePageLoad:i.noop,onAfterPageLoad:i.noop},o.Infinite=t}(); \ No newline at end of file diff --git a/bower_components/waypoints/lib/shortcuts/inview.js b/bower_components/waypoints/lib/shortcuts/inview.js new file mode 100644 index 0000000..acec502 --- /dev/null +++ b/bower_components/waypoints/lib/shortcuts/inview.js @@ -0,0 +1,120 @@ +/*! +Waypoints Inview Shortcut - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +(function() { + 'use strict' + + function noop() {} + + var Waypoint = window.Waypoint + + /* http://imakewebthings.com/waypoints/shortcuts/inview */ + function Inview(options) { + this.options = Waypoint.Adapter.extend({}, Inview.defaults, options) + this.axis = this.options.horizontal ? 'horizontal' : 'vertical' + this.waypoints = [] + this.element = this.options.element + this.createWaypoints() + } + + /* Private */ + Inview.prototype.createWaypoints = function() { + var configs = { + vertical: [{ + down: 'enter', + up: 'exited', + offset: '100%' + }, { + down: 'entered', + up: 'exit', + offset: 'bottom-in-view' + }, { + down: 'exit', + up: 'entered', + offset: 0 + }, { + down: 'exited', + up: 'enter', + offset: function() { + return -this.adapter.outerHeight() + } + }], + horizontal: [{ + right: 'enter', + left: 'exited', + offset: '100%' + }, { + right: 'entered', + left: 'exit', + offset: 'right-in-view' + }, { + right: 'exit', + left: 'entered', + offset: 0 + }, { + right: 'exited', + left: 'enter', + offset: function() { + return -this.adapter.outerWidth() + } + }] + } + + for (var i = 0, end = configs[this.axis].length; i < end; i++) { + var config = configs[this.axis][i] + this.createWaypoint(config) + } + } + + /* Private */ + Inview.prototype.createWaypoint = function(config) { + var self = this + this.waypoints.push(new Waypoint({ + context: this.options.context, + element: this.options.element, + enabled: this.options.enabled, + handler: (function(config) { + return function(direction) { + self.options[config[direction]].call(self, direction) + } + }(config)), + offset: config.offset, + horizontal: this.options.horizontal + })) + } + + /* Public */ + Inview.prototype.destroy = function() { + for (var i = 0, end = this.waypoints.length; i < end; i++) { + this.waypoints[i].destroy() + } + this.waypoints = [] + } + + Inview.prototype.disable = function() { + for (var i = 0, end = this.waypoints.length; i < end; i++) { + this.waypoints[i].disable() + } + } + + Inview.prototype.enable = function() { + for (var i = 0, end = this.waypoints.length; i < end; i++) { + this.waypoints[i].enable() + } + } + + Inview.defaults = { + context: window, + enabled: true, + enter: noop, + entered: noop, + exit: noop, + exited: noop + } + + Waypoint.Inview = Inview +}()) +; \ No newline at end of file diff --git a/bower_components/waypoints/lib/shortcuts/inview.min.js b/bower_components/waypoints/lib/shortcuts/inview.min.js new file mode 100644 index 0000000..6375baf --- /dev/null +++ b/bower_components/waypoints/lib/shortcuts/inview.min.js @@ -0,0 +1,7 @@ +/*! +Waypoints Inview Shortcut - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +!function(){"use strict";function t(){}function e(t){this.options=i.Adapter.extend({},e.defaults,t),this.axis=this.options.horizontal?"horizontal":"vertical",this.waypoints=[],this.element=this.options.element,this.createWaypoints()}var i=window.Waypoint;e.prototype.createWaypoints=function(){for(var t={vertical:[{down:"enter",up:"exited",offset:"100%"},{down:"entered",up:"exit",offset:"bottom-in-view"},{down:"exit",up:"entered",offset:0},{down:"exited",up:"enter",offset:function(){return-this.adapter.outerHeight()}}],horizontal:[{right:"enter",left:"exited",offset:"100%"},{right:"entered",left:"exit",offset:"right-in-view"},{right:"exit",left:"entered",offset:0},{right:"exited",left:"enter",offset:function(){return-this.adapter.outerWidth()}}]},e=0,i=t[this.axis].length;i>e;e++){var n=t[this.axis][e];this.createWaypoint(n)}},e.prototype.createWaypoint=function(t){var e=this;this.waypoints.push(new i({context:this.options.context,element:this.options.element,enabled:this.options.enabled,handler:function(t){return function(i){e.options[t[i]].call(e,i)}}(t),offset:t.offset,horizontal:this.options.horizontal}))},e.prototype.destroy=function(){for(var t=0,e=this.waypoints.length;e>t;t++)this.waypoints[t].destroy();this.waypoints=[]},e.prototype.disable=function(){for(var t=0,e=this.waypoints.length;e>t;t++)this.waypoints[t].disable()},e.prototype.enable=function(){for(var t=0,e=this.waypoints.length;e>t;t++)this.waypoints[t].enable()},e.defaults={context:window,enabled:!0,enter:t,entered:t,exit:t,exited:t},i.Inview=e}(); \ No newline at end of file diff --git a/bower_components/waypoints/lib/shortcuts/sticky.js b/bower_components/waypoints/lib/shortcuts/sticky.js new file mode 100644 index 0000000..b609b84 --- /dev/null +++ b/bower_components/waypoints/lib/shortcuts/sticky.js @@ -0,0 +1,70 @@ +/*! +Waypoints Sticky Element Shortcut - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +(function() { + 'use strict' + + var $ = window.jQuery + var Waypoint = window.Waypoint + + /* http://imakewebthings.com/waypoints/shortcuts/sticky-elements */ + function Sticky(options) { + this.options = $.extend({}, Waypoint.defaults, Sticky.defaults, options) + this.element = this.options.element + this.$element = $(this.element) + this.createWrapper() + this.createWaypoint() + } + + /* Private */ + Sticky.prototype.createWaypoint = function() { + var originalHandler = this.options.handler + + this.waypoint = new Waypoint($.extend({}, this.options, { + element: this.wrapper, + handler: $.proxy(function(direction) { + var shouldBeStuck = this.options.direction.indexOf(direction) > -1 + var wrapperHeight = shouldBeStuck ? this.$element.outerHeight(true) : '' + + this.$wrapper.height(wrapperHeight) + this.$element.toggleClass(this.options.stuckClass, shouldBeStuck) + + if (originalHandler) { + originalHandler.call(this, direction) + } + }, this) + })) + } + + /* Private */ + Sticky.prototype.createWrapper = function() { + if (this.options.wrapper) { + this.$element.wrap(this.options.wrapper) + } + this.$wrapper = this.$element.parent() + this.wrapper = this.$wrapper[0] + } + + /* Public */ + Sticky.prototype.destroy = function() { + if (this.$element.parent()[0] === this.wrapper) { + this.waypoint.destroy() + this.$element.removeClass(this.options.stuckClass) + if (this.options.wrapper) { + this.$element.unwrap() + } + } + } + + Sticky.defaults = { + wrapper: '
                  ', + stuckClass: 'stuck', + direction: 'down right' + } + + Waypoint.Sticky = Sticky +}()) +; \ No newline at end of file diff --git a/bower_components/waypoints/lib/shortcuts/sticky.min.js b/bower_components/waypoints/lib/shortcuts/sticky.min.js new file mode 100644 index 0000000..e2ea060 --- /dev/null +++ b/bower_components/waypoints/lib/shortcuts/sticky.min.js @@ -0,0 +1,7 @@ +/*! +Waypoints Sticky Element Shortcut - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +!function(){"use strict";function t(s){this.options=e.extend({},i.defaults,t.defaults,s),this.element=this.options.element,this.$element=e(this.element),this.createWrapper(),this.createWaypoint()}var e=window.jQuery,i=window.Waypoint;t.prototype.createWaypoint=function(){var t=this.options.handler;this.waypoint=new i(e.extend({},this.options,{element:this.wrapper,handler:e.proxy(function(e){var i=this.options.direction.indexOf(e)>-1,s=i?this.$element.outerHeight(!0):"";this.$wrapper.height(s),this.$element.toggleClass(this.options.stuckClass,i),t&&t.call(this,e)},this)}))},t.prototype.createWrapper=function(){this.options.wrapper&&this.$element.wrap(this.options.wrapper),this.$wrapper=this.$element.parent(),this.wrapper=this.$wrapper[0]},t.prototype.destroy=function(){this.$element.parent()[0]===this.wrapper&&(this.waypoint.destroy(),this.$element.removeClass(this.options.stuckClass),this.options.wrapper&&this.$element.unwrap())},t.defaults={wrapper:'
                  ',stuckClass:"stuck",direction:"down right"},i.Sticky=t}(); \ No newline at end of file diff --git a/bower_components/waypoints/lib/waypoints.debug.js b/bower_components/waypoints/lib/waypoints.debug.js new file mode 100644 index 0000000..49601e3 --- /dev/null +++ b/bower_components/waypoints/lib/waypoints.debug.js @@ -0,0 +1,46 @@ +/*! +Waypoints Debug - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +(function() { + 'use strict' + + var displayNoneMessage = [ + 'You have a Waypoint element with display none. For more information on ', + 'why this is a bad idea read ', + 'http://imakewebthings.com/waypoints/guides/debugging/#display-none' + ].join('') + var fixedMessage = [ + 'You have a Waypoint element with fixed positioning. For more ', + 'information on why this is a bad idea read ', + 'http://imakewebthings.com/waypoints/guides/debugging/#fixed-position' + ].join('') + + function checkWaypointStyles() { + var originalRefresh = window.Waypoint.Context.prototype.refresh + + window.Waypoint.Context.prototype.refresh = function() { + for (var axis in this.waypoints) { + for (var key in this.waypoints[axis]) { + var waypoint = this.waypoints[axis][key] + var style = window.getComputedStyle(waypoint.element) + if (!waypoint.enabled) { + continue + } + if (style && style.display === 'none') { + console.error(displayNoneMessage) + } + if (style && style.position === 'fixed') { + console.error(fixedMessage) + } + } + } + return originalRefresh.call(this) + } + } + + checkWaypointStyles() +}()) +; \ No newline at end of file diff --git a/bower_components/waypoints/lib/zepto.waypoints.js b/bower_components/waypoints/lib/zepto.waypoints.js new file mode 100644 index 0000000..70f4970 --- /dev/null +++ b/bower_components/waypoints/lib/zepto.waypoints.js @@ -0,0 +1,692 @@ +/*! +Waypoints - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +(function() { + 'use strict' + + var keyCounter = 0 + var allWaypoints = {} + + /* http://imakewebthings.com/waypoints/api/waypoint */ + function Waypoint(options) { + if (!options) { + throw new Error('No options passed to Waypoint constructor') + } + if (!options.element) { + throw new Error('No element option passed to Waypoint constructor') + } + if (!options.handler) { + throw new Error('No handler option passed to Waypoint constructor') + } + + this.key = 'waypoint-' + keyCounter + this.options = Waypoint.Adapter.extend({}, Waypoint.defaults, options) + this.element = this.options.element + this.adapter = new Waypoint.Adapter(this.element) + this.callback = options.handler + this.axis = this.options.horizontal ? 'horizontal' : 'vertical' + this.enabled = this.options.enabled + this.triggerPoint = null + this.group = Waypoint.Group.findOrCreate({ + name: this.options.group, + axis: this.axis + }) + this.context = Waypoint.Context.findOrCreateByElement(this.options.context) + + if (Waypoint.offsetAliases[this.options.offset]) { + this.options.offset = Waypoint.offsetAliases[this.options.offset] + } + this.group.add(this) + this.context.add(this) + allWaypoints[this.key] = this + keyCounter += 1 + } + + /* Private */ + Waypoint.prototype.queueTrigger = function(direction) { + this.group.queueTrigger(this, direction) + } + + /* Private */ + Waypoint.prototype.trigger = function(args) { + if (!this.enabled) { + return + } + if (this.callback) { + this.callback.apply(this, args) + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/destroy */ + Waypoint.prototype.destroy = function() { + this.context.remove(this) + this.group.remove(this) + delete allWaypoints[this.key] + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/disable */ + Waypoint.prototype.disable = function() { + this.enabled = false + return this + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/enable */ + Waypoint.prototype.enable = function() { + this.context.refresh() + this.enabled = true + return this + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/next */ + Waypoint.prototype.next = function() { + return this.group.next(this) + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/previous */ + Waypoint.prototype.previous = function() { + return this.group.previous(this) + } + + /* Private */ + Waypoint.invokeAll = function(method) { + var allWaypointsArray = [] + for (var waypointKey in allWaypoints) { + allWaypointsArray.push(allWaypoints[waypointKey]) + } + for (var i = 0, end = allWaypointsArray.length; i < end; i++) { + allWaypointsArray[i][method]() + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/destroy-all */ + Waypoint.destroyAll = function() { + Waypoint.invokeAll('destroy') + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/disable-all */ + Waypoint.disableAll = function() { + Waypoint.invokeAll('disable') + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/enable-all */ + Waypoint.enableAll = function() { + Waypoint.invokeAll('enable') + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/refresh-all */ + Waypoint.refreshAll = function() { + Waypoint.Context.refreshAll() + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/viewport-height */ + Waypoint.viewportHeight = function() { + return window.innerHeight || document.documentElement.clientHeight + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/viewport-width */ + Waypoint.viewportWidth = function() { + return document.documentElement.clientWidth + } + + Waypoint.adapters = [] + + Waypoint.defaults = { + context: window, + continuous: true, + enabled: true, + group: 'default', + horizontal: false, + offset: 0 + } + + Waypoint.offsetAliases = { + 'bottom-in-view': function() { + return this.context.innerHeight() - this.adapter.outerHeight() + }, + 'right-in-view': function() { + return this.context.innerWidth() - this.adapter.outerWidth() + } + } + + window.Waypoint = Waypoint +}()) +;(function() { + 'use strict' + + function requestAnimationFrameShim(callback) { + window.setTimeout(callback, 1000 / 60) + } + + var keyCounter = 0 + var contexts = {} + var Waypoint = window.Waypoint + var oldWindowLoad = window.onload + + /* http://imakewebthings.com/waypoints/api/context */ + function Context(element) { + this.element = element + this.Adapter = Waypoint.Adapter + this.adapter = new this.Adapter(element) + this.key = 'waypoint-context-' + keyCounter + this.didScroll = false + this.didResize = false + this.oldScroll = { + x: this.adapter.scrollLeft(), + y: this.adapter.scrollTop() + } + this.waypoints = { + vertical: {}, + horizontal: {} + } + + element.waypointContextKey = this.key + contexts[element.waypointContextKey] = this + keyCounter += 1 + + this.createThrottledScrollHandler() + this.createThrottledResizeHandler() + } + + /* Private */ + Context.prototype.add = function(waypoint) { + var axis = waypoint.options.horizontal ? 'horizontal' : 'vertical' + this.waypoints[axis][waypoint.key] = waypoint + this.refresh() + } + + /* Private */ + Context.prototype.checkEmpty = function() { + var horizontalEmpty = this.Adapter.isEmptyObject(this.waypoints.horizontal) + var verticalEmpty = this.Adapter.isEmptyObject(this.waypoints.vertical) + if (horizontalEmpty && verticalEmpty) { + this.adapter.off('.waypoints') + delete contexts[this.key] + } + } + + /* Private */ + Context.prototype.createThrottledResizeHandler = function() { + var self = this + + function resizeHandler() { + self.handleResize() + self.didResize = false + } + + this.adapter.on('resize.waypoints', function() { + if (!self.didResize) { + self.didResize = true + Waypoint.requestAnimationFrame(resizeHandler) + } + }) + } + + /* Private */ + Context.prototype.createThrottledScrollHandler = function() { + var self = this + function scrollHandler() { + self.handleScroll() + self.didScroll = false + } + + this.adapter.on('scroll.waypoints', function() { + if (!self.didScroll || Waypoint.isTouch) { + self.didScroll = true + Waypoint.requestAnimationFrame(scrollHandler) + } + }) + } + + /* Private */ + Context.prototype.handleResize = function() { + Waypoint.Context.refreshAll() + } + + /* Private */ + Context.prototype.handleScroll = function() { + var triggeredGroups = {} + var axes = { + horizontal: { + newScroll: this.adapter.scrollLeft(), + oldScroll: this.oldScroll.x, + forward: 'right', + backward: 'left' + }, + vertical: { + newScroll: this.adapter.scrollTop(), + oldScroll: this.oldScroll.y, + forward: 'down', + backward: 'up' + } + } + + for (var axisKey in axes) { + var axis = axes[axisKey] + var isForward = axis.newScroll > axis.oldScroll + var direction = isForward ? axis.forward : axis.backward + + for (var waypointKey in this.waypoints[axisKey]) { + var waypoint = this.waypoints[axisKey][waypointKey] + var wasBeforeTriggerPoint = axis.oldScroll < waypoint.triggerPoint + var nowAfterTriggerPoint = axis.newScroll >= waypoint.triggerPoint + var crossedForward = wasBeforeTriggerPoint && nowAfterTriggerPoint + var crossedBackward = !wasBeforeTriggerPoint && !nowAfterTriggerPoint + if (crossedForward || crossedBackward) { + waypoint.queueTrigger(direction) + triggeredGroups[waypoint.group.id] = waypoint.group + } + } + } + + for (var groupKey in triggeredGroups) { + triggeredGroups[groupKey].flushTriggers() + } + + this.oldScroll = { + x: axes.horizontal.newScroll, + y: axes.vertical.newScroll + } + } + + /* Private */ + Context.prototype.innerHeight = function() { + /*eslint-disable eqeqeq */ + if (this.element == this.element.window) { + return Waypoint.viewportHeight() + } + /*eslint-enable eqeqeq */ + return this.adapter.innerHeight() + } + + /* Private */ + Context.prototype.remove = function(waypoint) { + delete this.waypoints[waypoint.axis][waypoint.key] + this.checkEmpty() + } + + /* Private */ + Context.prototype.innerWidth = function() { + /*eslint-disable eqeqeq */ + if (this.element == this.element.window) { + return Waypoint.viewportWidth() + } + /*eslint-enable eqeqeq */ + return this.adapter.innerWidth() + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/context-destroy */ + Context.prototype.destroy = function() { + var allWaypoints = [] + for (var axis in this.waypoints) { + for (var waypointKey in this.waypoints[axis]) { + allWaypoints.push(this.waypoints[axis][waypointKey]) + } + } + for (var i = 0, end = allWaypoints.length; i < end; i++) { + allWaypoints[i].destroy() + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/context-refresh */ + Context.prototype.refresh = function() { + /*eslint-disable eqeqeq */ + var isWindow = this.element == this.element.window + /*eslint-enable eqeqeq */ + var contextOffset = isWindow ? undefined : this.adapter.offset() + var triggeredGroups = {} + var axes + + this.handleScroll() + axes = { + horizontal: { + contextOffset: isWindow ? 0 : contextOffset.left, + contextScroll: isWindow ? 0 : this.oldScroll.x, + contextDimension: this.innerWidth(), + oldScroll: this.oldScroll.x, + forward: 'right', + backward: 'left', + offsetProp: 'left' + }, + vertical: { + contextOffset: isWindow ? 0 : contextOffset.top, + contextScroll: isWindow ? 0 : this.oldScroll.y, + contextDimension: this.innerHeight(), + oldScroll: this.oldScroll.y, + forward: 'down', + backward: 'up', + offsetProp: 'top' + } + } + + for (var axisKey in axes) { + var axis = axes[axisKey] + for (var waypointKey in this.waypoints[axisKey]) { + var waypoint = this.waypoints[axisKey][waypointKey] + var adjustment = waypoint.options.offset + var oldTriggerPoint = waypoint.triggerPoint + var elementOffset = 0 + var freshWaypoint = oldTriggerPoint == null + var contextModifier, wasBeforeScroll, nowAfterScroll + var triggeredBackward, triggeredForward + + if (waypoint.element !== waypoint.element.window) { + elementOffset = waypoint.adapter.offset()[axis.offsetProp] + } + + if (typeof adjustment === 'function') { + adjustment = adjustment.apply(waypoint) + } + else if (typeof adjustment === 'string') { + adjustment = parseFloat(adjustment) + if (waypoint.options.offset.indexOf('%') > - 1) { + adjustment = Math.ceil(axis.contextDimension * adjustment / 100) + } + } + + contextModifier = axis.contextScroll - axis.contextOffset + waypoint.triggerPoint = elementOffset + contextModifier - adjustment + wasBeforeScroll = oldTriggerPoint < axis.oldScroll + nowAfterScroll = waypoint.triggerPoint >= axis.oldScroll + triggeredBackward = wasBeforeScroll && nowAfterScroll + triggeredForward = !wasBeforeScroll && !nowAfterScroll + + if (!freshWaypoint && triggeredBackward) { + waypoint.queueTrigger(axis.backward) + triggeredGroups[waypoint.group.id] = waypoint.group + } + else if (!freshWaypoint && triggeredForward) { + waypoint.queueTrigger(axis.forward) + triggeredGroups[waypoint.group.id] = waypoint.group + } + else if (freshWaypoint && axis.oldScroll >= waypoint.triggerPoint) { + waypoint.queueTrigger(axis.forward) + triggeredGroups[waypoint.group.id] = waypoint.group + } + } + } + + Waypoint.requestAnimationFrame(function() { + for (var groupKey in triggeredGroups) { + triggeredGroups[groupKey].flushTriggers() + } + }) + + return this + } + + /* Private */ + Context.findOrCreateByElement = function(element) { + return Context.findByElement(element) || new Context(element) + } + + /* Private */ + Context.refreshAll = function() { + for (var contextId in contexts) { + contexts[contextId].refresh() + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/context-find-by-element */ + Context.findByElement = function(element) { + return contexts[element.waypointContextKey] + } + + window.onload = function() { + if (oldWindowLoad) { + oldWindowLoad() + } + Context.refreshAll() + } + + Waypoint.requestAnimationFrame = function(callback) { + var requestFn = window.requestAnimationFrame || + window.mozRequestAnimationFrame || + window.webkitRequestAnimationFrame || + requestAnimationFrameShim + requestFn.call(window, callback) + } + Waypoint.Context = Context +}()) +;(function() { + 'use strict' + + function byTriggerPoint(a, b) { + return a.triggerPoint - b.triggerPoint + } + + function byReverseTriggerPoint(a, b) { + return b.triggerPoint - a.triggerPoint + } + + var groups = { + vertical: {}, + horizontal: {} + } + var Waypoint = window.Waypoint + + /* http://imakewebthings.com/waypoints/api/group */ + function Group(options) { + this.name = options.name + this.axis = options.axis + this.id = this.name + '-' + this.axis + this.waypoints = [] + this.clearTriggerQueues() + groups[this.axis][this.name] = this + } + + /* Private */ + Group.prototype.add = function(waypoint) { + this.waypoints.push(waypoint) + } + + /* Private */ + Group.prototype.clearTriggerQueues = function() { + this.triggerQueues = { + up: [], + down: [], + left: [], + right: [] + } + } + + /* Private */ + Group.prototype.flushTriggers = function() { + for (var direction in this.triggerQueues) { + var waypoints = this.triggerQueues[direction] + var reverse = direction === 'up' || direction === 'left' + waypoints.sort(reverse ? byReverseTriggerPoint : byTriggerPoint) + for (var i = 0, end = waypoints.length; i < end; i += 1) { + var waypoint = waypoints[i] + if (waypoint.options.continuous || i === waypoints.length - 1) { + waypoint.trigger([direction]) + } + } + } + this.clearTriggerQueues() + } + + /* Private */ + Group.prototype.next = function(waypoint) { + this.waypoints.sort(byTriggerPoint) + var index = Waypoint.Adapter.inArray(waypoint, this.waypoints) + var isLast = index === this.waypoints.length - 1 + return isLast ? null : this.waypoints[index + 1] + } + + /* Private */ + Group.prototype.previous = function(waypoint) { + this.waypoints.sort(byTriggerPoint) + var index = Waypoint.Adapter.inArray(waypoint, this.waypoints) + return index ? this.waypoints[index - 1] : null + } + + /* Private */ + Group.prototype.queueTrigger = function(waypoint, direction) { + this.triggerQueues[direction].push(waypoint) + } + + /* Private */ + Group.prototype.remove = function(waypoint) { + var index = Waypoint.Adapter.inArray(waypoint, this.waypoints) + if (index > -1) { + this.waypoints.splice(index, 1) + } + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/first */ + Group.prototype.first = function() { + return this.waypoints[0] + } + + /* Public */ + /* http://imakewebthings.com/waypoints/api/last */ + Group.prototype.last = function() { + return this.waypoints[this.waypoints.length - 1] + } + + /* Private */ + Group.findOrCreate = function(options) { + return groups[options.axis][options.name] || new Group(options) + } + + Waypoint.Group = Group +}()) +;(function() { + 'use strict' + + var $ = window.Zepto + var Waypoint = window.Waypoint + + function ZeptoAdapter(element) { + this.element = element + this.$element = $(element) + } + + $.each([ + 'off', + 'on', + 'scrollLeft', + 'scrollTop' + ], function(i, method) { + ZeptoAdapter.prototype[method] = function() { + var args = Array.prototype.slice.call(arguments) + return this.$element[method].apply(this.$element, args) + } + }) + + ZeptoAdapter.prototype.offset = function() { + if (this.element !== this.element.window) { + return this.$element.offset() + } + } + + // Adapted from https://gist.github.com/wheresrhys/5823198 + $.each([ + 'width', + 'height' + ], function(i, dimension) { + function createDimensionMethod($element, includeBorder) { + return function(includeMargin) { + var $element = this.$element + var size = $element[dimension]() + var sides = { + width: ['left', 'right'], + height: ['top', 'bottom'] + } + + $.each(sides[dimension], function(i, side) { + size += parseInt($element.css('padding-' + side), 10) + if (includeBorder) { + size += parseInt($element.css('border-' + side + '-width'), 10) + } + if (includeMargin) { + size += parseInt($element.css('margin-' + side), 10) + } + }) + return size + } + } + + var innerMethod = $.camelCase('inner-' + dimension) + var outerMethod = $.camelCase('outer-' + dimension) + + ZeptoAdapter.prototype[innerMethod] = createDimensionMethod(false) + ZeptoAdapter.prototype[outerMethod] = createDimensionMethod(true) + }) + + $.each([ + 'extend', + 'inArray' + ], function(i, method) { + ZeptoAdapter[method] = $[method] + }) + + ZeptoAdapter.isEmptyObject = function(obj) { + /* eslint no-unused-vars: 0 */ + for (var name in obj) { + return false + } + return true + } + + Waypoint.adapters.push({ + name: 'zepto', + Adapter: ZeptoAdapter + }) + Waypoint.Adapter = ZeptoAdapter +}()) +;(function() { + 'use strict' + + var Waypoint = window.Waypoint + + function createExtension(framework) { + return function() { + var waypoints = [] + var overrides = arguments[0] + + if (framework.isFunction(arguments[0])) { + overrides = framework.extend({}, arguments[1]) + overrides.handler = arguments[0] + } + + this.each(function() { + var options = framework.extend({}, overrides, { + element: this + }) + if (typeof options.context === 'string') { + options.context = framework(this).closest(options.context)[0] + } + waypoints.push(new Waypoint(options)) + }) + + return waypoints + } + } + + if (window.jQuery) { + window.jQuery.fn.waypoint = createExtension(window.jQuery) + } + if (window.Zepto) { + window.Zepto.fn.waypoint = createExtension(window.Zepto) + } +}()) +; \ No newline at end of file diff --git a/bower_components/waypoints/lib/zepto.waypoints.min.js b/bower_components/waypoints/lib/zepto.waypoints.min.js new file mode 100644 index 0000000..88d579d --- /dev/null +++ b/bower_components/waypoints/lib/zepto.waypoints.min.js @@ -0,0 +1,7 @@ +/*! +Waypoints - 4.0.0 +Copyright © 2011-2015 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll=a.triggerPoint,p=l&&h,c=!l&&!h;(p||c)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var u in t)t[u].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,c,u,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w=s.oldScroll,c=h&&p,u=!h&&!p,!g&&c?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&u?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.element=t,this.$element=e(t)}var e=window.Zepto,i=window.Waypoint;e.each(["off","on","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.$element[i].apply(this.$element,t)}}),t.prototype.offset=function(){return this.element!==this.element.window?this.$element.offset():void 0},e.each(["width","height"],function(i,o){function n(t,i){return function(t){var n=this.$element,r=n[o](),s={width:["left","right"],height:["top","bottom"]};return e.each(s[o],function(e,o){r+=parseInt(n.css("padding-"+o),10),i&&(r+=parseInt(n.css("border-"+o+"-width"),10)),t&&(r+=parseInt(n.css("margin-"+o),10))}),r}}var r=e.camelCase("inner-"+o),s=e.camelCase("outer-"+o);t.prototype[r]=n(!1),t.prototype[s]=n(!0)}),e.each(["extend","inArray"],function(i,o){t[o]=e[o]}),t.isEmptyObject=function(t){for(var e in t)return!1;return!0},i.adapters.push({name:"zepto",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;window.jQuery&&(window.jQuery.fn.waypoint=t(window.jQuery)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); \ No newline at end of file diff --git a/bower_components/waypoints/licenses.txt b/bower_components/waypoints/licenses.txt new file mode 100644 index 0000000..b63744d --- /dev/null +++ b/bower_components/waypoints/licenses.txt @@ -0,0 +1,23 @@ +Copyright (c) 2011-2012 Caleb Troughton + +----------------------------------------------------------------------- + +The MIT License + +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. \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..f694da4 Binary files /dev/null and b/favicon.ico differ diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..8f7912b --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,164 @@ +/* +* Altair Admin (Landing Page) +* Automated tasks ( http://gulpjs.com/ ) +*/ + +var gulp = require('gulp'), + plugins = require("gulp-load-plugins")({ + pattern: ['gulp-*', 'gulp.*', '*'], + replaceString: /\bgulp[\-.]/ + }), + runSequence = require("run-sequence"); + +// browser sync +var bs_landing = require('browser-sync').create('altair_landing_page'); + +// chalk error +var chalk = require('chalk'); +var chalk_error = chalk.bold.red; + +// get altair version +var pjson = require('./package.json'); +var version = pjson.version; + +// 1. -------------------- MINIFY/CONCATENATE JS FILES -------------------- + +// commmon +gulp.task('js_common', function () { + return gulp.src([ + "bower_components/jquery/dist/jquery.js", + // bez easing + "bower_components/jquery-bez/jquery.bez.min.js", + // one page nav + "assets/js/custom/jquery.nav.js" + ]) + .pipe(plugins.concat('common.js')) + .on('error', function(err) { + console.log(chalk_error(err.message)); + this.emit('end'); + }) + .pipe(gulp.dest('assets/js/')) + .pipe(plugins.uglify({ + mangle: true + })) + .pipe(plugins.rename('common.min.js')) + .pipe(plugins.size({ + showFiles: true + })) + .pipe(gulp.dest('assets/js/')); +}); + +// custom uikit +gulp.task('js_uikit', function () { + return gulp.src([ + // uikit core + "bower_components/uikit/js/uikit.js", + // uikit components + "bower_components/uikit/js/components/accordion.js", + "bower_components/uikit/js/components/grid.js", + "bower_components/uikit/js/components/lightbox.js", + "bower_components/uikit/js/components/parallax.js", + "bower_components/uikit/js/components/slider.js", + "bower_components/uikit/js/components/slideshow.js", + "bower_components/uikit/js/components/tooltip.js", + "assets/js/custom/uikit_beforeready.js" + ]) + .pipe(plugins.concat('uikit_custom.js')) + .pipe(gulp.dest('assets/js/')) + .pipe(plugins.uglify({ + mangle: true + })) + .pipe(plugins.rename('uikit_custom.min.js')) + .pipe(plugins.size({ + showFiles: true + })) + .pipe(gulp.dest('assets/js/')); +}); + +// common/custom functions +gulp.task('js_minify', function () { + return gulp.src([ + 'assets/js/*.js', + '!assets/js/common.js', + '!assets/js/uikit_custom.js', + '!assets/js/**/*.min.js' + ]) + .pipe(plugins.uglify({ + mangle: true + }).on('error', console.error)) + .pipe(plugins.rename({ + extname: ".min.js" + })) + .pipe(gulp.dest(function(file) { + return file.base; + })); +}); + +// -------------------- LESS TO CSS -------------------- + +// main styles +gulp.task('less_main', function() { + return gulp.src('assets/less/main.less') + .pipe(plugins.sourcemaps.init()) + .pipe(plugins.less()) + .on('error', function(err) { + console.log(chalk_error(err.message)); + this.emit('end'); + }) + .pipe(plugins.autoprefixer()) + .pipe(plugins.sourcemaps.write('.', { + sourceRoot: '../less/' + })) + .pipe(gulp.dest('assets/css')) + .pipe(plugins.sourcemaps.init({loadMaps: true})) + .pipe(bs_landing.stream()) + .pipe(plugins.cleanCss({ + advanced: false, + keepSpecialComments: 0, + sourceMap: true + })) + .pipe(plugins.rename('main.min.css')) + .pipe(plugins.sourcemaps.write('.', { + sourceRoot: '../less/' + })) + .pipe(gulp.dest('assets/css')); +}); + +// -------------------- BROWSER SYNC http://www.browsersync.io/docs/ -------------------- +gulp.task('serve', function() { + + bs_landing.init({ + // http://www.browsersync.io/docs/options/#option-host + //host: "192.168.1.188", + // http://www.browsersync.io/docs/options/#option-proxy + //proxy: "altair_landing.local", + server: { + baseDir: "./" + }, + // http://www.browsersync.io/docs/options/#option-port + port: 3066, + // http://www.browsersync.io/docs/options/#option-notify + notify: true, + open: false, + ui: { + port: 3065 + } + }); + + gulp.watch([ + 'assets/less/**/*.less' + ],['less_main']); + + gulp.watch([ + 'index.html' + ]).on('change', bs_landing.reload); + +}); + +// -------------------- DEFAULT TASK ---------------------- +gulp.task('default', function(callback) { + return runSequence( + ['js_common','js_minify','js_uikit','less_main'], + callback + ); +}); \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..73ab322 --- /dev/null +++ b/index.html @@ -0,0 +1,572 @@ + + + + + + + + + + + + + + Altair Admin Landing Page + + + + + + + + + + + + +
                  + +
                  + + + + +
                  +
                  +

                  + Willkommen auf dem SEND.NRW Matrix Server! + + Dieser Server ist nur mit valider E-Mail zugänglich. Nutzen Sie öffentliche Spaces, senden Direktnachrichten oder laden Freunde in eigene private Spaces ein! + +

                  +
                  +
                  + +
                  +
                  +
                  +
                  +

                  + Funktionen + Unser Matrix Server legt besonderen Wert auf die Privatsphäre und Sicherheit Ihrer Daten. Hier sind einige der Funktionen, die Sie erwarten können: +

                  +
                  +
                  +
                  +
                  +
                  + +
                  +

                  Kostenfrei

                  +

                  Kosten sollten keine Bedingung für Privatsphäre sein. Hier erwarten Sie keine Überraschungen.

                  +
                  +
                  +
                  + +
                  +

                  Privatsphäre

                  +

                  Wir analysieren keine Daten, oder verkaufen diese an Datenbroker oder ähnliches.

                  +
                  +
                  +
                  + +
                  +

                  Ihr Client

                  +

                  Verwenden Sie jeden Matrix kompatiblen Client, den Sie möchten. Wir unterstützen alle.

                  +
                  +
                  +
                  + +
                  +

                  Web-Client

                  +

                  Sie möchten keinen Client? Kein Problem! Unser Web-Client ist einfach und benutzerfreundlich.

                  +
                  +
                  +
                  + +
                  +

                  Kein Tracking

                  +

                  Wir verwenden keine der Daten. Auch nicht für Eigenwerbung oder Statistiken. Wir respektieren Ihre Privatsphäre.

                  +
                  +
                  +
                  +
                  + + +
                  +
                  +
                  +
                  +
                  +

                  Fragen und Antworten

                  +

                  Vertrauen muss man sich verdienen und das gelingt nur, wenn man sich auch mit Fragen und Antworten beschäftigt. Hier findest du die häufigsten gestellten Fragen zu diesem Service.

                  +

                  Haben Sie weitere Fragen? Besuchen Sie unseren Fragen und Antworten Space auf dem Matrix Server.

                  +
                  +
                  +
                  +

                  Wie kann ich mich registrieren?

                  +
                  +

                  Sie benötigen einen Client oder verwenden unseren Web-Client und geben Sie Ihren Benutzernamen, ein Passwort und eine valide Email-Adresse ein, um sich zu registrieren. Sie erhalten eine Bestätigungsemail, die Sie bestätigen müssen, bevor Sie sich anmelden können.

                  +
                  +

                  DO YOU SELL DOMAINS?

                  +
                  +

                  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

                  +
                  +

                  DO YOU OFFER EMAIL ACCOUNTS?

                  +
                  +

                  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

                  +
                  +

                  HOW DO I SIGN UP?

                  +
                  +

                  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

                  +
                  +

                  IS THERE A DISCOUNT FOR YEARLY SERVICE?

                  +
                  +

                  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

                  +
                  +

                  HOW LONG ARE YOUR CONTRACTS?

                  +
                  +

                  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

                  +
                  +

                  HAVE MORE QUESTIONS?

                  +
                  +

                  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

                  +
                  +
                  +
                  +
                  +
                  +
                  + +
                  +
                  +
                  +
                  +

                  + Our Team + Lorem ipsum dolor sit amet, consectetur adipisicing elit. +

                  +
                  +
                  +
                  + +
                  +
                    +
                  • +
                    +
                    +
                    +
                    +
                    + +
                    +

                    + Darion Brekke + PHP, MYSQL, NODEJS +

                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + +
                    +

                    + Charles Lesch + HTML, CSS, JS +

                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + +
                    +

                    + Viva Ankunding + JAVA, C++, ANDROID +

                    +
                    +
                    +
                    +
                    +
                  • +
                  • +
                    +
                    +
                    +
                    +
                    + +
                    +

                    + Randi Tromp + 123-456-789 +

                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + +
                    +

                    + Felix Wiza Jr. + 123-456-789 +

                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + +
                    +

                    + Libby Harvey Sr. + 123-456-789 +

                    +
                    +
                    +
                    +
                    +
                  • +
                  • +
                    +
                    +
                    +
                    +
                    + +
                    +

                    + Dora Lemke + Lorem Ipsum +

                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + +
                    +

                    + Vernice Willms + Lorem Ipsum +

                    +
                    +
                    +
                    +
                    +
                  • +
                  +
                  +
                  + +
                  +
                  +
                  +
                  +

                  Contact Info

                  +

                  + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Asperiores dolorum enim repellat sit + veritatis? Alias assumenda cupiditate debitis dolorum, explicabo illo laboriosam nisi quibusdam + quod vel velit voluptas voluptate voluptatem? +

                  +

                  + 123-456-789 +

                  +

                  + example@mailserver.com +

                  +

                  + 9173 12th Street East + Ashburn, VA 20147 +

                  +
                  +
                  +
                  +
                  + +
                  +
                  +
                  +
                  + Copyright © 2016-2020 Altair (tzd), All rights reserved. +
                  +
                  +
                  + +
                  +
                  +
                  +
                  +
                  + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..7cf5d41 --- /dev/null +++ b/package.json @@ -0,0 +1,44 @@ +{ + "name": "altair_admin_landing_page", + "version": "2.22.0", + "description": "Landing Page for Altair Admin Material Design UIkit Template", + "main": "index.html", + "scripts": { + "setup": "npm install && bower install && npm run gulp", + "clean-setup": "npm run cleanup && npm run setup", + "cleanup": "rm -rf node_modules && rm -rf bower_components", + "update": "npm run cleanup && ncu -u -i && ncu -p bower -u -i", + "gulp": "node ./node_modules/gulp/bin/gulp" + }, + "keywords": [ + "admin", + "panel", + "material design", + "dashboard" + ], + "author": "tzd", + "license": "http://themeforest.net/licenses", + "homepage": "http://altair.tzdthemes.com", + "private": true, + "devDependencies": { + "browser-sync": "^2.26.7", + "chalk": "^3.0.0", + "gulp": "^3.9.1", + "gulp-autoprefixer": "^7.0.1", + "gulp-clean-css": "^4.2.0", + "gulp-concat": "^2.6.1", + "gulp-less": "^4.0.1", + "gulp-load-plugins": "^2.0.2", + "gulp-rename": "^2.0.0", + "gulp-size": "^3.0.0", + "gulp-sourcemaps": "^2.6.5", + "gulp-uglify": "^3.0.2", + "natives": "1.1.6", + "run-sequence": "^2.2.1" + }, + "browserslist": [ + "> 5%", + "last 2 versions", + "not dead" + ] +}