Repository: BootstrapDash/Stellar Branch: master Commit: e2edfa0f6212 Files: 80 Total size: 1.2 MB Directory structure: gitextract_uzl60vt8/ ├── .gitignore ├── CHANGELOG.md ├── Design/ │ └── Stellar free_Dashboard.sketch ├── LICENSE ├── README.md ├── css/ │ └── style.css ├── gulp-tasks/ │ ├── inject.js │ ├── serve.js │ └── vendors.js ├── gulpfile.js ├── index.html ├── js/ │ ├── chart.js │ ├── chartist.js │ ├── dashboard.js │ ├── misc.js │ ├── off-canvas.js │ ├── select2.js │ └── typeahead.js ├── package.json ├── pages/ │ ├── charts/ │ │ └── chartist.html │ ├── forms/ │ │ └── basic_elements.html │ ├── icons/ │ │ └── simple-line-icons.html │ ├── samples/ │ │ ├── blank-page.html │ │ ├── error-404.html │ │ ├── error-500.html │ │ ├── login.html │ │ └── register.html │ ├── tables/ │ │ └── basic-table.html │ └── ui-features/ │ ├── buttons.html │ └── typography.html ├── partials/ │ ├── _footer.html │ ├── _navbar.html │ └── _sidebar.html ├── scss/ │ ├── _dashboard.scss │ ├── _navbar.scss │ ├── _sidebar.scss │ ├── _variables.scss │ ├── components/ │ │ └── _settings-panel.scss │ ├── light/ │ │ ├── _variables.scss │ │ └── components/ │ │ └── plugin-overrides/ │ │ ├── _chartist.scss │ │ ├── _datepicker.scss │ │ ├── _listify.scss │ │ ├── _progressbar-js.scss │ │ ├── _pws-tabs.scss │ │ ├── _select2.scss │ │ └── _typeahead.scss │ ├── shared/ │ │ ├── _demo.scss │ │ ├── _fonts.scss │ │ ├── _footer.scss │ │ ├── _functions.scss │ │ ├── _misc.scss │ │ ├── _reset.scss │ │ ├── _typography.scss │ │ ├── _utilities.scss │ │ ├── components/ │ │ │ ├── _buttons.scss │ │ │ ├── _cards.scss │ │ │ ├── _checkbox-radio.scss │ │ │ ├── _dropdown.scss │ │ │ ├── _forms.scss │ │ │ ├── _icons.scss │ │ │ ├── _lists.scss │ │ │ ├── _modals.scss │ │ │ ├── _pagination.scss │ │ │ ├── _preview.scss │ │ │ └── _tables.scss │ │ ├── landing-screens/ │ │ │ └── _auth.scss │ │ └── mixins/ │ │ ├── _animation.scss │ │ ├── _blockqoute.scss │ │ ├── _buttons.scss │ │ ├── _cards.scss │ │ ├── _misc.scss │ │ └── _pagination.scss │ ├── style.scss │ └── vertical/ │ └── _vertical-wrapper.scss └── vendors/ ├── css/ │ └── vendor.bundle.base.css ├── daterangepicker/ │ ├── daterangepicker.css │ └── daterangepicker.js ├── js/ │ └── vendor.bundle.base.js ├── moment/ │ └── moment.js └── simple-line-icons/ └── css/ └── simple-line-icons.css ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ /node_modules /bower_components package-lock.json **/.DS_Store ================================================ FILE: CHANGELOG.md ================================================ # CHANGELOG ## V 2.0.0 - Improved design - New folder structure - Updated plugins to newer version - Other bug fixes ## V 1.0.0 - Initial release ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2018 BootstrapDash 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. ================================================ FILE: README.md ================================================

Stellar

Stellar admin template is completely based on the latest version of Bootstrap 4. Stellar Admin is designed to reflect the simplicity and svelte of the components and UI elements and coded to perfection with well-organized code. This makes it easy to change its looks to anything that you desire on your admin panel. Stellar Admin is a perfect pick to create any kind of simple or complex backend applications or any other web applications.

The template is always kept up to date and kept up with the latest technologies. Stellar is a completely responsive admin template that gives you an effortless viewing experience on mobile devices as well as small and large desktops.

Credits:

- Bootstrap 4 - Font Awesome - jQuery - Gulp - Chart.js

Browser Support:

Stellar is designed to work flawlessly with all the latest and modern web browsers. - Chrome (latest) - FireFox (latest) - Safari (latest) - Opera (latest) - IE10+

License Information:

Stellar is released under MIT license. Stellar is a free Bootstrap 4 admin template developed from BootstrapDash. Feel free to download it, use it, share it, get creative with it.

How to use Stellar ?

1 - Click the Clone or Download button in GitHub and download as a ZIP file or you can enter the command git clone https://github.com/BootstrapDash/Stellar.git in you terminal to get a copy of this template. 2 - After the files have been downloaded you will get a folder with all the required files 3 - You can install all the dependencies in the template by running the command npm install. All the required files are in the node modules. 4 - Find the file named index.html, check what all components you need. Open the file in a text editor and you can start editing. 5 - Now that your project has now kick-started, all you need to do now is to code, code, and code to your heart's content.

How to Contribute?:

We love your contributions and we welcome them wholeheartedly. We believe the more the merrier. To contribute make sure you have a Node.js and npm installed. Now run the command gulp --version. If the command returns with the Gulp version number, it means you have Gulp installed. If not you need to run the command npm install --global gulp-cli to install Gulp.

Next

After Gulp has been installed, follow the steps below to contribute.
1 - Fork and clone the repo of Stellar.
2 - Run the command npm install to install all the dependencies.
3 - Enter the command gulp serve. This will open Stellar in your default browser.
4 - Make your valuable contribution
5 - Submit a pull request. Do you need a template with more features and functionalities? Get more with our collection of the premium template with more plugins, eye catching animations, UI components, and sample pages all fitting together with a high-quality design. Visit https://www.bootstrapdash.com for more admin templates. ================================================ FILE: css/style.css ================================================ /*------------------------------------------------------------------- ===== Table of Contents ===== * Bootstrap functions * Template variables * SCSS Compass Functions * Boostrap Main SCSS * Template mixins + Animation Mixins + Background Mixins + Badge Mixins + Button Mixins + Miscellaneous Mixins + BlockQuote Mixins + Cards Mixins + Color Functions Mixins + Tooltips + popovers * Core Styles + Reset Styles + Fonts + Functions + Backgrounds + Typography + Miscellaneous + Footer + Layouts + Utilities + Demo styles * Components + Accordions + Badges + Bootstrap Alerts + Boostrap Progress + Buttons + Breadcrumbs + Cards + Checkboxes and Radios + Dropdowns + Forms + Google maps + Icons + Loaders + Lists + Modals + Pagination + Popover + Preview + Tables + Tabs + Timeline + Todo List + Tooltips + User Profile + Pricing table * Email + Mail Sidebar + Mail List Container + Message Content * Plugin Overrides + Ace Editor + Avgrund Popup + Bootstrap Tour + Chartist + CodeMirror + Colcade + Colorpicker + Context Menu + Data Tables + Datepicker + Dropify + Dropzone + Flot chart + Full Calendar + Google Charts + Icheck + Jquery File Upload + Js-grid + Jvectormap + Light Gallery + Listify + No-ui-slider + Owl-carousel + Progressbar-js + Pws-tabs + Quill Editor + Rating + Select2 + Summernote Editor + SweetAlert + Switchery + Tags + TinyMCE Editor + Toast + Typeahead + Wysi Editor + X-editable + Wizard * Landing screens + Auth + Lock Screen -------------------------------------------------------------------*/ /*-------------------------------------------------------------------*/ /* === Import Bootstrap functions and variables === */ /*-------------------------------------------------------------------*/ /* === Import template variables === */ /*-------------------------------------------------------------------*/ /* === SCSS Compass Functions === */ @import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&display=swap"); @-webkit-keyframes flash { 0% { opacity: 1; } 25% { opacity: 0; } 50% { opacity: 1; } 75% { opacity: 0; } 100% { opacity: 1; } } @keyframes flash { 0% { opacity: 1; } 25% { opacity: 0; } 50% { opacity: 1; } 75% { opacity: 0; } 100% { opacity: 1; } } @-webkit-keyframes bounce { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 20% { -webkit-transform: translateY(0); transform: translateY(0); } 40% { -webkit-transform: translateY(-30px); transform: translateY(-30px); } 50% { -webkit-transform: translateY(0); transform: translateY(0); } 60% { -webkit-transform: translateY(-15px); transform: translateY(-15px); } 80% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes bounce { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 20% { -webkit-transform: translateY(0); transform: translateY(0); } 40% { -webkit-transform: translateY(-30px); transform: translateY(-30px); } 50% { -webkit-transform: translateY(0); transform: translateY(0); } 60% { -webkit-transform: translateY(-15px); transform: translateY(-15px); } 80% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @-webkit-keyframes shake { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 10% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 20% { -webkit-transform: translateX(10px); transform: translateX(10px); } 30% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 40% { -webkit-transform: translateX(10px); transform: translateX(10px); } 50% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 60% { -webkit-transform: translateX(10px); transform: translateX(10px); } 70% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 80% { -webkit-transform: translateX(10px); transform: translateX(10px); } 90% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes shake { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 10% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 20% { -webkit-transform: translateX(10px); transform: translateX(10px); } 30% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 40% { -webkit-transform: translateX(10px); transform: translateX(10px); } 50% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 60% { -webkit-transform: translateX(10px); transform: translateX(10px); } 70% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 80% { -webkit-transform: translateX(10px); transform: translateX(10px); } 90% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @-webkit-keyframes tada { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 10% { -webkit-transform: scale(0.9) rotate(-3deg); transform: scale(0.9) rotate(-3deg); } 20% { -webkit-transform: scale(0.9) rotate(-3deg); transform: scale(0.9) rotate(-3deg); } 30% { -webkit-transform: scale(1.1) rotate(3deg); transform: scale(1.1) rotate(3deg); } 40% { -webkit-transform: scale(1.1) rotate(-3deg); transform: scale(1.1) rotate(-3deg); } 50% { -webkit-transform: scale(1.1) rotate(3deg); transform: scale(1.1) rotate(3deg); } 60% { -webkit-transform: scale(1.1) rotate(-3deg); transform: scale(1.1) rotate(-3deg); } 70% { -webkit-transform: scale(1.1) rotate(3deg); transform: scale(1.1) rotate(3deg); } 80% { -webkit-transform: scale(1.1) rotate(-3deg); transform: scale(1.1) rotate(-3deg); } 90% { -webkit-transform: scale(1.1) rotate(3deg); transform: scale(1.1) rotate(3deg); } 100% { -webkit-transform: scale(1) rotate(0); transform: scale(1) rotate(0); } } @keyframes tada { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 10% { -webkit-transform: scale(0.9) rotate(-3deg); transform: scale(0.9) rotate(-3deg); } 20% { -webkit-transform: scale(0.9) rotate(-3deg); transform: scale(0.9) rotate(-3deg); } 30% { -webkit-transform: scale(1.1) rotate(3deg); transform: scale(1.1) rotate(3deg); } 40% { -webkit-transform: scale(1.1) rotate(-3deg); transform: scale(1.1) rotate(-3deg); } 50% { -webkit-transform: scale(1.1) rotate(3deg); transform: scale(1.1) rotate(3deg); } 60% { -webkit-transform: scale(1.1) rotate(-3deg); transform: scale(1.1) rotate(-3deg); } 70% { -webkit-transform: scale(1.1) rotate(3deg); transform: scale(1.1) rotate(3deg); } 80% { -webkit-transform: scale(1.1) rotate(-3deg); transform: scale(1.1) rotate(-3deg); } 90% { -webkit-transform: scale(1.1) rotate(3deg); transform: scale(1.1) rotate(3deg); } 100% { -webkit-transform: scale(1) rotate(0); transform: scale(1) rotate(0); } } @-webkit-keyframes swing { 20%, 40%, 60%, 80%, 100% { -webkit-transform-origin: top center 50%; transform-origin: top center 50%; } 20% { -webkit-transform: rotate(15deg); transform: rotate(15deg); } 40% { -webkit-transform: rotate(-10deg); transform: rotate(-10deg); } 60% { -webkit-transform: rotate(5deg); transform: rotate(5deg); } 80% { -webkit-transform: rotate(-5deg); transform: rotate(-5deg); } 100% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } } @keyframes swing { 20%, 40%, 60%, 80%, 100% { -webkit-transform-origin: top center 50%; transform-origin: top center 50%; } 20% { -webkit-transform: rotate(15deg); transform: rotate(15deg); } 40% { -webkit-transform: rotate(-10deg); transform: rotate(-10deg); } 60% { -webkit-transform: rotate(5deg); transform: rotate(5deg); } 80% { -webkit-transform: rotate(-5deg); transform: rotate(-5deg); } 100% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } } @-webkit-keyframes wobble { 0% { -webkit-transform: translateX(0%); transform: translateX(0%); } 15% { -webkit-transform: translateX(-25%) rotate(-5deg); transform: translateX(-25%) rotate(-5deg); } 30% { -webkit-transform: translateX(20%) rotate(3deg); transform: translateX(20%) rotate(3deg); } 45% { -webkit-transform: translateX(-15%) rotate(-3deg); transform: translateX(-15%) rotate(-3deg); } 60% { -webkit-transform: translateX(10%) rotate(2deg); transform: translateX(10%) rotate(2deg); } 75% { -webkit-transform: translateX(-5%) rotate(-1deg); transform: translateX(-5%) rotate(-1deg); } 100% { -webkit-transform: translateX(0%); transform: translateX(0%); } } @keyframes wobble { 0% { -webkit-transform: translateX(0%); transform: translateX(0%); } 15% { -webkit-transform: translateX(-25%) rotate(-5deg); transform: translateX(-25%) rotate(-5deg); } 30% { -webkit-transform: translateX(20%) rotate(3deg); transform: translateX(20%) rotate(3deg); } 45% { -webkit-transform: translateX(-15%) rotate(-3deg); transform: translateX(-15%) rotate(-3deg); } 60% { -webkit-transform: translateX(10%) rotate(2deg); transform: translateX(10%) rotate(2deg); } 75% { -webkit-transform: translateX(-5%) rotate(-1deg); transform: translateX(-5%) rotate(-1deg); } 100% { -webkit-transform: translateX(0%); transform: translateX(0%); } } @-webkit-keyframes pulse { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { -webkit-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); } 100% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } } @keyframes pulse { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { -webkit-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); } 100% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } } @-webkit-keyframes wiggle { 0% { -webkit-transform: skewX(9deg); transform: skewX(9deg); } 10% { -webkit-transform: skewX(-8deg); transform: skewX(-8deg); } 20% { -webkit-transform: skewX(7deg); transform: skewX(7deg); } 30% { -webkit-transform: skewX(-6deg); transform: skewX(-6deg); } 40% { -webkit-transform: skewX(5deg); transform: skewX(5deg); } 50% { -webkit-transform: skewX(-4deg); transform: skewX(-4deg); } 60% { -webkit-transform: skewX(3deg); transform: skewX(3deg); } 70% { -webkit-transform: skewX(-2deg); transform: skewX(-2deg); } 80% { -webkit-transform: skewX(1deg); transform: skewX(1deg); } 90% { -webkit-transform: skewX(0deg); transform: skewX(0deg); } 100% { -webkit-transform: skewX(0deg); transform: skewX(0deg); } } @keyframes wiggle { 0% { -webkit-transform: skewX(9deg); transform: skewX(9deg); } 10% { -webkit-transform: skewX(-8deg); transform: skewX(-8deg); } 20% { -webkit-transform: skewX(7deg); transform: skewX(7deg); } 30% { -webkit-transform: skewX(-6deg); transform: skewX(-6deg); } 40% { -webkit-transform: skewX(5deg); transform: skewX(5deg); } 50% { -webkit-transform: skewX(-4deg); transform: skewX(-4deg); } 60% { -webkit-transform: skewX(3deg); transform: skewX(3deg); } 70% { -webkit-transform: skewX(-2deg); transform: skewX(-2deg); } 80% { -webkit-transform: skewX(1deg); transform: skewX(1deg); } 90% { -webkit-transform: skewX(0deg); transform: skewX(0deg); } 100% { -webkit-transform: skewX(0deg); transform: skewX(0deg); } } @-webkit-keyframes bounceOut { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 25% { -webkit-transform: scale(0.95, 0.95); transform: scale(0.95, 0.95); } 50% { opacity: 1; -webkit-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); } 100% { opacity: 0; -webkit-transform: scale(0.3, 0.3); transform: scale(0.3, 0.3); } } @keyframes bounceOut { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 25% { -webkit-transform: scale(0.95, 0.95); transform: scale(0.95, 0.95); } 50% { opacity: 1; -webkit-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); } 100% { opacity: 0; -webkit-transform: scale(0.3, 0.3); transform: scale(0.3, 0.3); } } @-webkit-keyframes bounceOutUp { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 20% { opacity: 1; -webkit-transform: translateY(20px); transform: translateY(20px); } 100% { opacity: 0; -webkit-transform: translateY(-2000px); transform: translateY(-2000px); } } @keyframes bounceOutUp { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 20% { opacity: 1; -webkit-transform: translateY(20px); transform: translateY(20px); } 100% { opacity: 0; -webkit-transform: translateY(-2000px); transform: translateY(-2000px); } } @-webkit-keyframes bounceOutDown { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 20% { opacity: 1; -webkit-transform: translateY(-20px); transform: translateY(-20px); } 100% { opacity: 0; -webkit-transform: translateY(2000px); transform: translateY(2000px); } } @keyframes bounceOutDown { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 20% { opacity: 1; -webkit-transform: translateY(-20px); transform: translateY(-20px); } 100% { opacity: 0; -webkit-transform: translateY(2000px); transform: translateY(2000px); } } @-webkit-keyframes bounceOutLeft { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 20% { opacity: 1; -webkit-transform: translateX(20px); transform: translateX(20px); } 100% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } } @keyframes bounceOutLeft { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 20% { opacity: 1; -webkit-transform: translateX(20px); transform: translateX(20px); } 100% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } } @-webkit-keyframes bounceOutRight { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 20% { opacity: 1; -webkit-transform: translateX(-20px); transform: translateX(-20px); } 100% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } } @keyframes bounceOutRight { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 20% { opacity: 1; -webkit-transform: translateX(-20px); transform: translateX(-20px); } 100% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } } @-webkit-keyframes bounceIn { 0% { opacity: 0; -webkit-transform: scale(0.3, 0.3); transform: scale(0.3, 0.3); } 50% { opacity: 1; -webkit-transform: scale(1.05, 1.05); transform: scale(1.05, 1.05); } 70% { -webkit-transform: scale(0.9, 0.9); transform: scale(0.9, 0.9); } 100% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } } @keyframes bounceIn { 0% { opacity: 0; -webkit-transform: scale(0.3, 0.3); transform: scale(0.3, 0.3); } 50% { opacity: 1; -webkit-transform: scale(1.05, 1.05); transform: scale(1.05, 1.05); } 70% { -webkit-transform: scale(0.9, 0.9); transform: scale(0.9, 0.9); } 100% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } } @-webkit-keyframes bounceInDown { 0% { opacity: 0; -webkit-transform: translateY(-2000px); transform: translateY(-2000px); } 60% { opacity: 1; -webkit-transform: translateY(30px); transform: translateY(30px); } 80% { -webkit-transform: translateY(-10px); transform: translateY(-10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes bounceInDown { 0% { opacity: 0; -webkit-transform: translateY(-2000px); transform: translateY(-2000px); } 60% { opacity: 1; -webkit-transform: translateY(30px); transform: translateY(30px); } 80% { -webkit-transform: translateY(-10px); transform: translateY(-10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @-webkit-keyframes bounceInUp { 0% { opacity: 0; -webkit-transform: translateY(2000px); transform: translateY(2000px); } 60% { opacity: 1; -webkit-transform: translateY(-30px); transform: translateY(-30px); } 80% { -webkit-transform: translateY(10px); transform: translateY(10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes bounceInUp { 0% { opacity: 0; -webkit-transform: translateY(2000px); transform: translateY(2000px); } 60% { opacity: 1; -webkit-transform: translateY(-30px); transform: translateY(-30px); } 80% { -webkit-transform: translateY(10px); transform: translateY(10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @-webkit-keyframes bounceInRight { 0% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } 60% { opacity: 1; -webkit-transform: translateX(-30px); transform: translateX(-30px); } 80% { -webkit-transform: translateX(10px); transform: translateX(10px); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes bounceInRight { 0% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } 60% { opacity: 1; -webkit-transform: translateX(-30px); transform: translateX(-30px); } 80% { -webkit-transform: translateX(10px); transform: translateX(10px); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @-webkit-keyframes bounceInLeft { 0% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } 60% { opacity: 1; -webkit-transform: translateX(30px); transform: translateX(30px); } 80% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes bounceInLeft { 0% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } 60% { opacity: 1; -webkit-transform: translateX(30px); transform: translateX(30px); } 80% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @-webkit-keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; } } @-webkit-keyframes fadeOutUp { 0% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } 100% { -webkit-transform: translateY(-20px); transform: translateY(-20px); opacity: 0; } } @keyframes fadeOutUp { 0% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } 100% { -webkit-transform: translateY(-20px); transform: translateY(-20px); opacity: 0; } } @-webkit-keyframes fadeOutDown { 0% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } 100% { -webkit-transform: translateY(20px); transform: translateY(20px); opacity: 0; } } @keyframes fadeOutDown { 0% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } 100% { -webkit-transform: translateY(20px); transform: translateY(20px); opacity: 0; } } @-webkit-keyframes fadeOutRight { 0% { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; } 100% { -webkit-transform: translateX(20px); transform: translateX(20px); opacity: 0; } } @keyframes fadeOutRight { 0% { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; } 100% { -webkit-transform: translateX(20px); transform: translateX(20px); opacity: 0; } } @-webkit-keyframes fadeOutLeft { 0% { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; } 100% { -webkit-transform: translateX(-20px); transform: translateX(-20px); opacity: 0; } } @keyframes fadeOutLeft { 0% { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; } 100% { -webkit-transform: translateX(-20px); transform: translateX(-20px); opacity: 0; } } @-webkit-keyframes fadeOutUpBig { 0% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } 100% { -webkit-transform: translateY(-2000px); transform: translateY(-2000px); opacity: 0; } } @keyframes fadeOutUpBig { 0% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } 100% { -webkit-transform: translateY(-2000px); transform: translateY(-2000px); opacity: 0; } } @-webkit-keyframes fadeOutDownBig { 0% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(2000px); transform: translateY(2000px); } } @keyframes fadeOutDownBig { 0% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(2000px); transform: translateY(2000px); } } @-webkit-keyframes fadeOutRightBig { 0% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } } @keyframes fadeOutRightBig { 0% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } } @-webkit-keyframes fadeOutLeftBig { 0% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } } @keyframes fadeOutLeftBig { 0% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } } @-webkit-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } @-webkit-keyframes fadeInUp { 0% { -webkit-transform: translateY(20px); transform: translateY(20px); opacity: 0; } 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } } @keyframes fadeInUp { 0% { -webkit-transform: translateY(20px); transform: translateY(20px); opacity: 0; } 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } } @-webkit-keyframes fadeInDown { 0% { -webkit-transform: translateY(-20px); transform: translateY(-20px); opacity: 0; } 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } } @keyframes fadeInDown { 0% { -webkit-transform: translateY(-20px); transform: translateY(-20px); opacity: 0; } 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } } @-webkit-keyframes fadeInRight { 0% { -webkit-transform: translateX(20px); transform: translateX(20px); opacity: 0; } 100% { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; } } @keyframes fadeInRight { 0% { -webkit-transform: translateX(20px); transform: translateX(20px); opacity: 0; } 100% { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; } } @-webkit-keyframes fadeInLeft { 0% { -webkit-transform: translateX(-20px); transform: translateX(-20px); opacity: 0; } 100% { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; } } @keyframes fadeInLeft { 0% { -webkit-transform: translateX(-20px); transform: translateX(-20px); opacity: 0; } 100% { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; } } @-webkit-keyframes fadeInUpBig { 0% { -webkit-transform: translateY(2000px); transform: translateY(2000px); opacity: 0; } 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } } @keyframes fadeInUpBig { 0% { -webkit-transform: translateY(2000px); transform: translateY(2000px); opacity: 0; } 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } } @-webkit-keyframes fadeInDownBig { 0% { opacity: 0; -webkit-transform: translateY(-2000px); transform: translateY(-2000px); } 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes fadeInDownBig { 0% { opacity: 0; -webkit-transform: translateY(-2000px); transform: translateY(-2000px); } 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } } @-webkit-keyframes fadeInRightBig { 0% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } 100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes fadeInRightBig { 0% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } 100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } } @-webkit-keyframes fadeInLeftBig { 0% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } 100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes fadeInLeftBig { 0% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } 100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } } @-webkit-keyframes flip { 0% { -webkit-transform: perspective(400px) rotateY(0); transform: perspective(400px) rotateY(0); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 40% { -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg); transform: perspective(400px) translateZ(150px) rotateY(170deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 50% { -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 80% { -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95); transform: perspective(400px) rotateY(360deg) scale(0.95); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 100% { -webkit-transform: perspective(400px) scale(1); transform: perspective(400px) scale(1); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } } @keyframes flip { 0% { -webkit-transform: perspective(400px) rotateY(0); transform: perspective(400px) rotateY(0); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 40% { -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg); transform: perspective(400px) translateZ(150px) rotateY(170deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 50% { -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 80% { -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95); transform: perspective(400px) rotateY(360deg) scale(0.95); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 100% { -webkit-transform: perspective(400px) scale(1); transform: perspective(400px) scale(1); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } } @-webkit-keyframes flipInX { 0% { -webkit-transform: perspective(400px) rotateX(90deg); transform: perspective(400px) rotateX(90deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } 40% { -webkit-transform: perspective(400px) rotateX(-10deg); transform: perspective(400px) rotateX(-10deg); } 70% { -webkit-transform: perspective(400px) rotateX(10deg); transform: perspective(400px) rotateX(10deg); } 100% { -webkit-transform: perspective(400px) rotateX(0deg); transform: perspective(400px) rotateX(0deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } } @keyframes flipInX { 0% { -webkit-transform: perspective(400px) rotateX(90deg); transform: perspective(400px) rotateX(90deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } 40% { -webkit-transform: perspective(400px) rotateX(-10deg); transform: perspective(400px) rotateX(-10deg); } 70% { -webkit-transform: perspective(400px) rotateX(10deg); transform: perspective(400px) rotateX(10deg); } 100% { -webkit-transform: perspective(400px) rotateX(0deg); transform: perspective(400px) rotateX(0deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } } @-webkit-keyframes flipOutX { 0% { -webkit-transform: perspective(400px) rotateX(0deg); transform: perspective(400px) rotateX(0deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } 100% { -webkit-transform: perspective(400px) rotateX(90deg); transform: perspective(400px) rotateX(90deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } } @keyframes flipOutX { 0% { -webkit-transform: perspective(400px) rotateX(0deg); transform: perspective(400px) rotateX(0deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } 100% { -webkit-transform: perspective(400px) rotateX(90deg); transform: perspective(400px) rotateX(90deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } } @-webkit-keyframes flipInY { 0% { -webkit-transform: perspective(400px) rotateY(90deg); transform: perspective(400px) rotateY(90deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } 40% { -webkit-transform: perspective(400px) rotateY(-10deg); transform: perspective(400px) rotateY(-10deg); } 70% { -webkit-transform: perspective(400px) rotateY(10deg); transform: perspective(400px) rotateY(10deg); } 100% { -webkit-transform: perspective(400px) rotateY(0deg); transform: perspective(400px) rotateY(0deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } } @keyframes flipInY { 0% { -webkit-transform: perspective(400px) rotateY(90deg); transform: perspective(400px) rotateY(90deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } 40% { -webkit-transform: perspective(400px) rotateY(-10deg); transform: perspective(400px) rotateY(-10deg); } 70% { -webkit-transform: perspective(400px) rotateY(10deg); transform: perspective(400px) rotateY(10deg); } 100% { -webkit-transform: perspective(400px) rotateY(0deg); transform: perspective(400px) rotateY(0deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } } @-webkit-keyframes flipOutY { 0% { -webkit-transform: perspective(400px) rotateY(0deg); transform: perspective(400px) rotateY(0deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } 100% { -webkit-transform: perspective(400px) rotateY(90deg); transform: perspective(400px) rotateY(90deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } } @keyframes flipOutY { 0% { -webkit-transform: perspective(400px) rotateY(0deg); transform: perspective(400px) rotateY(0deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } 100% { -webkit-transform: perspective(400px) rotateY(90deg); transform: perspective(400px) rotateY(90deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } } @-webkit-keyframes lightSpeedIn { 0% { -webkit-transform: translateX(100%) skewX(-30deg); transform: translateX(100%) skewX(-30deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } 60% { -webkit-transform: translateX(-20%) skewX(30deg); transform: translateX(-20%) skewX(30deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } 80% { -webkit-transform: translateX(0%) skewX(-15deg); transform: translateX(0%) skewX(-15deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } 100% { -webkit-transform: translateX(0%) skewX(0deg); transform: translateX(0%) skewX(0deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } } @keyframes lightSpeedIn { 0% { -webkit-transform: translateX(100%) skewX(-30deg); transform: translateX(100%) skewX(-30deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } 60% { -webkit-transform: translateX(-20%) skewX(30deg); transform: translateX(-20%) skewX(30deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } 80% { -webkit-transform: translateX(0%) skewX(-15deg); transform: translateX(0%) skewX(-15deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } 100% { -webkit-transform: translateX(0%) skewX(0deg); transform: translateX(0%) skewX(0deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } } @-webkit-keyframes lightSpeedOut { 0% { -webkit-transform: translateX(0%) skewX(0deg); transform: translateX(0%) skewX(0deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } 100% { -webkit-transform: translateX(100%) skewX(-30deg); transform: translateX(100%) skewX(-30deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } } @keyframes lightSpeedOut { 0% { -webkit-transform: translateX(0%) skewX(0deg); transform: translateX(0%) skewX(0deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } 100% { -webkit-transform: translateX(100%) skewX(-30deg); transform: translateX(100%) skewX(-30deg); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } } @-webkit-keyframes rotateOut { 0% { -webkit-transform-origin: center center 50%; transform-origin: center center 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: center center 50%; transform-origin: center center 50%; -webkit-transform: rotate(200deg); transform: rotate(200deg); opacity: 0; } } @keyframes rotateOut { 0% { -webkit-transform-origin: center center 50%; transform-origin: center center 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: center center 50%; transform-origin: center center 50%; -webkit-transform: rotate(200deg); transform: rotate(200deg); opacity: 0; } } @-webkit-keyframes rotateOutDownLeft { 0% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } } @keyframes rotateOutDownLeft { 0% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } } @-webkit-keyframes rotateOutUpLeft { 0% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } } @keyframes rotateOutUpLeft { 0% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } } @-webkit-keyframes rotateOutDownRight { 0% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } } @keyframes rotateOutDownRight { 0% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } } @-webkit-keyframes rotateOutUpRight { 0% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } } @keyframes rotateOutUpRight { 0% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } } @-webkit-keyframes rotateIn { 0% { -webkit-transform-origin: center center 50%; transform-origin: center center 50%; -webkit-transform: rotate(-200deg); transform: rotate(-200deg); opacity: 0; } 100% { -webkit-transform-origin: center center 50%; transform-origin: center center 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @keyframes rotateIn { 0% { -webkit-transform-origin: center center 50%; transform-origin: center center 50%; -webkit-transform: rotate(-200deg); transform: rotate(-200deg); opacity: 0; } 100% { -webkit-transform-origin: center center 50%; transform-origin: center center 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @-webkit-keyframes rotateInDownLeft { 0% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } 100% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @keyframes rotateInDownLeft { 0% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } 100% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @-webkit-keyframes rotateInUpLeft { 0% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } 100% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @keyframes rotateInUpLeft { 0% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } 100% { -webkit-transform-origin: left bottom 50%; transform-origin: left bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @-webkit-keyframes rotateInUpRight { 0% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } 100% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @keyframes rotateInUpRight { 0% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } 100% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @-webkit-keyframes rotateInDownRight { 0% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } 100% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @keyframes rotateInDownRight { 0% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } 100% { -webkit-transform-origin: right bottom 50%; transform-origin: right bottom 50%; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @-webkit-keyframes hinge { 0% { -webkit-transform: rotate(0); transform: rotate(0); -webkit-transform-origin: top left 50%; transform-origin: top left 50%; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 20%, 60% { -webkit-transform: rotate(80deg); transform: rotate(80deg); -webkit-transform-origin: top left 50%; transform-origin: top left 50%; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 40% { -webkit-transform: rotate(60deg); transform: rotate(60deg); -webkit-transform-origin: top left 50%; transform-origin: top left 50%; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 80% { -webkit-transform: rotate(60deg) translateY(0); transform: rotate(60deg) translateY(0); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; -webkit-transform-origin: top left 50%; transform-origin: top left 50%; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { -webkit-transform: translateY(700px); transform: translateY(700px); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } } @keyframes hinge { 0% { -webkit-transform: rotate(0); transform: rotate(0); -webkit-transform-origin: top left 50%; transform-origin: top left 50%; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 20%, 60% { -webkit-transform: rotate(80deg); transform: rotate(80deg); -webkit-transform-origin: top left 50%; transform-origin: top left 50%; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 40% { -webkit-transform: rotate(60deg); transform: rotate(60deg); -webkit-transform-origin: top left 50%; transform-origin: top left 50%; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 80% { -webkit-transform: rotate(60deg) translateY(0); transform: rotate(60deg) translateY(0); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; -webkit-transform-origin: top left 50%; transform-origin: top left 50%; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { -webkit-transform: translateY(700px); transform: translateY(700px); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } } @-webkit-keyframes rollIn { 0% { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; -webkit-transform: translateX(-100%) rotate(-120deg); transform: translateX(-100%) rotate(-120deg); } 100% { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); transform: translateX(0px) rotate(0deg); } } @keyframes rollIn { 0% { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; -webkit-transform: translateX(-100%) rotate(-120deg); transform: translateX(-100%) rotate(-120deg); } 100% { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); transform: translateX(0px) rotate(0deg); } } @-webkit-keyframes rollOut { 0% { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); transform: translateX(0px) rotate(0deg); } 100% { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; -webkit-transform: translateX(-100%) rotate(-120deg); transform: translateX(-100%) rotate(-120deg); } } @keyframes rollOut { 0% { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); transform: translateX(0px) rotate(0deg); } 100% { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; -webkit-transform: translateX(-100%) rotate(-120deg); transform: translateX(-100%) rotate(-120deg); } } /*-------------------------------------------------------------------*/ /* === Boostrap Main SCSS === */ /*! * Bootstrap v4.5.3 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors * Copyright 2011-2020 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ :root { --blue: #5E50F9; --indigo: #6610f2; --purple: #6a008a; --pink: #E91E63; --red: #f96868; --orange: #f2a654; --yellow: #f6e84e; --green: #46c35f; --teal: #58d8a3; --cyan: #57c7d4; --white: #ffffff; --gray: #6c757d; --gray-dark: #0f1531; --blue: #5E50F9; --indigo: #6610f2; --purple: #6a008a; --pink: #E91E63; --red: #f96868; --orange: #f2a654; --yellow: #f6e84e; --green: #46c35f; --teal: #58d8a3; --cyan: #57c7d4; --white: #ffffff; --gray: #434a54; --gray-light: #aab2bd; --gray-lighter: #e8eff4; --gray-lightest: #e6e9ed; --black: #000000; --primary: #1bdbe0; --secondary: #d8d8d8; --success: #38ce3c; --info: #8e32e9; --warning: #ffde73; --danger: #ff4d6b; --light: #f8f9fa; --dark: #3e4b5b; --breakpoint-xs: 0; --breakpoint-sm: 576px; --breakpoint-md: 768px; --breakpoint-lg: 992px; --breakpoint-xl: 1200px; --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } *, *::before, *::after { -webkit-box-sizing: border-box; box-sizing: border-box; } html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; } body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #343a40; text-align: left; background-color: #fff; } [tabindex="-1"]:focus:not(:focus-visible) { outline: 0 !important; } hr { -webkit-box-sizing: content-box; box-sizing: content-box; height: 0; overflow: visible; } h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0.5rem; } p { margin-top: 0; margin-bottom: 1rem; } abbr[title], abbr[data-original-title] { text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; cursor: help; border-bottom: 0; -webkit-text-decoration-skip-ink: none; text-decoration-skip-ink: none; } address { margin-bottom: 1rem; font-style: normal; line-height: inherit; } ol, ul, dl { margin-top: 0; margin-bottom: 1rem; } ol ol, ul ul, ol ul, ul ol { margin-bottom: 0; } dt { font-weight: 700; } dd { margin-bottom: .5rem; margin-left: 0; } blockquote { margin: 0 0 1rem; } b, strong { font-weight: bolder; } small { font-size: 80%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sub { bottom: -.25em; } sup { top: -.5em; } a { color: #007bff; text-decoration: none; background-color: transparent; } a:hover { color: #0056b3; text-decoration: underline; } a:not([href]):not([class]) { color: inherit; text-decoration: none; } a:not([href]):not([class]):hover { color: inherit; text-decoration: none; } pre, code, kbd, samp { font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 1em; } pre { margin-top: 0; margin-bottom: 1rem; overflow: auto; -ms-overflow-style: scrollbar; } figure { margin: 0 0 1rem; } img { vertical-align: middle; border-style: none; } svg { overflow: hidden; vertical-align: middle; } table { border-collapse: collapse; } caption { padding-top: 0.9375rem; padding-bottom: 0.9375rem; color: #6c757d; text-align: left; caption-side: bottom; } th { text-align: inherit; text-align: -webkit-match-parent; } label { display: inline-block; margin-bottom: 0.5rem; } button { border-radius: 0; } button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; } input, button, select, optgroup, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; } button, input { overflow: visible; } button, select { text-transform: none; } [role="button"] { cursor: pointer; } select { word-wrap: normal; } button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) { cursor: pointer; } button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { padding: 0; border-style: none; } input[type="radio"], input[type="checkbox"] { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0; } textarea { overflow: auto; resize: vertical; } fieldset { min-width: 0; padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; max-width: 100%; padding: 0; margin-bottom: .5rem; font-size: 1.5rem; line-height: inherit; color: inherit; white-space: normal; } progress { vertical-align: baseline; } [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } [type="search"] { outline-offset: -2px; -webkit-appearance: none; } [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } ::-webkit-file-upload-button { font: inherit; -webkit-appearance: button; } output { display: inline-block; } summary { display: list-item; cursor: pointer; } template { display: none; } [hidden] { display: none !important; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { margin-bottom: 0.5rem; font-weight: 500; line-height: 1.2; } h1, .h1 { font-size: 2.5rem; } h2, .h2 { font-size: 2rem; } h3, .h3 { font-size: 1.75rem; } h4, .h4 { font-size: 1.5rem; } h5, .h5 { font-size: 1.25rem; } h6, .h6 { font-size: 1rem; } .lead { font-size: 1.25rem; font-weight: 300; } .display-1 { font-size: 6rem; font-weight: 300; line-height: 1.2; } .display-2 { font-size: 5.5rem; font-weight: 300; line-height: 1.2; } .display-3 { font-size: 4.5rem; font-weight: 300; line-height: 1.2; } .display-4 { font-size: 3.5rem; font-weight: 300; line-height: 1.2; } hr { margin-top: 1rem; margin-bottom: 1rem; border: 0; border-top: 1px solid rgba(0, 0, 0, 0.1); } small, .small { font-size: 80%; font-weight: 400; } mark, .mark { padding: 0.2em; background-color: #fcf8e3; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; list-style: none; } .list-inline-item { display: inline-block; } .list-inline-item:not(:last-child) { margin-right: 0.5rem; } .initialism { font-size: 90%; text-transform: uppercase; } .blockquote { margin-bottom: 1rem; font-size: 1.25rem; } .blockquote-footer { display: block; font-size: 80%; color: #6c757d; } .blockquote-footer::before { content: "\2014\00A0"; } .img-fluid { max-width: 100%; height: auto; } .img-thumbnail { padding: 0.25rem; background-color: #fff; border: 1px solid #dee2e6; border-radius: 0.25rem; max-width: 100%; height: auto; } .figure { display: inline-block; } .figure-img { margin-bottom: 0.5rem; line-height: 1; } .figure-caption { font-size: 90%; color: #6c757d; } code { font-size: 87.5%; color: #e83e8c; word-wrap: break-word; } a > code { color: inherit; } kbd { padding: 0.2rem 0.4rem; font-size: 87.5%; color: #fff; background-color: #212529; border-radius: 0.2rem; } kbd kbd { padding: 0; font-size: 100%; font-weight: 700; } pre { display: block; font-size: 87.5%; color: #212529; } pre code { font-size: inherit; color: inherit; word-break: normal; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl { width: 100%; padding-right: 10px; padding-left: 10px; margin-right: auto; margin-left: auto; } @media (min-width: 576px) { .container, .container-sm { max-width: 540px; } } @media (min-width: 768px) { .container, .container-sm, .container-md { max-width: 720px; } } @media (min-width: 992px) { .container, .container-sm, .container-md, .container-lg { max-width: 960px; } } @media (min-width: 1200px) { .container, .container-sm, .container-md, .container-lg, .container-xl { max-width: 1140px; } } .row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-right: -10px; margin-left: -10px; } .no-gutters { margin-right: 0; margin-left: 0; } .no-gutters > .col, .no-gutters > [class*="col-"] { padding-right: 0; padding-left: 0; } .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto { position: relative; width: 100%; padding-right: 10px; padding-left: 10px; } .col { -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-1 > * { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-2 > * { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-3 > * { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; } .row-cols-4 > * { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-5 > * { -webkit-box-flex: 0; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-6 > * { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; } .col-auto { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.33333%; flex: 0 0 8.33333%; max-width: 8.33333%; } .col-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; } .col-3 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; } .col-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.66667%; flex: 0 0 41.66667%; max-width: 41.66667%; } .col-6 { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.33333%; flex: 0 0 58.33333%; max-width: 58.33333%; } .col-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.66667%; flex: 0 0 66.66667%; max-width: 66.66667%; } .col-9 { -webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.33333%; flex: 0 0 83.33333%; max-width: 83.33333%; } .col-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.66667%; flex: 0 0 91.66667%; max-width: 91.66667%; } .col-12 { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-first { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; } .order-last { -webkit-box-ordinal-group: 14; -ms-flex-order: 13; order: 13; } .order-0 { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; } .order-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .order-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .order-3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .order-4 { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .order-5 { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .order-6 { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .order-7 { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .order-8 { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .order-9 { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .order-10 { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .order-11 { -webkit-box-ordinal-group: 12; -ms-flex-order: 11; order: 11; } .order-12 { -webkit-box-ordinal-group: 13; -ms-flex-order: 12; order: 12; } .offset-1 { margin-left: 8.33333%; } .offset-2 { margin-left: 16.66667%; } .offset-3 { margin-left: 25%; } .offset-4 { margin-left: 33.33333%; } .offset-5 { margin-left: 41.66667%; } .offset-6 { margin-left: 50%; } .offset-7 { margin-left: 58.33333%; } .offset-8 { margin-left: 66.66667%; } .offset-9 { margin-left: 75%; } .offset-10 { margin-left: 83.33333%; } .offset-11 { margin-left: 91.66667%; } @media (min-width: 576px) { .col-sm { -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-sm-1 > * { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-sm-2 > * { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-sm-3 > * { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; } .row-cols-sm-4 > * { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-sm-5 > * { -webkit-box-flex: 0; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-sm-6 > * { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; } .col-sm-auto { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-sm-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.33333%; flex: 0 0 8.33333%; max-width: 8.33333%; } .col-sm-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; } .col-sm-3 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-sm-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; } .col-sm-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.66667%; flex: 0 0 41.66667%; max-width: 41.66667%; } .col-sm-6 { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-sm-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.33333%; flex: 0 0 58.33333%; max-width: 58.33333%; } .col-sm-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.66667%; flex: 0 0 66.66667%; max-width: 66.66667%; } .col-sm-9 { -webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-sm-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.33333%; flex: 0 0 83.33333%; max-width: 83.33333%; } .col-sm-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.66667%; flex: 0 0 91.66667%; max-width: 91.66667%; } .col-sm-12 { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-sm-first { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; } .order-sm-last { -webkit-box-ordinal-group: 14; -ms-flex-order: 13; order: 13; } .order-sm-0 { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; } .order-sm-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .order-sm-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .order-sm-3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .order-sm-4 { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .order-sm-5 { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .order-sm-6 { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .order-sm-7 { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .order-sm-8 { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .order-sm-9 { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .order-sm-10 { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .order-sm-11 { -webkit-box-ordinal-group: 12; -ms-flex-order: 11; order: 11; } .order-sm-12 { -webkit-box-ordinal-group: 13; -ms-flex-order: 12; order: 12; } .offset-sm-0 { margin-left: 0; } .offset-sm-1 { margin-left: 8.33333%; } .offset-sm-2 { margin-left: 16.66667%; } .offset-sm-3 { margin-left: 25%; } .offset-sm-4 { margin-left: 33.33333%; } .offset-sm-5 { margin-left: 41.66667%; } .offset-sm-6 { margin-left: 50%; } .offset-sm-7 { margin-left: 58.33333%; } .offset-sm-8 { margin-left: 66.66667%; } .offset-sm-9 { margin-left: 75%; } .offset-sm-10 { margin-left: 83.33333%; } .offset-sm-11 { margin-left: 91.66667%; } } @media (min-width: 768px) { .col-md { -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-md-1 > * { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-md-2 > * { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-md-3 > * { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; } .row-cols-md-4 > * { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-md-5 > * { -webkit-box-flex: 0; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-md-6 > * { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; } .col-md-auto { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-md-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.33333%; flex: 0 0 8.33333%; max-width: 8.33333%; } .col-md-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; } .col-md-3 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-md-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; } .col-md-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.66667%; flex: 0 0 41.66667%; max-width: 41.66667%; } .col-md-6 { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-md-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.33333%; flex: 0 0 58.33333%; max-width: 58.33333%; } .col-md-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.66667%; flex: 0 0 66.66667%; max-width: 66.66667%; } .col-md-9 { -webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-md-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.33333%; flex: 0 0 83.33333%; max-width: 83.33333%; } .col-md-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.66667%; flex: 0 0 91.66667%; max-width: 91.66667%; } .col-md-12 { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-md-first { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; } .order-md-last { -webkit-box-ordinal-group: 14; -ms-flex-order: 13; order: 13; } .order-md-0 { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; } .order-md-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .order-md-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .order-md-3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .order-md-4 { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .order-md-5 { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .order-md-6 { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .order-md-7 { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .order-md-8 { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .order-md-9 { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .order-md-10 { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .order-md-11 { -webkit-box-ordinal-group: 12; -ms-flex-order: 11; order: 11; } .order-md-12 { -webkit-box-ordinal-group: 13; -ms-flex-order: 12; order: 12; } .offset-md-0 { margin-left: 0; } .offset-md-1 { margin-left: 8.33333%; } .offset-md-2 { margin-left: 16.66667%; } .offset-md-3 { margin-left: 25%; } .offset-md-4 { margin-left: 33.33333%; } .offset-md-5 { margin-left: 41.66667%; } .offset-md-6 { margin-left: 50%; } .offset-md-7 { margin-left: 58.33333%; } .offset-md-8 { margin-left: 66.66667%; } .offset-md-9 { margin-left: 75%; } .offset-md-10 { margin-left: 83.33333%; } .offset-md-11 { margin-left: 91.66667%; } } @media (min-width: 992px) { .col-lg { -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-lg-1 > * { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-lg-2 > * { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-lg-3 > * { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; } .row-cols-lg-4 > * { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-lg-5 > * { -webkit-box-flex: 0; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-lg-6 > * { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; } .col-lg-auto { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-lg-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.33333%; flex: 0 0 8.33333%; max-width: 8.33333%; } .col-lg-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; } .col-lg-3 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-lg-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; } .col-lg-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.66667%; flex: 0 0 41.66667%; max-width: 41.66667%; } .col-lg-6 { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-lg-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.33333%; flex: 0 0 58.33333%; max-width: 58.33333%; } .col-lg-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.66667%; flex: 0 0 66.66667%; max-width: 66.66667%; } .col-lg-9 { -webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-lg-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.33333%; flex: 0 0 83.33333%; max-width: 83.33333%; } .col-lg-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.66667%; flex: 0 0 91.66667%; max-width: 91.66667%; } .col-lg-12 { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-lg-first { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; } .order-lg-last { -webkit-box-ordinal-group: 14; -ms-flex-order: 13; order: 13; } .order-lg-0 { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; } .order-lg-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .order-lg-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .order-lg-3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .order-lg-4 { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .order-lg-5 { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .order-lg-6 { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .order-lg-7 { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .order-lg-8 { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .order-lg-9 { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .order-lg-10 { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .order-lg-11 { -webkit-box-ordinal-group: 12; -ms-flex-order: 11; order: 11; } .order-lg-12 { -webkit-box-ordinal-group: 13; -ms-flex-order: 12; order: 12; } .offset-lg-0 { margin-left: 0; } .offset-lg-1 { margin-left: 8.33333%; } .offset-lg-2 { margin-left: 16.66667%; } .offset-lg-3 { margin-left: 25%; } .offset-lg-4 { margin-left: 33.33333%; } .offset-lg-5 { margin-left: 41.66667%; } .offset-lg-6 { margin-left: 50%; } .offset-lg-7 { margin-left: 58.33333%; } .offset-lg-8 { margin-left: 66.66667%; } .offset-lg-9 { margin-left: 75%; } .offset-lg-10 { margin-left: 83.33333%; } .offset-lg-11 { margin-left: 91.66667%; } } @media (min-width: 1200px) { .col-xl { -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-xl-1 > * { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-xl-2 > * { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-xl-3 > * { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; } .row-cols-xl-4 > * { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-xl-5 > * { -webkit-box-flex: 0; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-xl-6 > * { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; } .col-xl-auto { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-xl-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.33333%; flex: 0 0 8.33333%; max-width: 8.33333%; } .col-xl-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.66667%; flex: 0 0 16.66667%; max-width: 16.66667%; } .col-xl-3 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-xl-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; max-width: 33.33333%; } .col-xl-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.66667%; flex: 0 0 41.66667%; max-width: 41.66667%; } .col-xl-6 { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-xl-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.33333%; flex: 0 0 58.33333%; max-width: 58.33333%; } .col-xl-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.66667%; flex: 0 0 66.66667%; max-width: 66.66667%; } .col-xl-9 { -webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-xl-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.33333%; flex: 0 0 83.33333%; max-width: 83.33333%; } .col-xl-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.66667%; flex: 0 0 91.66667%; max-width: 91.66667%; } .col-xl-12 { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-xl-first { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; } .order-xl-last { -webkit-box-ordinal-group: 14; -ms-flex-order: 13; order: 13; } .order-xl-0 { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; } .order-xl-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .order-xl-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .order-xl-3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .order-xl-4 { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .order-xl-5 { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .order-xl-6 { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .order-xl-7 { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .order-xl-8 { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .order-xl-9 { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .order-xl-10 { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .order-xl-11 { -webkit-box-ordinal-group: 12; -ms-flex-order: 11; order: 11; } .order-xl-12 { -webkit-box-ordinal-group: 13; -ms-flex-order: 12; order: 12; } .offset-xl-0 { margin-left: 0; } .offset-xl-1 { margin-left: 8.33333%; } .offset-xl-2 { margin-left: 16.66667%; } .offset-xl-3 { margin-left: 25%; } .offset-xl-4 { margin-left: 33.33333%; } .offset-xl-5 { margin-left: 41.66667%; } .offset-xl-6 { margin-left: 50%; } .offset-xl-7 { margin-left: 58.33333%; } .offset-xl-8 { margin-left: 66.66667%; } .offset-xl-9 { margin-left: 75%; } .offset-xl-10 { margin-left: 83.33333%; } .offset-xl-11 { margin-left: 91.66667%; } } .table { width: 100%; margin-bottom: 1rem; color: #212529; } .table th, .table td { padding: 0.9375rem; vertical-align: top; border-top: 1px solid #e8ecf1; } .table thead th { vertical-align: bottom; border-bottom: 2px solid #e8ecf1; } .table tbody + tbody { border-top: 2px solid #e8ecf1; } .table-sm th, .table-sm td { padding: 0.3rem; } .table-bordered { border: 1px solid #e8ecf1; } .table-bordered th, .table-bordered td { border: 1px solid #e8ecf1; } .table-bordered thead th, .table-bordered thead td { border-bottom-width: 2px; } .table-borderless th, .table-borderless td, .table-borderless thead th, .table-borderless tbody + tbody { border: 0; } .table-striped tbody tr:nth-of-type(odd) { background-color: #ecf0f4; } .table-hover tbody tr:hover { color: #212529; background-color: #ecf0f4; } .table-primary, .table-primary > th, .table-primary > td { background-color: #bff5f6; } .table-primary th, .table-primary td, .table-primary thead th, .table-primary tbody + tbody { border-color: #88ecef; } .table-hover .table-primary:hover { background-color: #a9f2f3; } .table-hover .table-primary:hover > td, .table-hover .table-primary:hover > th { background-color: #a9f2f3; } .table-secondary, .table-secondary > th, .table-secondary > td { background-color: #f4f4f4; } .table-secondary th, .table-secondary td, .table-secondary thead th, .table-secondary tbody + tbody { border-color: #ebebeb; } .table-hover .table-secondary:hover { background-color: #e7e7e7; } .table-hover .table-secondary:hover > td, .table-hover .table-secondary:hover > th { background-color: #e7e7e7; } .table-success, .table-success > th, .table-success > td { background-color: #c7f1c8; } .table-success th, .table-success td, .table-success thead th, .table-success tbody + tbody { border-color: #98e69a; } .table-hover .table-success:hover { background-color: #b3ecb4; } .table-hover .table-success:hover > td, .table-hover .table-success:hover > th { background-color: #b3ecb4; } .table-info, .table-info > th, .table-info > td { background-color: #dfc6f9; } .table-info th, .table-info td, .table-info thead th, .table-info tbody + tbody { border-color: #c494f4; } .table-hover .table-info:hover { background-color: #d2aff7; } .table-hover .table-info:hover > td, .table-hover .table-info:hover > th { background-color: #d2aff7; } .table-warning, .table-warning > th, .table-warning > td { background-color: #fff6d8; } .table-warning th, .table-warning td, .table-warning thead th, .table-warning tbody + tbody { border-color: #ffeeb6; } .table-hover .table-warning:hover { background-color: #fff0bf; } .table-hover .table-warning:hover > td, .table-hover .table-warning:hover > th { background-color: #fff0bf; } .table-danger, .table-danger > th, .table-danger > td { background-color: #ffcdd6; } .table-danger th, .table-danger td, .table-danger thead th, .table-danger tbody + tbody { border-color: #ffa2b2; } .table-hover .table-danger:hover { background-color: #ffb4c1; } .table-hover .table-danger:hover > td, .table-hover .table-danger:hover > th { background-color: #ffb4c1; } .table-light, .table-light > th, .table-light > td { background-color: #fdfdfe; } .table-light th, .table-light td, .table-light thead th, .table-light tbody + tbody { border-color: #fbfcfc; } .table-hover .table-light:hover { background-color: #ececf6; } .table-hover .table-light:hover > td, .table-hover .table-light:hover > th { background-color: #ececf6; } .table-dark, .table-dark > th, .table-dark > td { background-color: #c9cdd1; } .table-dark th, .table-dark td, .table-dark thead th, .table-dark tbody + tbody { border-color: #9ba1aa; } .table-hover .table-dark:hover { background-color: #bbc0c5; } .table-hover .table-dark:hover > td, .table-hover .table-dark:hover > th { background-color: #bbc0c5; } .table-active, .table-active > th, .table-active > td { background-color: rgba(0, 0, 0, 0.075); } .table-hover .table-active:hover { background-color: rgba(0, 0, 0, 0.075); } .table-hover .table-active:hover > td, .table-hover .table-active:hover > th { background-color: rgba(0, 0, 0, 0.075); } .table .thead-dark th { color: #fff; background-color: #343a40; border-color: #454d55; } .table .thead-light th { color: #495057; background-color: #e9ecef; border-color: #e8ecf1; } .table-dark { color: #fff; background-color: #343a40; } .table-dark th, .table-dark td, .table-dark thead th { border-color: #454d55; } .table-dark.table-bordered { border: 0; } .table-dark.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255, 255, 255, 0.05); } .table-dark.table-hover tbody tr:hover { color: #fff; background-color: rgba(255, 255, 255, 0.075); } @media (max-width: 575.98px) { .table-responsive-sm { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .table-responsive-sm > .table-bordered { border: 0; } } @media (max-width: 767.98px) { .table-responsive-md { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .table-responsive-md > .table-bordered { border: 0; } } @media (max-width: 991.98px) { .table-responsive-lg { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .table-responsive-lg > .table-bordered { border: 0; } } @media (max-width: 1199.98px) { .table-responsive-xl { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .table-responsive-xl > .table-bordered { border: 0; } } .table-responsive { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .table-responsive > .table-bordered { border: 0; } .form-control, .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--single .select2-search__field, .typeahead, .tt-query, .tt-hint { display: block; width: 100%; height: 2.875rem; padding: 0.94rem 1.375rem; font-size: 0.8125rem; font-weight: 400; line-height: 1; color: #495057; background-color: #ffffff; background-clip: padding-box; border: 1px solid #ced4da; border-radius: 2px; -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { .form-control, .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--single .select2-search__field, .typeahead, .tt-query, .tt-hint { -webkit-transition: none; transition: none; } } .form-control::-ms-expand, .select2-container--default .select2-selection--single::-ms-expand, .select2-container--default .select2-selection--single .select2-search__field::-ms-expand, .typeahead::-ms-expand, .tt-query::-ms-expand, .tt-hint::-ms-expand { background-color: transparent; border: 0; } .form-control:-moz-focusring, .select2-container--default .select2-selection--single:-moz-focusring, .select2-container--default .select2-selection--single .select2-search__field:-moz-focusring, .typeahead:-moz-focusring, .tt-query:-moz-focusring, .tt-hint:-moz-focusring { color: transparent; text-shadow: 0 0 0 #495057; } .form-control:focus, .select2-container--default .select2-selection--single:focus, .select2-container--default .select2-selection--single .select2-search__field:focus, .typeahead:focus, .tt-query:focus, .tt-hint:focus { color: #495057; background-color: #fff; border-color: #80bdff; outline: 0; -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .form-control::-webkit-input-placeholder, .select2-container--default .select2-selection--single::-webkit-input-placeholder, .select2-container--default .select2-selection--single .select2-search__field::-webkit-input-placeholder, .typeahead::-webkit-input-placeholder, .tt-query::-webkit-input-placeholder, .tt-hint::-webkit-input-placeholder { color: #c9c8c8; opacity: 1; } .form-control::-moz-placeholder, .select2-container--default .select2-selection--single::-moz-placeholder, .select2-container--default .select2-selection--single .select2-search__field::-moz-placeholder, .typeahead::-moz-placeholder, .tt-query::-moz-placeholder, .tt-hint::-moz-placeholder { color: #c9c8c8; opacity: 1; } .form-control:-ms-input-placeholder, .select2-container--default .select2-selection--single:-ms-input-placeholder, .select2-container--default .select2-selection--single .select2-search__field:-ms-input-placeholder, .typeahead:-ms-input-placeholder, .tt-query:-ms-input-placeholder, .tt-hint:-ms-input-placeholder { color: #c9c8c8; opacity: 1; } .form-control::-ms-input-placeholder, .select2-container--default .select2-selection--single::-ms-input-placeholder, .select2-container--default .select2-selection--single .select2-search__field::-ms-input-placeholder, .typeahead::-ms-input-placeholder, .tt-query::-ms-input-placeholder, .tt-hint::-ms-input-placeholder { color: #c9c8c8; opacity: 1; } .form-control::placeholder, .select2-container--default .select2-selection--single::placeholder, .select2-container--default .select2-selection--single .select2-search__field::placeholder, .typeahead::placeholder, .tt-query::placeholder, .tt-hint::placeholder { color: #c9c8c8; opacity: 1; } .form-control:disabled, .select2-container--default .select2-selection--single:disabled, .select2-container--default .select2-selection--single .select2-search__field:disabled, .typeahead:disabled, .tt-query:disabled, .tt-hint:disabled, .form-control[readonly], .select2-container--default .select2-selection--single[readonly], .select2-container--default .select2-selection--single .select2-search__field[readonly], .typeahead[readonly], .tt-query[readonly], .tt-hint[readonly] { background-color: #e9ecef; opacity: 1; } input[type="date"].form-control, .select2-container--default input.select2-selection--single[type="date"], .select2-container--default .select2-selection--single input.select2-search__field[type="date"], input.typeahead[type="date"], input.tt-query[type="date"], input.tt-hint[type="date"], input[type="time"].form-control, .select2-container--default input.select2-selection--single[type="time"], .select2-container--default .select2-selection--single input.select2-search__field[type="time"], input.typeahead[type="time"], input.tt-query[type="time"], input.tt-hint[type="time"], input[type="datetime-local"].form-control, .select2-container--default input.select2-selection--single[type="datetime-local"], .select2-container--default .select2-selection--single input.select2-search__field[type="datetime-local"], input.typeahead[type="datetime-local"], input.tt-query[type="datetime-local"], input.tt-hint[type="datetime-local"], input[type="month"].form-control, .select2-container--default input.select2-selection--single[type="month"], .select2-container--default .select2-selection--single input.select2-search__field[type="month"], input.typeahead[type="month"], input.tt-query[type="month"], input.tt-hint[type="month"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; } select.form-control:focus::-ms-value, .select2-container--default select.select2-selection--single:focus::-ms-value, .select2-container--default .select2-selection--single select.select2-search__field:focus::-ms-value, select.typeahead:focus::-ms-value, select.tt-query:focus::-ms-value, select.tt-hint:focus::-ms-value { color: #495057; background-color: #ffffff; } .form-control-file, .form-control-range { display: block; width: 100%; } .col-form-label { padding-top: calc(0.94rem + 1px); padding-bottom: calc(0.94rem + 1px); margin-bottom: 0; font-size: inherit; line-height: 1; } .col-form-label-lg { padding-top: calc(0.94rem + 1px); padding-bottom: calc(0.94rem + 1px); font-size: 1.25rem; line-height: 1.5; } .col-form-label-sm { padding-top: calc(0.5rem + 1px); padding-bottom: calc(0.5rem + 1px); font-size: 0.875rem; line-height: 1.5; } .form-control-plaintext { display: block; width: 100%; padding: 0.94rem 0; margin-bottom: 0; font-size: 0.8125rem; line-height: 1; color: #212529; background-color: transparent; border: solid transparent; border-width: 1px 0; } .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { padding-right: 0; padding-left: 0; } .form-control-sm { height: 2.575rem; padding: 0.5rem 0.81rem; font-size: 0.875rem; line-height: 1.5; border-radius: 0.2rem; } .form-control-lg { height: 3.175rem; padding: 0.94rem 1.94rem; font-size: 1.25rem; line-height: 1.5; border-radius: 0.3rem; } select.form-control[size], .select2-container--default select.select2-selection--single[size], .select2-container--default .select2-selection--single select.select2-search__field[size], select.typeahead[size], select.tt-query[size], select.tt-hint[size], select.form-control[multiple], .select2-container--default select.select2-selection--single[multiple], .select2-container--default .select2-selection--single select.select2-search__field[multiple], select.typeahead[multiple], select.tt-query[multiple], select.tt-hint[multiple] { height: auto; } textarea.form-control, .select2-container--default textarea.select2-selection--single, .select2-container--default .select2-selection--single textarea.select2-search__field, textarea.typeahead, textarea.tt-query, textarea.tt-hint { height: auto; } .form-group { margin-bottom: 1rem; } .form-text { display: block; margin-top: 0.25rem; } .form-row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-right: -5px; margin-left: -5px; } .form-row > .col, .form-row > [class*="col-"] { padding-right: 5px; padding-left: 5px; } .form-check { position: relative; display: block; padding-left: 1.25rem; } .form-check-input { position: absolute; margin-top: 0.3rem; margin-left: -1.25rem; } .form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { color: #9c9fa6; } .form-check-label { margin-bottom: 0; } .form-check-inline { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding-left: 0; margin-right: 0.75rem; } .form-check-inline .form-check-input { position: static; margin-top: 0; margin-right: 0.3125rem; margin-left: 0; } .valid-feedback { display: none; width: 100%; margin-top: 0.25rem; font-size: 80%; color: #28a745; } .valid-tooltip { position: absolute; top: 100%; left: 0; z-index: 5; display: none; max-width: 100%; padding: 0.25rem 0.5rem; margin-top: .1rem; font-size: 0.875rem; line-height: 1.5; color: #fff; background-color: rgba(40, 167, 69, 0.9); border-radius: 0.25rem; } .was-validated :valid ~ .valid-feedback, .was-validated :valid ~ .valid-tooltip, .is-valid ~ .valid-feedback, .is-valid ~ .valid-tooltip { display: block; } .was-validated .form-control:valid, .was-validated .select2-container--default .select2-selection--single:valid, .select2-container--default .was-validated .select2-selection--single:valid, .was-validated .select2-container--default .select2-selection--single .select2-search__field:valid, .select2-container--default .select2-selection--single .was-validated .select2-search__field:valid, .was-validated .typeahead:valid, .was-validated .tt-query:valid, .was-validated .tt-hint:valid, .form-control.is-valid, .select2-container--default .is-valid.select2-selection--single, .select2-container--default .select2-selection--single .is-valid.select2-search__field, .is-valid.typeahead, .is-valid.tt-query, .is-valid.tt-hint { border-color: #28a745; padding-right: calc(1.5em + 0.75rem); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right calc(0.375em + 0.1875rem) center; background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } .was-validated .form-control:valid:focus, .was-validated .select2-container--default .select2-selection--single:valid:focus, .select2-container--default .was-validated .select2-selection--single:valid:focus, .was-validated .select2-container--default .select2-selection--single .select2-search__field:valid:focus, .select2-container--default .select2-selection--single .was-validated .select2-search__field:valid:focus, .was-validated .typeahead:valid:focus, .was-validated .tt-query:valid:focus, .was-validated .tt-hint:valid:focus, .form-control.is-valid:focus, .select2-container--default .is-valid.select2-selection--single:focus, .select2-container--default .select2-selection--single .is-valid.select2-search__field:focus, .is-valid.typeahead:focus, .is-valid.tt-query:focus, .is-valid.tt-hint:focus { border-color: #28a745; -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } .was-validated textarea.form-control:valid, .was-validated .select2-container--default textarea.select2-selection--single:valid, .select2-container--default .was-validated textarea.select2-selection--single:valid, .was-validated .select2-container--default .select2-selection--single textarea.select2-search__field:valid, .select2-container--default .select2-selection--single .was-validated textarea.select2-search__field:valid, .was-validated textarea.typeahead:valid, .was-validated textarea.tt-query:valid, .was-validated textarea.tt-hint:valid, textarea.form-control.is-valid, .select2-container--default textarea.is-valid.select2-selection--single, .select2-container--default .select2-selection--single textarea.is-valid.select2-search__field, textarea.is-valid.typeahead, textarea.is-valid.tt-query, textarea.is-valid.tt-hint { padding-right: calc(1.5em + 0.75rem); background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } .was-validated .custom-select:valid, .custom-select.is-valid { border-color: #28a745; padding-right: calc(0.75em + 2.3125rem); background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { border-color: #28a745; -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { color: #28a745; } .was-validated .form-check-input:valid ~ .valid-feedback, .was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, .form-check-input.is-valid ~ .valid-tooltip { display: block; } .was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { color: #28a745; } .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { border-color: #28a745; } .was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { border-color: #34ce57; background-color: #34ce57; } .was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } .was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { border-color: #28a745; } .was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { border-color: #28a745; } .was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { border-color: #28a745; -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } .invalid-feedback { display: none; width: 100%; margin-top: 0.25rem; font-size: 80%; color: #dc3545; } .invalid-tooltip { position: absolute; top: 100%; left: 0; z-index: 5; display: none; max-width: 100%; padding: 0.25rem 0.5rem; margin-top: .1rem; font-size: 0.875rem; line-height: 1.5; color: #fff; background-color: rgba(220, 53, 69, 0.9); border-radius: 0.25rem; } .was-validated :invalid ~ .invalid-feedback, .was-validated :invalid ~ .invalid-tooltip, .is-invalid ~ .invalid-feedback, .is-invalid ~ .invalid-tooltip { display: block; } .was-validated .form-control:invalid, .was-validated .select2-container--default .select2-selection--single:invalid, .select2-container--default .was-validated .select2-selection--single:invalid, .was-validated .select2-container--default .select2-selection--single .select2-search__field:invalid, .select2-container--default .select2-selection--single .was-validated .select2-search__field:invalid, .was-validated .typeahead:invalid, .was-validated .tt-query:invalid, .was-validated .tt-hint:invalid, .form-control.is-invalid, .select2-container--default .is-invalid.select2-selection--single, .select2-container--default .select2-selection--single .is-invalid.select2-search__field, .is-invalid.typeahead, .is-invalid.tt-query, .is-invalid.tt-hint { border-color: #dc3545; padding-right: calc(1.5em + 0.75rem); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right calc(0.375em + 0.1875rem) center; background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } .was-validated .form-control:invalid:focus, .was-validated .select2-container--default .select2-selection--single:invalid:focus, .select2-container--default .was-validated .select2-selection--single:invalid:focus, .was-validated .select2-container--default .select2-selection--single .select2-search__field:invalid:focus, .select2-container--default .select2-selection--single .was-validated .select2-search__field:invalid:focus, .was-validated .typeahead:invalid:focus, .was-validated .tt-query:invalid:focus, .was-validated .tt-hint:invalid:focus, .form-control.is-invalid:focus, .select2-container--default .is-invalid.select2-selection--single:focus, .select2-container--default .select2-selection--single .is-invalid.select2-search__field:focus, .is-invalid.typeahead:focus, .is-invalid.tt-query:focus, .is-invalid.tt-hint:focus { border-color: #dc3545; -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } .was-validated textarea.form-control:invalid, .was-validated .select2-container--default textarea.select2-selection--single:invalid, .select2-container--default .was-validated textarea.select2-selection--single:invalid, .was-validated .select2-container--default .select2-selection--single textarea.select2-search__field:invalid, .select2-container--default .select2-selection--single .was-validated textarea.select2-search__field:invalid, .was-validated textarea.typeahead:invalid, .was-validated textarea.tt-query:invalid, .was-validated textarea.tt-hint:invalid, textarea.form-control.is-invalid, .select2-container--default textarea.is-invalid.select2-selection--single, .select2-container--default .select2-selection--single textarea.is-invalid.select2-search__field, textarea.is-invalid.typeahead, textarea.is-invalid.tt-query, textarea.is-invalid.tt-hint { padding-right: calc(1.5em + 0.75rem); background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } .was-validated .custom-select:invalid, .custom-select.is-invalid { border-color: #dc3545; padding-right: calc(0.75em + 2.3125rem); background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { border-color: #dc3545; -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { color: #dc3545; } .was-validated .form-check-input:invalid ~ .invalid-feedback, .was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, .form-check-input.is-invalid ~ .invalid-tooltip { display: block; } .was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { color: #dc3545; } .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { border-color: #dc3545; } .was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { border-color: #e4606d; background-color: #e4606d; } .was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } .was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { border-color: #dc3545; } .was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { border-color: #dc3545; } .was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { border-color: #dc3545; -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } .form-inline { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .form-inline .form-check { width: 100%; } @media (min-width: 576px) { .form-inline label { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 0; } .form-inline .form-group { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 0; } .form-inline .form-control, .form-inline .select2-container--default .select2-selection--single, .select2-container--default .form-inline .select2-selection--single, .form-inline .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .form-inline .select2-search__field, .form-inline .typeahead, .form-inline .tt-query, .form-inline .tt-hint { display: inline-block; width: auto; vertical-align: middle; } .form-inline .form-control-plaintext { display: inline-block; } .form-inline .input-group, .form-inline .custom-select { width: auto; } .form-inline .form-check { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: auto; padding-left: 0; } .form-inline .form-check-input { position: relative; -ms-flex-negative: 0; flex-shrink: 0; margin-top: 0; margin-right: 0.25rem; margin-left: 0; } .form-inline .custom-control { -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .form-inline .custom-control-label { margin-bottom: 0; } } .btn { display: inline-block; font-weight: 400; color: #343a40; text-align: center; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: transparent; border: 1px solid transparent; padding: 0.875rem 2.5rem; font-size: 0.875rem; line-height: 1; border-radius: 0.1875rem; -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { .btn { -webkit-transition: none; transition: none; } } .btn:hover { color: #343a40; text-decoration: none; } .btn:focus, .btn.focus { outline: 0; -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .btn.disabled, .btn:disabled { opacity: 0.65; } .btn:not(:disabled):not(.disabled) { cursor: pointer; } a.btn.disabled, fieldset:disabled a.btn { pointer-events: none; } .btn-primary { color: #212529; background-color: #1bdbe0; border-color: #1bdbe0; } .btn-primary:hover { color: #fff; background-color: #17babe; border-color: #16afb2; } .btn-primary:focus, .btn-primary.focus { color: #fff; background-color: #17babe; border-color: #16afb2; -webkit-box-shadow: 0 0 0 0.2rem rgba(28, 192, 197, 0.5); box-shadow: 0 0 0 0.2rem rgba(28, 192, 197, 0.5); } .btn-primary.disabled, .btn-primary:disabled { color: #212529; background-color: #1bdbe0; border-color: #1bdbe0; } .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle { color: #fff; background-color: #16afb2; border-color: #14a3a7; } .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(28, 192, 197, 0.5); box-shadow: 0 0 0 0.2rem rgba(28, 192, 197, 0.5); } .btn-secondary { color: #212529; background-color: #d8d8d8; border-color: #d8d8d8; } .btn-secondary:hover { color: #212529; background-color: #c5c5c5; border-color: #bfbfbf; } .btn-secondary:focus, .btn-secondary.focus { color: #212529; background-color: #c5c5c5; border-color: #bfbfbf; -webkit-box-shadow: 0 0 0 0.2rem rgba(189, 189, 190, 0.5); box-shadow: 0 0 0 0.2rem rgba(189, 189, 190, 0.5); } .btn-secondary.disabled, .btn-secondary:disabled { color: #212529; background-color: #d8d8d8; border-color: #d8d8d8; } .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle { color: #212529; background-color: #bfbfbf; border-color: #b8b8b8; } .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(189, 189, 190, 0.5); box-shadow: 0 0 0 0.2rem rgba(189, 189, 190, 0.5); } .btn-success { color: #fff; background-color: #38ce3c; border-color: #38ce3c; } .btn-success:hover { color: #fff; background-color: #2cb430; border-color: #2aa92d; } .btn-success:focus, .btn-success.focus { color: #fff; background-color: #2cb430; border-color: #2aa92d; -webkit-box-shadow: 0 0 0 0.2rem rgba(86, 213, 89, 0.5); box-shadow: 0 0 0 0.2rem rgba(86, 213, 89, 0.5); } .btn-success.disabled, .btn-success:disabled { color: #fff; background-color: #38ce3c; border-color: #38ce3c; } .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle { color: #fff; background-color: #2aa92d; border-color: #279f2a; } .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(86, 213, 89, 0.5); box-shadow: 0 0 0 0.2rem rgba(86, 213, 89, 0.5); } .btn-info { color: #fff; background-color: #8e32e9; border-color: #8e32e9; } .btn-info:hover { color: #fff; background-color: #7b18dd; border-color: #7516d2; } .btn-info:focus, .btn-info.focus { color: #fff; background-color: #7b18dd; border-color: #7516d2; -webkit-box-shadow: 0 0 0 0.2rem rgba(159, 81, 236, 0.5); box-shadow: 0 0 0 0.2rem rgba(159, 81, 236, 0.5); } .btn-info.disabled, .btn-info:disabled { color: #fff; background-color: #8e32e9; border-color: #8e32e9; } .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle { color: #fff; background-color: #7516d2; border-color: #6e15c6; } .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(159, 81, 236, 0.5); box-shadow: 0 0 0 0.2rem rgba(159, 81, 236, 0.5); } .btn-warning { color: #212529; background-color: #ffde73; border-color: #ffde73; } .btn-warning:hover { color: #212529; background-color: #ffd54d; border-color: #ffd240; } .btn-warning:focus, .btn-warning.focus { color: #212529; background-color: #ffd54d; border-color: #ffd240; -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 194, 104, 0.5); box-shadow: 0 0 0 0.2rem rgba(222, 194, 104, 0.5); } .btn-warning.disabled, .btn-warning:disabled { color: #212529; background-color: #ffde73; border-color: #ffde73; } .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle { color: #212529; background-color: #ffd240; border-color: #ffcf33; } .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 194, 104, 0.5); box-shadow: 0 0 0 0.2rem rgba(222, 194, 104, 0.5); } .btn-danger { color: #fff; background-color: #ff4d6b; border-color: #ff4d6b; } .btn-danger:hover { color: #fff; background-color: #ff274b; border-color: #ff1a41; } .btn-danger:focus, .btn-danger.focus { color: #fff; background-color: #ff274b; border-color: #ff1a41; -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 104, 129, 0.5); box-shadow: 0 0 0 0.2rem rgba(255, 104, 129, 0.5); } .btn-danger.disabled, .btn-danger:disabled { color: #fff; background-color: #ff4d6b; border-color: #ff4d6b; } .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle { color: #fff; background-color: #ff1a41; border-color: #ff0d36; } .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 104, 129, 0.5); box-shadow: 0 0 0 0.2rem rgba(255, 104, 129, 0.5); } .btn-light { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; } .btn-light:hover { color: #212529; background-color: #e2e6ea; border-color: #dae0e5; } .btn-light:focus, .btn-light.focus { color: #212529; background-color: #e2e6ea; border-color: #dae0e5; -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } .btn-light.disabled, .btn-light:disabled { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; } .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle { color: #212529; background-color: #dae0e5; border-color: #d3d9df; } .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } .btn-dark { color: #fff; background-color: #3e4b5b; border-color: #3e4b5b; } .btn-dark:hover { color: #fff; background-color: #2f3844; border-color: #29323d; } .btn-dark:focus, .btn-dark.focus { color: #fff; background-color: #2f3844; border-color: #29323d; -webkit-box-shadow: 0 0 0 0.2rem rgba(91, 102, 116, 0.5); box-shadow: 0 0 0 0.2rem rgba(91, 102, 116, 0.5); } .btn-dark.disabled, .btn-dark:disabled { color: #fff; background-color: #3e4b5b; border-color: #3e4b5b; } .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle { color: #fff; background-color: #29323d; border-color: #242c35; } .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(91, 102, 116, 0.5); box-shadow: 0 0 0 0.2rem rgba(91, 102, 116, 0.5); } .btn-outline-primary { color: #1bdbe0; border-color: #1bdbe0; } .btn-outline-primary:hover { color: #212529; background-color: #1bdbe0; border-color: #1bdbe0; } .btn-outline-primary:focus, .btn-outline-primary.focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(27, 219, 224, 0.5); box-shadow: 0 0 0 0.2rem rgba(27, 219, 224, 0.5); } .btn-outline-primary.disabled, .btn-outline-primary:disabled { color: #1bdbe0; background-color: transparent; } .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle { color: #212529; background-color: #1bdbe0; border-color: #1bdbe0; } .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(27, 219, 224, 0.5); box-shadow: 0 0 0 0.2rem rgba(27, 219, 224, 0.5); } .btn-outline-secondary { color: #d8d8d8; border-color: #d8d8d8; } .btn-outline-secondary:hover { color: #212529; background-color: #d8d8d8; border-color: #d8d8d8; } .btn-outline-secondary:focus, .btn-outline-secondary.focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 216, 216, 0.5); box-shadow: 0 0 0 0.2rem rgba(216, 216, 216, 0.5); } .btn-outline-secondary.disabled, .btn-outline-secondary:disabled { color: #d8d8d8; background-color: transparent; } .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle { color: #212529; background-color: #d8d8d8; border-color: #d8d8d8; } .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 216, 216, 0.5); box-shadow: 0 0 0 0.2rem rgba(216, 216, 216, 0.5); } .btn-outline-success { color: #38ce3c; border-color: #38ce3c; } .btn-outline-success:hover { color: #fff; background-color: #38ce3c; border-color: #38ce3c; } .btn-outline-success:focus, .btn-outline-success.focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(56, 206, 60, 0.5); box-shadow: 0 0 0 0.2rem rgba(56, 206, 60, 0.5); } .btn-outline-success.disabled, .btn-outline-success:disabled { color: #38ce3c; background-color: transparent; } .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle { color: #fff; background-color: #38ce3c; border-color: #38ce3c; } .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(56, 206, 60, 0.5); box-shadow: 0 0 0 0.2rem rgba(56, 206, 60, 0.5); } .btn-outline-info { color: #8e32e9; border-color: #8e32e9; } .btn-outline-info:hover { color: #fff; background-color: #8e32e9; border-color: #8e32e9; } .btn-outline-info:focus, .btn-outline-info.focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(142, 50, 233, 0.5); box-shadow: 0 0 0 0.2rem rgba(142, 50, 233, 0.5); } .btn-outline-info.disabled, .btn-outline-info:disabled { color: #8e32e9; background-color: transparent; } .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle { color: #fff; background-color: #8e32e9; border-color: #8e32e9; } .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(142, 50, 233, 0.5); box-shadow: 0 0 0 0.2rem rgba(142, 50, 233, 0.5); } .btn-outline-warning { color: #ffde73; border-color: #ffde73; } .btn-outline-warning:hover { color: #212529; background-color: #ffde73; border-color: #ffde73; } .btn-outline-warning:focus, .btn-outline-warning.focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 222, 115, 0.5); box-shadow: 0 0 0 0.2rem rgba(255, 222, 115, 0.5); } .btn-outline-warning.disabled, .btn-outline-warning:disabled { color: #ffde73; background-color: transparent; } .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle { color: #212529; background-color: #ffde73; border-color: #ffde73; } .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 222, 115, 0.5); box-shadow: 0 0 0 0.2rem rgba(255, 222, 115, 0.5); } .btn-outline-danger { color: #ff4d6b; border-color: #ff4d6b; } .btn-outline-danger:hover { color: #fff; background-color: #ff4d6b; border-color: #ff4d6b; } .btn-outline-danger:focus, .btn-outline-danger.focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 77, 107, 0.5); box-shadow: 0 0 0 0.2rem rgba(255, 77, 107, 0.5); } .btn-outline-danger.disabled, .btn-outline-danger:disabled { color: #ff4d6b; background-color: transparent; } .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle { color: #fff; background-color: #ff4d6b; border-color: #ff4d6b; } .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 77, 107, 0.5); box-shadow: 0 0 0 0.2rem rgba(255, 77, 107, 0.5); } .btn-outline-light { color: #f8f9fa; border-color: #f8f9fa; } .btn-outline-light:hover { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; } .btn-outline-light:focus, .btn-outline-light.focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } .btn-outline-light.disabled, .btn-outline-light:disabled { color: #f8f9fa; background-color: transparent; } .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; } .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } .btn-outline-dark { color: #3e4b5b; border-color: #3e4b5b; } .btn-outline-dark:hover { color: #fff; background-color: #3e4b5b; border-color: #3e4b5b; } .btn-outline-dark:focus, .btn-outline-dark.focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(62, 75, 91, 0.5); box-shadow: 0 0 0 0.2rem rgba(62, 75, 91, 0.5); } .btn-outline-dark.disabled, .btn-outline-dark:disabled { color: #3e4b5b; background-color: transparent; } .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle { color: #fff; background-color: #3e4b5b; border-color: #3e4b5b; } .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 0.2rem rgba(62, 75, 91, 0.5); box-shadow: 0 0 0 0.2rem rgba(62, 75, 91, 0.5); } .btn-link { font-weight: 400; color: #007bff; text-decoration: none; } .btn-link:hover { color: #0056b3; text-decoration: underline; } .btn-link:focus, .btn-link.focus { text-decoration: underline; } .btn-link:disabled, .btn-link.disabled { color: #6c757d; pointer-events: none; } .btn-lg, .btn-group-lg > .btn { padding: 1rem 3rem; font-size: 0.875rem; line-height: 1.5; border-radius: 0.1875rem; } .btn-sm, .btn-group-sm > .btn { padding: 0.5rem 0.81rem; font-size: 0.875rem; line-height: 1.5; border-radius: 0.1875rem; } .btn-block { display: block; width: 100%; } .btn-block + .btn-block { margin-top: 0.5rem; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { -webkit-transition: opacity 0.15s linear; transition: opacity 0.15s linear; } @media (prefers-reduced-motion: reduce) { .fade { -webkit-transition: none; transition: none; } } .fade:not(.show) { opacity: 0; } .collapse:not(.show) { display: none; } .collapsing { position: relative; height: 0; overflow: hidden; -webkit-transition: height 0.35s ease; transition: height 0.35s ease; } @media (prefers-reduced-motion: reduce) { .collapsing { -webkit-transition: none; transition: none; } } .dropup, .dropright, .dropdown, .dropleft { position: relative; } .dropdown-toggle { white-space: nowrap; } .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid; border-right: 0.3em solid transparent; border-bottom: 0; border-left: 0.3em solid transparent; } .dropdown-toggle:empty::after { margin-left: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 10rem; padding: 0.5rem 0; margin: 0.125rem 0 0; font-size: 1rem; color: #212529; text-align: left; list-style: none; background-color: #fff; background-clip: padding-box; border: 1px solid #e8ecf1; border-radius: 0.25rem; } .dropdown-menu-left { right: auto; left: 0; } .dropdown-menu-right { right: 0; left: auto; } @media (min-width: 576px) { .dropdown-menu-sm-left { right: auto; left: 0; } .dropdown-menu-sm-right { right: 0; left: auto; } } @media (min-width: 768px) { .dropdown-menu-md-left { right: auto; left: 0; } .dropdown-menu-md-right { right: 0; left: auto; } } @media (min-width: 992px) { .dropdown-menu-lg-left { right: auto; left: 0; } .dropdown-menu-lg-right { right: 0; left: auto; } } @media (min-width: 1200px) { .dropdown-menu-xl-left { right: auto; left: 0; } .dropdown-menu-xl-right { right: 0; left: auto; } } .dropup .dropdown-menu { top: auto; bottom: 100%; margin-top: 0; margin-bottom: 0.125rem; } .dropup .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0; border-right: 0.3em solid transparent; border-bottom: 0.3em solid; border-left: 0.3em solid transparent; } .dropup .dropdown-toggle:empty::after { margin-left: 0; } .dropright .dropdown-menu { top: 0; right: auto; left: 100%; margin-top: 0; margin-left: 0.125rem; } .dropright .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid transparent; border-right: 0; border-bottom: 0.3em solid transparent; border-left: 0.3em solid; } .dropright .dropdown-toggle:empty::after { margin-left: 0; } .dropright .dropdown-toggle::after { vertical-align: 0; } .dropleft .dropdown-menu { top: 0; right: 100%; left: auto; margin-top: 0; margin-right: 0.125rem; } .dropleft .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; } .dropleft .dropdown-toggle::after { display: none; } .dropleft .dropdown-toggle::before { display: inline-block; margin-right: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid transparent; border-right: 0.3em solid; border-bottom: 0.3em solid transparent; } .dropleft .dropdown-toggle:empty::after { margin-left: 0; } .dropleft .dropdown-toggle::before { vertical-align: 0; } .dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { right: auto; bottom: auto; } .dropdown-divider { height: 0; margin: 0.5rem 0; overflow: hidden; border-top: 1px solid #e8ecf1; } .dropdown-item { display: block; width: 100%; padding: 0.25rem 1.5rem; clear: both; font-weight: 400; color: #343a40; text-align: inherit; white-space: nowrap; background-color: transparent; border: 0; } .dropdown-item:hover, .dropdown-item:focus { color: #16181b; text-decoration: none; background-color: #f8f9fa; } .dropdown-item.active, .dropdown-item:active { color: #fff; text-decoration: none; background-color: #007bff; } .dropdown-item.disabled, .dropdown-item:disabled { color: #6c757d; pointer-events: none; background-color: transparent; } .dropdown-menu.show { display: block; } .dropdown-header { display: block; padding: 0.5rem 1.5rem; margin-bottom: 0; font-size: 0.875rem; color: #343a40; white-space: nowrap; } .dropdown-item-text { display: block; padding: 0.25rem 1.5rem; color: #343a40; } .btn-group, .btn-group-vertical { position: relative; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover { z-index: 1; } .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active { z-index: 1; } .btn-toolbar { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .btn-toolbar .input-group { width: auto; } .btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) { margin-left: -1px; } .btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; } .dropdown-toggle-split { padding-right: 1.875rem; padding-left: 1.875rem; } .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after { margin-left: 0; } .dropleft .dropdown-toggle-split::before { margin-right: 0; } .btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { padding-right: 0.6075rem; padding-left: 0.6075rem; } .btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { padding-right: 2.25rem; padding-left: 2.25rem; } .btn-group-vertical { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group { width: 100%; } .btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) { margin-top: -1px; } .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .btn-group-vertical > .btn-group:not(:last-child) > .btn { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-top-right-radius: 0; } .btn-group-toggle > .btn, .btn-group-toggle > .btn-group > .btn { margin-bottom: 0; } .btn-group-toggle > .btn input[type="radio"], .btn-group-toggle > .btn input[type="checkbox"], .btn-group-toggle > .btn-group > .btn input[type="radio"], .btn-group-toggle > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } .input-group { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; width: 100%; } .input-group > .form-control, .select2-container--default .input-group > .select2-selection--single, .select2-container--default .select2-selection--single .input-group > .select2-search__field, .input-group > .typeahead, .input-group > .tt-query, .input-group > .tt-hint, .input-group > .form-control-plaintext, .input-group > .custom-select, .input-group > .custom-file { position: relative; -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; width: 1%; min-width: 0; margin-bottom: 0; } .input-group > .form-control + .form-control, .select2-container--default .input-group > .select2-selection--single + .form-control, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .form-control, .input-group > .typeahead + .form-control, .input-group > .tt-query + .form-control, .input-group > .tt-hint + .form-control, .select2-container--default .input-group > .form-control + .select2-selection--single, .select2-container--default .input-group > .select2-selection--single + .select2-selection--single, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .select2-selection--single, .select2-container--default .input-group > .typeahead + .select2-selection--single, .select2-container--default .input-group > .tt-query + .select2-selection--single, .select2-container--default .input-group > .tt-hint + .select2-selection--single, .select2-container--default .select2-selection--single .input-group > .form-control + .select2-search__field, .select2-container--default .select2-selection--single .input-group > .select2-selection--single + .select2-search__field, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .select2-search__field, .select2-container--default .select2-selection--single .input-group > .typeahead + .select2-search__field, .select2-container--default .select2-selection--single .input-group > .tt-query + .select2-search__field, .select2-container--default .select2-selection--single .input-group > .tt-hint + .select2-search__field, .input-group > .form-control + .typeahead, .select2-container--default .input-group > .select2-selection--single + .typeahead, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .typeahead, .input-group > .typeahead + .typeahead, .input-group > .tt-query + .typeahead, .input-group > .tt-hint + .typeahead, .input-group > .form-control + .tt-query, .select2-container--default .input-group > .select2-selection--single + .tt-query, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .tt-query, .input-group > .typeahead + .tt-query, .input-group > .tt-query + .tt-query, .input-group > .tt-hint + .tt-query, .input-group > .form-control + .tt-hint, .select2-container--default .input-group > .select2-selection--single + .tt-hint, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .tt-hint, .input-group > .typeahead + .tt-hint, .input-group > .tt-query + .tt-hint, .input-group > .tt-hint + .tt-hint, .input-group > .form-control + .custom-select, .select2-container--default .input-group > .select2-selection--single + .custom-select, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .custom-select, .input-group > .typeahead + .custom-select, .input-group > .tt-query + .custom-select, .input-group > .tt-hint + .custom-select, .input-group > .form-control + .custom-file, .select2-container--default .input-group > .select2-selection--single + .custom-file, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .custom-file, .input-group > .typeahead + .custom-file, .input-group > .tt-query + .custom-file, .input-group > .tt-hint + .custom-file, .input-group > .form-control-plaintext + .form-control, .select2-container--default .input-group > .form-control-plaintext + .select2-selection--single, .select2-container--default .select2-selection--single .input-group > .form-control-plaintext + .select2-search__field, .input-group > .form-control-plaintext + .typeahead, .input-group > .form-control-plaintext + .tt-query, .input-group > .form-control-plaintext + .tt-hint, .input-group > .form-control-plaintext + .custom-select, .input-group > .form-control-plaintext + .custom-file, .input-group > .custom-select + .form-control, .select2-container--default .input-group > .custom-select + .select2-selection--single, .select2-container--default .select2-selection--single .input-group > .custom-select + .select2-search__field, .input-group > .custom-select + .typeahead, .input-group > .custom-select + .tt-query, .input-group > .custom-select + .tt-hint, .input-group > .custom-select + .custom-select, .input-group > .custom-select + .custom-file, .input-group > .custom-file + .form-control, .select2-container--default .input-group > .custom-file + .select2-selection--single, .select2-container--default .select2-selection--single .input-group > .custom-file + .select2-search__field, .input-group > .custom-file + .typeahead, .input-group > .custom-file + .tt-query, .input-group > .custom-file + .tt-hint, .input-group > .custom-file + .custom-select, .input-group > .custom-file + .custom-file { margin-left: -1px; } .input-group > .form-control:focus, .select2-container--default .input-group > .select2-selection--single:focus, .select2-container--default .select2-selection--single .input-group > .select2-search__field:focus, .input-group > .typeahead:focus, .input-group > .tt-query:focus, .input-group > .tt-hint:focus, .input-group > .custom-select:focus, .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { z-index: 3; } .input-group > .custom-file .custom-file-input:focus { z-index: 4; } .input-group > .form-control:not(:last-child), .select2-container--default .input-group > .select2-selection--single:not(:last-child), .select2-container--default .select2-selection--single .input-group > .select2-search__field:not(:last-child), .input-group > .typeahead:not(:last-child), .input-group > .tt-query:not(:last-child), .input-group > .tt-hint:not(:last-child), .input-group > .custom-select:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group > .form-control:not(:first-child), .select2-container--default .input-group > .select2-selection--single:not(:first-child), .select2-container--default .select2-selection--single .input-group > .select2-search__field:not(:first-child), .input-group > .typeahead:not(:first-child), .input-group > .tt-query:not(:first-child), .input-group > .tt-hint:not(:first-child), .input-group > .custom-select:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .input-group > .custom-file { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group > .custom-file:not(:first-child) .custom-file-label { border-top-left-radius: 0; border-bottom-left-radius: 0; } .input-group-prepend, .input-group-append { display: -webkit-box; display: -ms-flexbox; display: flex; } .input-group-prepend .btn, .input-group-append .btn { position: relative; z-index: 2; } .input-group-prepend .btn:focus, .input-group-append .btn:focus { z-index: 3; } .input-group-prepend .btn + .btn, .input-group-prepend .btn + .input-group-text, .input-group-prepend .input-group-text + .input-group-text, .input-group-prepend .input-group-text + .btn, .input-group-append .btn + .btn, .input-group-append .btn + .input-group-text, .input-group-append .input-group-text + .input-group-text, .input-group-append .input-group-text + .btn { margin-left: -1px; } .input-group-prepend { margin-right: -1px; } .input-group-append { margin-left: -1px; } .input-group-text { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0.94rem 1.375rem; margin-bottom: 0; font-size: 0.8125rem; font-weight: 400; line-height: 1; color: #495057; text-align: center; white-space: nowrap; background-color: #e9ecef; border: 1px solid #ced4da; border-radius: 2px; } .input-group-text input[type="radio"], .input-group-text input[type="checkbox"] { margin-top: 0; } .input-group-lg > .form-control:not(textarea), .select2-container--default .input-group-lg > .select2-selection--single:not(textarea), .select2-container--default .select2-selection--single .input-group-lg > .select2-search__field:not(textarea), .input-group-lg > .typeahead:not(textarea), .input-group-lg > .tt-query:not(textarea), .input-group-lg > .tt-hint:not(textarea), .input-group-lg > .custom-select { height: 3.175rem; } .input-group-lg > .form-control, .select2-container--default .input-group-lg > .select2-selection--single, .select2-container--default .select2-selection--single .input-group-lg > .select2-search__field, .input-group-lg > .typeahead, .input-group-lg > .tt-query, .input-group-lg > .tt-hint, .input-group-lg > .custom-select, .input-group-lg > .input-group-prepend > .input-group-text, .input-group-lg > .input-group-append > .input-group-text, .input-group-lg > .input-group-prepend > .btn, .input-group-lg > .input-group-append > .btn { padding: 0.94rem 1.94rem; font-size: 1.25rem; line-height: 1.5; border-radius: 0.3rem; } .input-group-sm > .form-control:not(textarea), .select2-container--default .input-group-sm > .select2-selection--single:not(textarea), .select2-container--default .select2-selection--single .input-group-sm > .select2-search__field:not(textarea), .input-group-sm > .typeahead:not(textarea), .input-group-sm > .tt-query:not(textarea), .input-group-sm > .tt-hint:not(textarea), .input-group-sm > .custom-select { height: 2.575rem; } .input-group-sm > .form-control, .select2-container--default .input-group-sm > .select2-selection--single, .select2-container--default .select2-selection--single .input-group-sm > .select2-search__field, .input-group-sm > .typeahead, .input-group-sm > .tt-query, .input-group-sm > .tt-hint, .input-group-sm > .custom-select, .input-group-sm > .input-group-prepend > .input-group-text, .input-group-sm > .input-group-append > .input-group-text, .input-group-sm > .input-group-prepend > .btn, .input-group-sm > .input-group-append > .btn { padding: 0.5rem 0.81rem; font-size: 0.875rem; line-height: 1.5; border-radius: 0.2rem; } .input-group-lg > .custom-select, .input-group-sm > .custom-select { padding-right: 1.75rem; } .input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .input-group-text, .input-group > .input-group-append:not(:last-child) > .btn, .input-group > .input-group-append:not(:last-child) > .input-group-text, .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group > .input-group-append > .btn, .input-group > .input-group-append > .input-group-text, .input-group > .input-group-prepend:not(:first-child) > .btn, .input-group > .input-group-prepend:not(:first-child) > .input-group-text, .input-group > .input-group-prepend:first-child > .btn:not(:first-child), .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .custom-control { position: relative; z-index: 1; display: block; min-height: 1.5rem; padding-left: 1.5rem; -webkit-print-color-adjust: exact; color-adjust: exact; } .custom-control-inline { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; margin-right: 1rem; } .custom-control-input { position: absolute; left: 0; z-index: -1; width: 1rem; height: 1.25rem; opacity: 0; } .custom-control-input:checked ~ .custom-control-label::before { color: #fff; border-color: #007bff; background-color: #007bff; } .custom-control-input:focus ~ .custom-control-label::before { -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-control-input:focus:not(:checked) ~ .custom-control-label::before { border-color: #80bdff; } .custom-control-input:not(:disabled):active ~ .custom-control-label::before { color: #fff; background-color: #b3d7ff; border-color: #b3d7ff; } .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { color: #6c757d; } .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { background-color: #e9ecef; } .custom-control-label { position: relative; margin-bottom: 0; vertical-align: top; } .custom-control-label::before { position: absolute; top: 0.25rem; left: -1.5rem; display: block; width: 1rem; height: 1rem; pointer-events: none; content: ""; background-color: #fff; border: #adb5bd solid 1px; } .custom-control-label::after { position: absolute; top: 0.25rem; left: -1.5rem; display: block; width: 1rem; height: 1rem; content: ""; background: no-repeat 50% / 50% 50%; } .custom-checkbox .custom-control-label::before { border-radius: 0.25rem; } .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); } .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { border-color: #007bff; background-color: #007bff; } .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); } .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { background-color: rgba(0, 123, 255, 0.5); } .custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { background-color: rgba(0, 123, 255, 0.5); } .custom-radio .custom-control-label::before { border-radius: 50%; } .custom-radio .custom-control-input:checked ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); } .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { background-color: rgba(0, 123, 255, 0.5); } .custom-switch { padding-left: 2.25rem; } .custom-switch .custom-control-label::before { left: -2.25rem; width: 1.75rem; pointer-events: all; border-radius: 0.5rem; } .custom-switch .custom-control-label::after { top: calc(0.25rem + 2px); left: calc(-2.25rem + 2px); width: calc(1rem - 4px); height: calc(1rem - 4px); background-color: #adb5bd; border-radius: 0.5rem; -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { .custom-switch .custom-control-label::after { -webkit-transition: none; transition: none; } } .custom-switch .custom-control-input:checked ~ .custom-control-label::after { background-color: #fff; -webkit-transform: translateX(0.75rem); transform: translateX(0.75rem); } .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { background-color: rgba(0, 123, 255, 0.5); } .custom-select { display: inline-block; width: 100%; height: calc(1.5em + 0.75rem + 2px); padding: 0.375rem 1.75rem 0.375rem 0.75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #495057; vertical-align: middle; background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; border: 1px solid #ced4da; border-radius: 0.25rem; -webkit-appearance: none; -moz-appearance: none; appearance: none; } .custom-select:focus { border-color: #80bdff; outline: 0; -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-select:focus::-ms-value { color: #495057; background-color: #ffffff; } .custom-select[multiple], .custom-select[size]:not([size="1"]) { height: auto; padding-right: 0.75rem; background-image: none; } .custom-select:disabled { color: #6c757d; background-color: #e9ecef; } .custom-select::-ms-expand { display: none; } .custom-select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #495057; } .custom-select-sm { height: calc(1.5em + 0.5rem + 2px); padding-top: 0.25rem; padding-bottom: 0.25rem; padding-left: 0.5rem; font-size: 0.875rem; } .custom-select-lg { height: calc(1.5em + 1rem + 2px); padding-top: 0.5rem; padding-bottom: 0.5rem; padding-left: 1rem; font-size: 1.25rem; } .custom-file { position: relative; display: inline-block; width: 100%; height: calc(1.5em + 0.75rem + 2px); margin-bottom: 0; } .custom-file-input { position: relative; z-index: 2; width: 100%; height: calc(1.5em + 0.75rem + 2px); margin: 0; opacity: 0; } .custom-file-input:focus ~ .custom-file-label { border-color: #80bdff; -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label { background-color: #e9ecef; } .custom-file-input:lang(en) ~ .custom-file-label::after { content: "Browse"; } .custom-file-input ~ .custom-file-label[data-browse]::after { content: attr(data-browse); } .custom-file-label { position: absolute; top: 0; right: 0; left: 0; z-index: 1; height: calc(1.5em + 0.75rem + 2px); padding: 0.375rem 0.75rem; font-weight: 400; line-height: 1.5; color: #495057; background-color: #fff; border: 1px solid #ced4da; border-radius: 0.25rem; } .custom-file-label::after { position: absolute; top: 0; right: 0; bottom: 0; z-index: 3; display: block; height: calc(1.5em + 0.75rem); padding: 0.375rem 0.75rem; line-height: 1.5; color: #495057; content: "Browse"; background-color: #e9ecef; border-left: inherit; border-radius: 0 0.25rem 0.25rem 0; } .custom-range { width: 100%; height: 1.4rem; padding: 0; background-color: transparent; -webkit-appearance: none; -moz-appearance: none; appearance: none; } .custom-range:focus { outline: none; } .custom-range:focus::-webkit-slider-thumb { -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-range:focus::-moz-range-thumb { box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-range:focus::-ms-thumb { box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-range::-moz-focus-outer { border: 0; } .custom-range::-webkit-slider-thumb { width: 1rem; height: 1rem; margin-top: -0.25rem; background-color: #007bff; border: 0; border-radius: 1rem; -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; -webkit-appearance: none; appearance: none; } @media (prefers-reduced-motion: reduce) { .custom-range::-webkit-slider-thumb { -webkit-transition: none; transition: none; } } .custom-range::-webkit-slider-thumb:active { background-color: #b3d7ff; } .custom-range::-webkit-slider-runnable-track { width: 100%; height: 0.5rem; color: transparent; cursor: pointer; background-color: #dee2e6; border-color: transparent; border-radius: 1rem; } .custom-range::-moz-range-thumb { width: 1rem; height: 1rem; background-color: #007bff; border: 0; border-radius: 1rem; -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -moz-appearance: none; appearance: none; } @media (prefers-reduced-motion: reduce) { .custom-range::-moz-range-thumb { -moz-transition: none; transition: none; } } .custom-range::-moz-range-thumb:active { background-color: #b3d7ff; } .custom-range::-moz-range-track { width: 100%; height: 0.5rem; color: transparent; cursor: pointer; background-color: #dee2e6; border-color: transparent; border-radius: 1rem; } .custom-range::-ms-thumb { width: 1rem; height: 1rem; margin-top: 0; margin-right: 0.2rem; margin-left: 0.2rem; background-color: #007bff; border: 0; border-radius: 1rem; -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; appearance: none; } @media (prefers-reduced-motion: reduce) { .custom-range::-ms-thumb { -ms-transition: none; transition: none; } } .custom-range::-ms-thumb:active { background-color: #b3d7ff; } .custom-range::-ms-track { width: 100%; height: 0.5rem; color: transparent; cursor: pointer; background-color: transparent; border-color: transparent; border-width: 0.5rem; } .custom-range::-ms-fill-lower { background-color: #dee2e6; border-radius: 1rem; } .custom-range::-ms-fill-upper { margin-right: 15px; background-color: #dee2e6; border-radius: 1rem; } .custom-range:disabled::-webkit-slider-thumb { background-color: #adb5bd; } .custom-range:disabled::-webkit-slider-runnable-track { cursor: default; } .custom-range:disabled::-moz-range-thumb { background-color: #adb5bd; } .custom-range:disabled::-moz-range-track { cursor: default; } .custom-range:disabled::-ms-thumb { background-color: #adb5bd; } .custom-control-label::before, .custom-file-label, .custom-select { -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { .custom-control-label::before, .custom-file-label, .custom-select { -webkit-transition: none; transition: none; } } .nav { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; margin-bottom: 0; list-style: none; } .nav-link { display: block; padding: 0.5rem 1rem; } .nav-link:hover, .nav-link:focus { text-decoration: none; } .nav-link.disabled { color: #6c757d; pointer-events: none; cursor: default; } .nav-tabs { border-bottom: 1px solid #ebedf2; } .nav-tabs .nav-item { margin-bottom: -1px; } .nav-tabs .nav-link { border: 1px solid transparent; border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; } .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { border-color: #ebedf2 #ebedf2 #ebedf2; } .nav-tabs .nav-link.disabled { color: #6c757d; background-color: transparent; border-color: transparent; } .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { color: #343a40; background-color: #ffffff; border-color: #ebedf2 #ebedf2 #ffffff; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-left-radius: 0; border-top-right-radius: 0; } .nav-pills .nav-link { border-radius: 0.25rem; } .nav-pills .nav-link.active, .nav-pills .show > .nav-link { color: #fff; background-color: #007bff; } .nav-fill > .nav-link, .nav-fill .nav-item { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; text-align: center; } .nav-justified > .nav-link, .nav-justified .nav-item { -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; text-align: center; } .tab-content > .tab-pane { display: none; } .tab-content > .active { display: block; } .navbar { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 0.5rem 1rem; } .navbar .container, .navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .navbar-brand { display: inline-block; padding-top: 0.3125rem; padding-bottom: 0.3125rem; margin-right: 1rem; font-size: 1.25rem; line-height: inherit; white-space: nowrap; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } .navbar-nav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none; } .navbar-nav .nav-link { padding-right: 0; padding-left: 0; } .navbar-nav .dropdown-menu { position: static; float: none; } .navbar-text { display: inline-block; padding-top: 0.5rem; padding-bottom: 0.5rem; } .navbar-collapse { -ms-flex-preferred-size: 100%; flex-basis: 100%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .navbar-toggler { padding: 0.25rem 0.75rem; font-size: 1.25rem; line-height: 1; background-color: transparent; border: 1px solid transparent; border-radius: 0.25rem; } .navbar-toggler:hover, .navbar-toggler:focus { text-decoration: none; } .navbar-toggler-icon { display: inline-block; width: 1.5em; height: 1.5em; vertical-align: middle; content: ""; background: no-repeat center center; background-size: 100% 100%; } @media (max-width: 575.98px) { .navbar-expand-sm > .container, .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { padding-right: 0; padding-left: 0; } } @media (min-width: 576px) { .navbar-expand-sm { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .navbar-expand-sm .navbar-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .navbar-expand-sm .navbar-nav .dropdown-menu { position: absolute; } .navbar-expand-sm .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } .navbar-expand-sm > .container, .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .navbar-expand-sm .navbar-collapse { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -ms-flex-preferred-size: auto; flex-basis: auto; } .navbar-expand-sm .navbar-toggler { display: none; } } @media (max-width: 767.98px) { .navbar-expand-md > .container, .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { padding-right: 0; padding-left: 0; } } @media (min-width: 768px) { .navbar-expand-md { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .navbar-expand-md .navbar-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .navbar-expand-md .navbar-nav .dropdown-menu { position: absolute; } .navbar-expand-md .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } .navbar-expand-md > .container, .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .navbar-expand-md .navbar-collapse { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -ms-flex-preferred-size: auto; flex-basis: auto; } .navbar-expand-md .navbar-toggler { display: none; } } @media (max-width: 991.98px) { .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { padding-right: 0; padding-left: 0; } } @media (min-width: 992px) { .navbar-expand-lg { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .navbar-expand-lg .navbar-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .navbar-expand-lg .navbar-nav .dropdown-menu { position: absolute; } .navbar-expand-lg .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .navbar-expand-lg .navbar-collapse { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -ms-flex-preferred-size: auto; flex-basis: auto; } .navbar-expand-lg .navbar-toggler { display: none; } } @media (max-width: 1199.98px) { .navbar-expand-xl > .container, .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { padding-right: 0; padding-left: 0; } } @media (min-width: 1200px) { .navbar-expand-xl { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .navbar-expand-xl .navbar-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .navbar-expand-xl .navbar-nav .dropdown-menu { position: absolute; } .navbar-expand-xl .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } .navbar-expand-xl > .container, .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .navbar-expand-xl .navbar-collapse { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -ms-flex-preferred-size: auto; flex-basis: auto; } .navbar-expand-xl .navbar-toggler { display: none; } } .navbar-expand { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } .navbar-expand > .container, .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { padding-right: 0; padding-left: 0; } .navbar-expand .navbar-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .navbar-expand .navbar-nav .dropdown-menu { position: absolute; } .navbar-expand .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } .navbar-expand > .container, .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .navbar-expand .navbar-collapse { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -ms-flex-preferred-size: auto; flex-basis: auto; } .navbar-expand .navbar-toggler { display: none; } .navbar-light .navbar-brand { color: rgba(0, 0, 0, 0.9); } .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { color: rgba(0, 0, 0, 0.9); } .navbar-light .navbar-nav .nav-link { color: rgba(0, 0, 0, 0.5); } .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { color: rgba(0, 0, 0, 0.7); } .navbar-light .navbar-nav .nav-link.disabled { color: rgba(0, 0, 0, 0.3); } .navbar-light .navbar-nav .show > .nav-link, .navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .nav-link.active { color: rgba(0, 0, 0, 0.9); } .navbar-light .navbar-toggler { color: rgba(0, 0, 0, 0.5); border-color: rgba(0, 0, 0, 0.1); } .navbar-light .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } .navbar-light .navbar-text { color: rgba(0, 0, 0, 0.5); } .navbar-light .navbar-text a { color: rgba(0, 0, 0, 0.9); } .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { color: rgba(0, 0, 0, 0.9); } .navbar-dark .navbar-brand { color: #fff; } .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { color: #fff; } .navbar-dark .navbar-nav .nav-link { color: rgba(255, 255, 255, 0.5); } .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { color: rgba(255, 255, 255, 0.75); } .navbar-dark .navbar-nav .nav-link.disabled { color: rgba(255, 255, 255, 0.25); } .navbar-dark .navbar-nav .show > .nav-link, .navbar-dark .navbar-nav .active > .nav-link, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .nav-link.active { color: #fff; } .navbar-dark .navbar-toggler { color: rgba(255, 255, 255, 0.5); border-color: rgba(255, 255, 255, 0.1); } .navbar-dark .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } .navbar-dark .navbar-text { color: rgba(255, 255, 255, 0.5); } .navbar-dark .navbar-text a { color: #fff; } .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { color: #fff; } .card { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; min-width: 0; word-wrap: break-word; background-color: #fff; background-clip: border-box; border: 1px solid rgba(0, 0, 0, 0.125); border-radius: 0; } .card > hr { margin-right: 0; margin-left: 0; } .card > .list-group { border-top: inherit; border-bottom: inherit; } .card > .list-group:first-child { border-top-width: 0; border-top-left-radius: calc(0.25rem - 1px); border-top-right-radius: calc(0.25rem - 1px); } .card > .list-group:last-child { border-bottom-width: 0; border-bottom-right-radius: calc(0.25rem - 1px); border-bottom-left-radius: calc(0.25rem - 1px); } .card > .card-header + .list-group, .card > .list-group + .card-footer { border-top: 0; } .card-body { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; min-height: 1px; padding: 1.25rem; } .card-title { margin-bottom: 0.75rem; } .card-subtitle { margin-top: -0.375rem; margin-bottom: 0; } .card-text:last-child { margin-bottom: 0; } .card-link:hover { text-decoration: none; } .card-link + .card-link { margin-left: 1.25rem; } .card-header { padding: 0.75rem 1.25rem; margin-bottom: 0; background-color: rgba(0, 0, 0, 0.03); border-bottom: 1px solid rgba(0, 0, 0, 0.125); } .card-header:first-child { border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; } .card-footer { padding: 0.75rem 1.25rem; background-color: rgba(0, 0, 0, 0.03); border-top: 1px solid rgba(0, 0, 0, 0.125); } .card-footer:last-child { border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); } .card-header-tabs { margin-right: -0.625rem; margin-bottom: -0.75rem; margin-left: -0.625rem; border-bottom: 0; } .card-header-pills { margin-right: -0.625rem; margin-left: -0.625rem; } .card-img-overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: 1.25rem; border-radius: calc(0.25rem - 1px); } .card-img, .card-img-top, .card-img-bottom { -ms-flex-negative: 0; flex-shrink: 0; width: 100%; } .card-img, .card-img-top { border-top-left-radius: calc(0.25rem - 1px); border-top-right-radius: calc(0.25rem - 1px); } .card-img, .card-img-bottom { border-bottom-right-radius: calc(0.25rem - 1px); border-bottom-left-radius: calc(0.25rem - 1px); } .card-deck .card { margin-bottom: 15px; } @media (min-width: 576px) { .card-deck { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin-right: -15px; margin-left: -15px; } .card-deck .card { -webkit-box-flex: 1; -ms-flex: 1 0 0%; flex: 1 0 0%; margin-right: 15px; margin-bottom: 0; margin-left: 15px; } } .card-group > .card { margin-bottom: 15px; } @media (min-width: 576px) { .card-group { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; } .card-group > .card { -webkit-box-flex: 1; -ms-flex: 1 0 0%; flex: 1 0 0%; margin-bottom: 0; } .card-group > .card + .card { margin-left: 0; border-left: 0; } .card-group > .card:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .card-group > .card:not(:last-child) .card-img-top, .card-group > .card:not(:last-child) .card-header { border-top-right-radius: 0; } .card-group > .card:not(:last-child) .card-img-bottom, .card-group > .card:not(:last-child) .card-footer { border-bottom-right-radius: 0; } .card-group > .card:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .card-group > .card:not(:first-child) .card-img-top, .card-group > .card:not(:first-child) .card-header { border-top-left-radius: 0; } .card-group > .card:not(:first-child) .card-img-bottom, .card-group > .card:not(:first-child) .card-footer { border-bottom-left-radius: 0; } } .card-columns .card { margin-bottom: 0.75rem; } @media (min-width: 576px) { .card-columns { -webkit-column-count: 3; -moz-column-count: 3; column-count: 3; -webkit-column-gap: 1.25rem; -moz-column-gap: 1.25rem; column-gap: 1.25rem; orphans: 1; widows: 1; } .card-columns .card { display: inline-block; width: 100%; } } .accordion { overflow-anchor: none; } .accordion > .card { overflow: hidden; } .accordion > .card:not(:last-of-type) { border-bottom: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .accordion > .card:not(:first-of-type) { border-top-left-radius: 0; border-top-right-radius: 0; } .accordion > .card > .card-header { border-radius: 0; margin-bottom: -1px; } .breadcrumb { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0.56rem 1.13rem; margin-bottom: 1rem; font-size: 0.875rem; list-style: none; background-color: transparent; border-radius: 0.25rem; } .breadcrumb-item { display: -webkit-box; display: -ms-flexbox; display: flex; } .breadcrumb-item + .breadcrumb-item { padding-left: 0.5rem; } .breadcrumb-item + .breadcrumb-item::before { display: inline-block; padding-right: 0.5rem; color: #6c757d; content: "/"; } .breadcrumb-item + .breadcrumb-item:hover::before { text-decoration: underline; } .breadcrumb-item + .breadcrumb-item:hover::before { text-decoration: none; } .breadcrumb-item.active { color: #495057; } .pagination { display: -webkit-box; display: -ms-flexbox; display: flex; padding-left: 0; list-style: none; border-radius: 0.25rem; } .page-link { position: relative; display: block; padding: 0.5rem 0.75rem; margin-left: -1px; line-height: 1.25; color: #007bff; background-color: #fff; border: 1px solid #dee2e6; } .page-link:hover { z-index: 2; color: #0056b3; text-decoration: none; background-color: #e9ecef; border-color: #dee2e6; } .page-link:focus { z-index: 3; outline: 0; -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .page-item:first-child .page-link { margin-left: 0; border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem; } .page-item:last-child .page-link { border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem; } .page-item.active .page-link { z-index: 3; color: #fff; background-color: #007bff; border-color: #007bff; } .page-item.disabled .page-link { color: #6c757d; pointer-events: none; cursor: auto; background-color: #fff; border-color: #dee2e6; } .pagination-lg .page-link { padding: 0.75rem 1.5rem; font-size: 1.25rem; line-height: 1.5; } .pagination-lg .page-item:first-child .page-link { border-top-left-radius: 0.3rem; border-bottom-left-radius: 0.3rem; } .pagination-lg .page-item:last-child .page-link { border-top-right-radius: 0.3rem; border-bottom-right-radius: 0.3rem; } .pagination-sm .page-link { padding: 0.25rem 0.5rem; font-size: 0.875rem; line-height: 1.5; } .pagination-sm .page-item:first-child .page-link { border-top-left-radius: 0.2rem; border-bottom-left-radius: 0.2rem; } .pagination-sm .page-item:last-child .page-link { border-top-right-radius: 0.2rem; border-bottom-right-radius: 0.2rem; } .badge { display: inline-block; padding: 0.25em 0.4em; font-size: 75%; font-weight: 700; line-height: 1; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.25rem; -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { .badge { -webkit-transition: none; transition: none; } } a.badge:hover, a.badge:focus { text-decoration: none; } .badge:empty { display: none; } .btn .badge { position: relative; top: -1px; } .badge-pill { padding-right: 0.6em; padding-left: 0.6em; border-radius: 10rem; } .badge-primary { color: #212529; background-color: #1bdbe0; } a.badge-primary:hover, a.badge-primary:focus { color: #212529; background-color: #16afb2; } a.badge-primary:focus, a.badge-primary.focus { outline: 0; -webkit-box-shadow: 0 0 0 0.2rem rgba(27, 219, 224, 0.5); box-shadow: 0 0 0 0.2rem rgba(27, 219, 224, 0.5); } .badge-secondary { color: #212529; background-color: #d8d8d8; } a.badge-secondary:hover, a.badge-secondary:focus { color: #212529; background-color: #bfbfbf; } a.badge-secondary:focus, a.badge-secondary.focus { outline: 0; -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 216, 216, 0.5); box-shadow: 0 0 0 0.2rem rgba(216, 216, 216, 0.5); } .badge-success, .preview-list .preview-item .preview-thumbnail .badge.badge-online { color: #fff; background-color: #38ce3c; } a.badge-success:hover, .preview-list .preview-item .preview-thumbnail a.badge.badge-online:hover, a.badge-success:focus, .preview-list .preview-item .preview-thumbnail a.badge.badge-online:focus { color: #fff; background-color: #2aa92d; } a.badge-success:focus, .preview-list .preview-item .preview-thumbnail a.badge.badge-online:focus, a.badge-success.focus, .preview-list .preview-item .preview-thumbnail a.focus.badge.badge-online { outline: 0; -webkit-box-shadow: 0 0 0 0.2rem rgba(56, 206, 60, 0.5); box-shadow: 0 0 0 0.2rem rgba(56, 206, 60, 0.5); } .badge-info, .preview-list .preview-item .preview-thumbnail .badge.badge-offline { color: #fff; background-color: #8e32e9; } a.badge-info:hover, .preview-list .preview-item .preview-thumbnail a.badge.badge-offline:hover, a.badge-info:focus, .preview-list .preview-item .preview-thumbnail a.badge.badge-offline:focus { color: #fff; background-color: #7516d2; } a.badge-info:focus, .preview-list .preview-item .preview-thumbnail a.badge.badge-offline:focus, a.badge-info.focus, .preview-list .preview-item .preview-thumbnail a.focus.badge.badge-offline { outline: 0; -webkit-box-shadow: 0 0 0 0.2rem rgba(142, 50, 233, 0.5); box-shadow: 0 0 0 0.2rem rgba(142, 50, 233, 0.5); } .badge-warning, .preview-list .preview-item .preview-thumbnail .badge.badge-busy { color: #212529; background-color: #ffde73; } a.badge-warning:hover, .preview-list .preview-item .preview-thumbnail a.badge.badge-busy:hover, a.badge-warning:focus, .preview-list .preview-item .preview-thumbnail a.badge.badge-busy:focus { color: #212529; background-color: #ffd240; } a.badge-warning:focus, .preview-list .preview-item .preview-thumbnail a.badge.badge-busy:focus, a.badge-warning.focus, .preview-list .preview-item .preview-thumbnail a.focus.badge.badge-busy { outline: 0; -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 222, 115, 0.5); box-shadow: 0 0 0 0.2rem rgba(255, 222, 115, 0.5); } .badge-danger { color: #fff; background-color: #ff4d6b; } a.badge-danger:hover, a.badge-danger:focus { color: #fff; background-color: #ff1a41; } a.badge-danger:focus, a.badge-danger.focus { outline: 0; -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 77, 107, 0.5); box-shadow: 0 0 0 0.2rem rgba(255, 77, 107, 0.5); } .badge-light { color: #212529; background-color: #f8f9fa; } a.badge-light:hover, a.badge-light:focus { color: #212529; background-color: #dae0e5; } a.badge-light:focus, a.badge-light.focus { outline: 0; -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } .badge-dark { color: #fff; background-color: #3e4b5b; } a.badge-dark:hover, a.badge-dark:focus { color: #fff; background-color: #29323d; } a.badge-dark:focus, a.badge-dark.focus { outline: 0; -webkit-box-shadow: 0 0 0 0.2rem rgba(62, 75, 91, 0.5); box-shadow: 0 0 0 0.2rem rgba(62, 75, 91, 0.5); } .jumbotron { padding: 2rem 1rem; margin-bottom: 2rem; background-color: #e9ecef; border-radius: 0.3rem; } @media (min-width: 576px) { .jumbotron { padding: 4rem 2rem; } } .jumbotron-fluid { padding-right: 0; padding-left: 0; border-radius: 0; } .alert { position: relative; padding: 0.75rem 1.25rem; margin-bottom: 1rem; border: 1px solid transparent; border-radius: 0.25rem; } .alert-heading { color: inherit; } .alert-link { font-weight: 700; } .alert-dismissible { padding-right: 4rem; } .alert-dismissible .close { position: absolute; top: 0; right: 0; z-index: 2; padding: 0.75rem 1.25rem; color: inherit; } .alert-primary { color: #0e7274; background-color: #d1f8f9; border-color: #bff5f6; } .alert-primary hr { border-top-color: #a9f2f3; } .alert-primary .alert-link { color: #094546; } .alert-secondary { color: #707070; background-color: #f7f7f7; border-color: #f4f4f4; } .alert-secondary hr { border-top-color: #e7e7e7; } .alert-secondary .alert-link { color: #575757; } .alert-success { color: #1d6b1f; background-color: #d7f5d8; border-color: #c7f1c8; } .alert-success hr { border-top-color: #b3ecb4; } .alert-success .alert-link { color: #124313; } .alert-info { color: #4a1a79; background-color: #e8d6fb; border-color: #dfc6f9; } .alert-info hr { border-top-color: #d2aff7; } .alert-info .alert-link { color: #30114f; } .alert-warning { color: #85733c; background-color: #fff8e3; border-color: #fff6d8; } .alert-warning hr { border-top-color: #fff0bf; } .alert-warning .alert-link { color: #62552c; } .alert-danger { color: #852838; background-color: #ffdbe1; border-color: #ffcdd6; } .alert-danger hr { border-top-color: #ffb4c1; } .alert-danger .alert-link { color: #5e1c27; } .alert-light { color: #818182; background-color: #fefefe; border-color: #fdfdfe; } .alert-light hr { border-top-color: #ececf6; } .alert-light .alert-link { color: #686868; } .alert-dark { color: #20272f; background-color: #d8dbde; border-color: #c9cdd1; } .alert-dark hr { border-top-color: #bbc0c5; } .alert-dark .alert-link { color: #0b0e11; } @-webkit-keyframes progress-bar-stripes { from { background-position: 1rem 0; } to { background-position: 0 0; } } @keyframes progress-bar-stripes { from { background-position: 1rem 0; } to { background-position: 0 0; } } .progress { display: -webkit-box; display: -ms-flexbox; display: flex; height: 1rem; overflow: hidden; line-height: 0; font-size: 0.75rem; background-color: #e9ecef; border-radius: 0.25rem; } .progress-bar { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; overflow: hidden; color: #fff; text-align: center; white-space: nowrap; background-color: #007bff; -webkit-transition: width 0.6s ease; transition: width 0.6s ease; } @media (prefers-reduced-motion: reduce) { .progress-bar { -webkit-transition: none; transition: none; } } .progress-bar-striped { 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: 1rem 1rem; } .progress-bar-animated { -webkit-animation: progress-bar-stripes 1s linear infinite; animation: progress-bar-stripes 1s linear infinite; } @media (prefers-reduced-motion: reduce) { .progress-bar-animated { -webkit-animation: none; animation: none; } } .media { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .media-body { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .list-group { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding-left: 0; margin-bottom: 0; border-radius: 0.25rem; } .list-group-item-action { width: 100%; color: #495057; text-align: inherit; } .list-group-item-action:hover, .list-group-item-action:focus { z-index: 1; color: #495057; text-decoration: none; background-color: #f8f9fa; } .list-group-item-action:active { color: #212529; background-color: #e9ecef; } .list-group-item { position: relative; display: block; padding: 0.75rem 1.25rem; background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.125); } .list-group-item:first-child { border-top-left-radius: inherit; border-top-right-radius: inherit; } .list-group-item:last-child { border-bottom-right-radius: inherit; border-bottom-left-radius: inherit; } .list-group-item.disabled, .list-group-item:disabled { color: #6c757d; pointer-events: none; background-color: #fff; } .list-group-item.active { z-index: 2; color: #fff; background-color: #007bff; border-color: #007bff; } .list-group-item + .list-group-item { border-top-width: 0; } .list-group-item + .list-group-item.active { margin-top: -1px; border-top-width: 1px; } .list-group-horizontal { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .list-group-horizontal > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } .list-group-horizontal > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } .list-group-horizontal > .list-group-item.active { margin-top: 0; } .list-group-horizontal > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } .list-group-horizontal > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } @media (min-width: 576px) { .list-group-horizontal-sm { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .list-group-horizontal-sm > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } .list-group-horizontal-sm > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } .list-group-horizontal-sm > .list-group-item.active { margin-top: 0; } .list-group-horizontal-sm > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } .list-group-horizontal-sm > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } } @media (min-width: 768px) { .list-group-horizontal-md { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .list-group-horizontal-md > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } .list-group-horizontal-md > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } .list-group-horizontal-md > .list-group-item.active { margin-top: 0; } .list-group-horizontal-md > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } .list-group-horizontal-md > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } } @media (min-width: 992px) { .list-group-horizontal-lg { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .list-group-horizontal-lg > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } .list-group-horizontal-lg > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } .list-group-horizontal-lg > .list-group-item.active { margin-top: 0; } .list-group-horizontal-lg > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } .list-group-horizontal-lg > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } } @media (min-width: 1200px) { .list-group-horizontal-xl { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .list-group-horizontal-xl > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } .list-group-horizontal-xl > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } .list-group-horizontal-xl > .list-group-item.active { margin-top: 0; } .list-group-horizontal-xl > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } .list-group-horizontal-xl > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } } .list-group-flush { border-radius: 0; } .list-group-flush > .list-group-item { border-width: 0 0 1px; } .list-group-flush > .list-group-item:last-child { border-bottom-width: 0; } .list-group-item-primary { color: #0e7274; background-color: #bff5f6; } .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { color: #0e7274; background-color: #a9f2f3; } .list-group-item-primary.list-group-item-action.active { color: #ffffff; background-color: #0e7274; border-color: #0e7274; } .list-group-item-secondary { color: #707070; background-color: #f4f4f4; } .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { color: #707070; background-color: #e7e7e7; } .list-group-item-secondary.list-group-item-action.active { color: #ffffff; background-color: #707070; border-color: #707070; } .list-group-item-success { color: #1d6b1f; background-color: #c7f1c8; } .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { color: #1d6b1f; background-color: #b3ecb4; } .list-group-item-success.list-group-item-action.active { color: #ffffff; background-color: #1d6b1f; border-color: #1d6b1f; } .list-group-item-info { color: #4a1a79; background-color: #dfc6f9; } .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { color: #4a1a79; background-color: #d2aff7; } .list-group-item-info.list-group-item-action.active { color: #ffffff; background-color: #4a1a79; border-color: #4a1a79; } .list-group-item-warning { color: #85733c; background-color: #fff6d8; } .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { color: #85733c; background-color: #fff0bf; } .list-group-item-warning.list-group-item-action.active { color: #ffffff; background-color: #85733c; border-color: #85733c; } .list-group-item-danger { color: #852838; background-color: #ffcdd6; } .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { color: #852838; background-color: #ffb4c1; } .list-group-item-danger.list-group-item-action.active { color: #ffffff; background-color: #852838; border-color: #852838; } .list-group-item-light { color: #818182; background-color: #fdfdfe; } .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { color: #818182; background-color: #ececf6; } .list-group-item-light.list-group-item-action.active { color: #ffffff; background-color: #818182; border-color: #818182; } .list-group-item-dark { color: #20272f; background-color: #c9cdd1; } .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { color: #20272f; background-color: #bbc0c5; } .list-group-item-dark.list-group-item-action.active { color: #ffffff; background-color: #20272f; border-color: #20272f; } .close { float: right; font-size: 1.5rem; font-weight: 700; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; opacity: .5; } .close:hover { color: #000; text-decoration: none; } .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { opacity: .75; } button.close { padding: 0; background-color: transparent; border: 0; } a.close.disabled { pointer-events: none; } .toast { -ms-flex-preferred-size: 350px; flex-basis: 350px; max-width: 350px; font-size: 0.875rem; background-color: rgba(255, 255, 255, 0.85); background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.1); -webkit-box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); opacity: 0; border-radius: 0.25rem; } .toast:not(:last-child) { margin-bottom: 0.75rem; } .toast.showing { opacity: 1; } .toast.show { display: block; opacity: 1; } .toast.hide { display: none; } .toast-header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0.25rem 0.75rem; color: #6c757d; background-color: rgba(255, 255, 255, 0.85); background-clip: padding-box; border-bottom: 1px solid rgba(0, 0, 0, 0.05); border-top-left-radius: calc(0.25rem - 1px); border-top-right-radius: calc(0.25rem - 1px); } .toast-body { padding: 0.75rem; } .modal-open { overflow: hidden; } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } .modal { position: fixed; top: 0; left: 0; z-index: 1050; display: none; width: 100%; height: 100%; overflow: hidden; outline: 0; } .modal-dialog { position: relative; width: auto; margin: 10px; pointer-events: none; } .modal.fade .modal-dialog { -webkit-transition: -webkit-transform 0.4s ease; transition: -webkit-transform 0.4s ease; transition: transform 0.4s ease; transition: transform 0.4s ease, -webkit-transform 0.4s ease; -webkit-transform: translate(0, -50px); transform: translate(0, -50px); } @media (prefers-reduced-motion: reduce) { .modal.fade .modal-dialog { -webkit-transition: none; transition: none; } } .modal.show .modal-dialog { -webkit-transform: none; transform: none; } .modal.modal-static .modal-dialog { -webkit-transform: scale(1.02); transform: scale(1.02); } .modal-dialog-scrollable { display: -webkit-box; display: -ms-flexbox; display: flex; max-height: calc(100% - 20px); } .modal-dialog-scrollable .modal-content { max-height: calc(100vh - 20px); overflow: hidden; } .modal-dialog-scrollable .modal-header, .modal-dialog-scrollable .modal-footer { -ms-flex-negative: 0; flex-shrink: 0; } .modal-dialog-scrollable .modal-body { overflow-y: auto; } .modal-dialog-centered { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-height: calc(100% - 20px); } .modal-dialog-centered::before { display: block; height: calc(100vh - 20px); height: -webkit-min-content; height: -moz-min-content; height: min-content; content: ""; } .modal-dialog-centered.modal-dialog-scrollable { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 100%; } .modal-dialog-centered.modal-dialog-scrollable .modal-content { max-height: none; } .modal-dialog-centered.modal-dialog-scrollable::before { content: none; } .modal-content { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; width: 100%; pointer-events: auto; background-color: #ecf0f4; background-clip: padding-box; border: 1px solid #e8ecf1; border-radius: 0.3rem; outline: 0; } .modal-backdrop { position: fixed; top: 0; left: 0; z-index: 1040; width: 100vw; height: 100vh; background-color: #000; } .modal-backdrop.fade { opacity: 0; } .modal-backdrop.show { opacity: 0.5; } .modal-header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 1rem 1rem; border-bottom: 1px solid #e8ecf1; border-top-left-radius: calc(0.3rem - 1px); border-top-right-radius: calc(0.3rem - 1px); } .modal-header .close { padding: 1rem 1rem; margin: -25px -26px -25px auto; } .modal-title { margin-bottom: 0; line-height: 1.5; } .modal-body { position: relative; -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; padding: 0.9375rem; } .modal-footer { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; padding: 0.6875rem; border-top: 1px solid #e8ecf1; border-bottom-right-radius: calc(0.3rem - 1px); border-bottom-left-radius: calc(0.3rem - 1px); } .modal-footer > * { margin: 0.25rem; } .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } @media (min-width: 576px) { .modal-dialog { max-width: 500px; margin: 30px auto; } .modal-dialog-scrollable { max-height: calc(100% - 60px); } .modal-dialog-scrollable .modal-content { max-height: calc(100vh - 60px); } .modal-dialog-centered { min-height: calc(100% - 60px); } .modal-dialog-centered::before { height: calc(100vh - 60px); height: -webkit-min-content; height: -moz-min-content; height: min-content; } .modal-sm { max-width: 300px; } } @media (min-width: 992px) { .modal-lg, .modal-xl { max-width: 90%; } } @media (min-width: 1200px) { .modal-xl { max-width: 1140px; } } .tooltip { position: absolute; z-index: 1070; display: block; margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-style: normal; font-weight: 400; line-height: 1.5; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; white-space: normal; line-break: auto; font-size: 0.75rem; word-wrap: break-word; opacity: 0; } .tooltip.show { opacity: 0.9; } .tooltip .arrow { position: absolute; display: block; width: 0.8rem; height: 0.4rem; } .tooltip .arrow::before { position: absolute; content: ""; border-color: transparent; border-style: solid; } .bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { padding: 0.4rem 0; } .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { bottom: 0; } .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { top: 0; border-width: 0.4rem 0.4rem 0; border-top-color: #000; } .bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { padding: 0 0.4rem; } .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { left: 0; width: 0.4rem; height: 0.8rem; } .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { right: 0; border-width: 0.4rem 0.4rem 0.4rem 0; border-right-color: #000; } .bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { padding: 0.4rem 0; } .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { top: 0; } .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { bottom: 0; border-width: 0 0.4rem 0.4rem; border-bottom-color: #000; } .bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { padding: 0 0.4rem; } .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { right: 0; width: 0.4rem; height: 0.8rem; } .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { left: 0; border-width: 0.4rem 0 0.4rem 0.4rem; border-left-color: #000; } .tooltip-inner { max-width: 200px; padding: 0.4rem 0.75rem; color: #fff; text-align: center; background-color: #000; border-radius: 0.375rem; } .popover { position: absolute; top: 0; left: 0; z-index: 1060; display: block; max-width: 276px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-style: normal; font-weight: 400; line-height: 1.5; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; white-space: normal; line-break: auto; font-size: 0.875rem; word-wrap: break-word; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 0.3rem; } .popover .arrow { position: absolute; display: block; width: 1rem; height: 0.5rem; margin: 0 0.3rem; } .popover .arrow::before, .popover .arrow::after { position: absolute; display: block; content: ""; border-color: transparent; border-style: solid; } .bs-popover-top, .bs-popover-auto[x-placement^="top"] { margin-bottom: 0.5rem; } .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { bottom: calc(-0.5rem - 1px); } .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { bottom: 0; border-width: 0.5rem 0.5rem 0; border-top-color: rgba(0, 0, 0, 0.25); } .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { bottom: 1px; border-width: 0.5rem 0.5rem 0; border-top-color: #fff; } .bs-popover-right, .bs-popover-auto[x-placement^="right"] { margin-left: 0.5rem; } .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { left: calc(-0.5rem - 1px); width: 0.5rem; height: 1rem; margin: 0.3rem 0; } .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { left: 0; border-width: 0.5rem 0.5rem 0.5rem 0; border-right-color: rgba(0, 0, 0, 0.25); } .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { left: 1px; border-width: 0.5rem 0.5rem 0.5rem 0; border-right-color: #fff; } .bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { margin-top: 0.5rem; } .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { top: calc(-0.5rem - 1px); } .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { top: 0; border-width: 0 0.5rem 0.5rem 0.5rem; border-bottom-color: rgba(0, 0, 0, 0.25); } .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { top: 1px; border-width: 0 0.5rem 0.5rem 0.5rem; border-bottom-color: #fff; } .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { position: absolute; top: 0; left: 50%; display: block; width: 1rem; margin-left: -0.5rem; content: ""; border-bottom: 1px solid #f7f7f7; } .bs-popover-left, .bs-popover-auto[x-placement^="left"] { margin-right: 0.5rem; } .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { right: calc(-0.5rem - 1px); width: 0.5rem; height: 1rem; margin: 0.3rem 0; } .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { right: 0; border-width: 0.5rem 0 0.5rem 0.5rem; border-left-color: rgba(0, 0, 0, 0.25); } .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { right: 1px; border-width: 0.5rem 0 0.5rem 0.5rem; border-left-color: #fff; } .popover-header { padding: 0.5rem 0.75rem; margin-bottom: 0; font-size: 1rem; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-top-left-radius: calc(0.3rem - 1px); border-top-right-radius: calc(0.3rem - 1px); } .popover-header:empty { display: none; } .popover-body { padding: 0.5rem 0.75rem; color: #212529; } .carousel { position: relative; } .carousel.pointer-event { -ms-touch-action: pan-y; touch-action: pan-y; } .carousel-inner { position: relative; width: 100%; overflow: hidden; } .carousel-inner::after { display: block; clear: both; content: ""; } .carousel-item { position: relative; display: none; float: left; width: 100%; margin-right: -100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transition: -webkit-transform 0.6s ease-in-out; transition: -webkit-transform 0.6s ease-in-out; transition: transform 0.6s ease-in-out; transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; } @media (prefers-reduced-motion: reduce) { .carousel-item { -webkit-transition: none; transition: none; } } .carousel-item.active, .carousel-item-next, .carousel-item-prev { display: block; } .carousel-item-next:not(.carousel-item-left), .active.carousel-item-right { -webkit-transform: translateX(100%); transform: translateX(100%); } .carousel-item-prev:not(.carousel-item-right), .active.carousel-item-left { -webkit-transform: translateX(-100%); transform: translateX(-100%); } .carousel-fade .carousel-item { opacity: 0; -webkit-transition-property: opacity; transition-property: opacity; -webkit-transform: none; transform: none; } .carousel-fade .carousel-item.active, .carousel-fade .carousel-item-next.carousel-item-left, .carousel-fade .carousel-item-prev.carousel-item-right { z-index: 1; opacity: 1; } .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right { z-index: 0; opacity: 0; -webkit-transition: opacity 0s 0.6s; transition: opacity 0s 0.6s; } @media (prefers-reduced-motion: reduce) { .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right { -webkit-transition: none; transition: none; } } .carousel-control-prev, .carousel-control-next { position: absolute; top: 0; bottom: 0; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 15%; color: #fff; text-align: center; opacity: 0.5; -webkit-transition: opacity 0.15s ease; transition: opacity 0.15s ease; } @media (prefers-reduced-motion: reduce) { .carousel-control-prev, .carousel-control-next { -webkit-transition: none; transition: none; } } .carousel-control-prev:hover, .carousel-control-prev:focus, .carousel-control-next:hover, .carousel-control-next:focus { color: #fff; text-decoration: none; outline: 0; opacity: 0.9; } .carousel-control-prev { left: 0; } .carousel-control-next { right: 0; } .carousel-control-prev-icon, .carousel-control-next-icon { display: inline-block; width: 20px; height: 20px; background: no-repeat 50% / 100% 100%; } .carousel-control-prev-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); } .carousel-control-next-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); } .carousel-indicators { position: absolute; right: 0; bottom: 0; left: 0; z-index: 15; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding-left: 0; margin-right: 15%; margin-left: 15%; list-style: none; } .carousel-indicators li { -webkit-box-sizing: content-box; box-sizing: content-box; -webkit-box-flex: 0; -ms-flex: 0 1 auto; flex: 0 1 auto; width: 30px; height: 3px; margin-right: 3px; margin-left: 3px; text-indent: -999px; cursor: pointer; background-color: #fff; background-clip: padding-box; border-top: 10px solid transparent; border-bottom: 10px solid transparent; opacity: .5; -webkit-transition: opacity 0.6s ease; transition: opacity 0.6s ease; } @media (prefers-reduced-motion: reduce) { .carousel-indicators li { -webkit-transition: none; transition: none; } } .carousel-indicators .active { opacity: 1; } .carousel-caption { position: absolute; right: 15%; bottom: 20px; left: 15%; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; } @-webkit-keyframes spinner-border { to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spinner-border { to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } .spinner-border { display: inline-block; width: 2rem; height: 2rem; vertical-align: text-bottom; border: 0.25em solid currentColor; border-right-color: transparent; border-radius: 50%; -webkit-animation: spinner-border .75s linear infinite; animation: spinner-border .75s linear infinite; } .spinner-border-sm { width: 1rem; height: 1rem; border-width: 0.2em; } @-webkit-keyframes spinner-grow { 0% { -webkit-transform: scale(0); transform: scale(0); } 50% { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes spinner-grow { 0% { -webkit-transform: scale(0); transform: scale(0); } 50% { opacity: 1; -webkit-transform: none; transform: none; } } .spinner-grow { display: inline-block; width: 2rem; height: 2rem; vertical-align: text-bottom; background-color: currentColor; border-radius: 50%; opacity: 0; -webkit-animation: spinner-grow .75s linear infinite; animation: spinner-grow .75s linear infinite; } .spinner-grow-sm { width: 1rem; height: 1rem; } .align-baseline { vertical-align: baseline !important; } .align-top { vertical-align: top !important; } .align-middle { vertical-align: middle !important; } .align-bottom { vertical-align: bottom !important; } .align-text-bottom { vertical-align: text-bottom !important; } .align-text-top { vertical-align: text-top !important; } .bg-primary { background-color: #1bdbe0 !important; } a.bg-primary:hover, a.bg-primary:focus, button.bg-primary:hover, button.bg-primary:focus { background-color: #16afb2 !important; } .bg-secondary { background-color: #d8d8d8 !important; } a.bg-secondary:hover, a.bg-secondary:focus, button.bg-secondary:hover, button.bg-secondary:focus { background-color: #bfbfbf !important; } .bg-success { background-color: #38ce3c !important; } a.bg-success:hover, a.bg-success:focus, button.bg-success:hover, button.bg-success:focus { background-color: #2aa92d !important; } .bg-info { background-color: #8e32e9 !important; } a.bg-info:hover, a.bg-info:focus, button.bg-info:hover, button.bg-info:focus { background-color: #7516d2 !important; } .bg-warning { background-color: #ffde73 !important; } a.bg-warning:hover, a.bg-warning:focus, button.bg-warning:hover, button.bg-warning:focus { background-color: #ffd240 !important; } .bg-danger { background-color: #ff4d6b !important; } a.bg-danger:hover, a.bg-danger:focus, button.bg-danger:hover, button.bg-danger:focus { background-color: #ff1a41 !important; } .bg-light { background-color: #f8f9fa !important; } a.bg-light:hover, a.bg-light:focus, button.bg-light:hover, button.bg-light:focus { background-color: #dae0e5 !important; } .bg-dark { background-color: #3e4b5b !important; } a.bg-dark:hover, a.bg-dark:focus, button.bg-dark:hover, button.bg-dark:focus { background-color: #29323d !important; } .bg-white { background-color: #ffffff !important; } .bg-transparent { background-color: transparent !important; } .border, .loader-demo-box { border: 1px solid #e8ecf1 !important; } .border-top { border-top: 1px solid #e8ecf1 !important; } .border-right { border-right: 1px solid #e8ecf1 !important; } .border-bottom { border-bottom: 1px solid #e8ecf1 !important; } .border-left { border-left: 1px solid #e8ecf1 !important; } .border-0 { border: 0 !important; } .border-top-0 { border-top: 0 !important; } .border-right-0 { border-right: 0 !important; } .border-bottom-0 { border-bottom: 0 !important; } .border-left-0 { border-left: 0 !important; } .border-primary { border-color: #1bdbe0 !important; } .border-secondary, .loader-demo-box { border-color: #d8d8d8 !important; } .border-success { border-color: #38ce3c !important; } .border-info { border-color: #8e32e9 !important; } .border-warning { border-color: #ffde73 !important; } .border-danger { border-color: #ff4d6b !important; } .border-light { border-color: #f8f9fa !important; } .border-dark { border-color: #3e4b5b !important; } .border-white { border-color: #ffffff !important; } .rounded-sm { border-radius: 0.2rem !important; } .rounded, .loader-demo-box { border-radius: 0.25rem !important; } .rounded-top { border-top-left-radius: 0.25rem !important; border-top-right-radius: 0.25rem !important; } .rounded-right { border-top-right-radius: 0.25rem !important; border-bottom-right-radius: 0.25rem !important; } .rounded-bottom { border-bottom-right-radius: 0.25rem !important; border-bottom-left-radius: 0.25rem !important; } .rounded-left { border-top-left-radius: 0.25rem !important; border-bottom-left-radius: 0.25rem !important; } .rounded-lg { border-radius: 0.3rem !important; } .rounded-circle { border-radius: 50% !important; } .rounded-pill { border-radius: 50rem !important; } .rounded-0 { border-radius: 0 !important; } .clearfix::after { display: block; clear: both; content: ""; } .d-none { display: none !important; } .d-inline { display: inline !important; } .d-inline-block { display: inline-block !important; } .d-block { display: block !important; } .d-table { display: table !important; } .d-table-row { display: table-row !important; } .d-table-cell { display: table-cell !important; } .d-flex, .page-header, .loader-demo-box, .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .dropdown-menu.navbar-dropdown .dropdown-item { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; } .d-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; } @media (min-width: 576px) { .d-sm-none { display: none !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-block { display: block !important; } .d-sm-table { display: table !important; } .d-sm-table-row { display: table-row !important; } .d-sm-table-cell { display: table-cell !important; } .d-sm-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; } .d-sm-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; } } @media (min-width: 768px) { .d-md-none { display: none !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-block { display: block !important; } .d-md-table { display: table !important; } .d-md-table-row { display: table-row !important; } .d-md-table-cell { display: table-cell !important; } .d-md-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; } .d-md-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; } } @media (min-width: 992px) { .d-lg-none { display: none !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-block { display: block !important; } .d-lg-table { display: table !important; } .d-lg-table-row { display: table-row !important; } .d-lg-table-cell { display: table-cell !important; } .d-lg-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; } .d-lg-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; } } @media (min-width: 1200px) { .d-xl-none { display: none !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-block { display: block !important; } .d-xl-table { display: table !important; } .d-xl-table-row { display: table-row !important; } .d-xl-table-cell { display: table-cell !important; } .d-xl-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; } .d-xl-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; } } @media print { .d-print-none { display: none !important; } .d-print-inline { display: inline !important; } .d-print-inline-block { display: inline-block !important; } .d-print-block { display: block !important; } .d-print-table { display: table !important; } .d-print-table-row { display: table-row !important; } .d-print-table-cell { display: table-cell !important; } .d-print-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; } .d-print-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; } } .embed-responsive { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; } .embed-responsive::before { display: block; content: ""; } .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; } .embed-responsive-21by9::before { padding-top: 42.85714%; } .embed-responsive-16by9::before { padding-top: 56.25%; } .embed-responsive-4by3::before { padding-top: 75%; } .embed-responsive-1by1::before { padding-top: 100%; } .embed-responsive-21by9::before { padding-top: 42.85714%; } .embed-responsive-16by9::before { padding-top: 56.25%; } .embed-responsive-4by3::before { padding-top: 75%; } .embed-responsive-1by1::before { padding-top: 100%; } .flex-row { -webkit-box-orient: horizontal !important; -webkit-box-direction: normal !important; -ms-flex-direction: row !important; flex-direction: row !important; } .flex-column { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; } .flex-row-reverse { -webkit-box-orient: horizontal !important; -webkit-box-direction: reverse !important; -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-column-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-fill { -webkit-box-flex: 1 !important; -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-grow-0 { -webkit-box-flex: 0 !important; -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-grow-1 { -webkit-box-flex: 1 !important; -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-start { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-end { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-between, .page-header { -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-start { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-end { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-center, .page-header, .loader-demo-box, .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .dropdown-menu.navbar-dropdown .dropdown-item { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; } .align-items-baseline { -webkit-box-align: baseline !important; -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-stretch { -webkit-box-align: stretch !important; -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } @media (min-width: 576px) { .flex-sm-row { -webkit-box-orient: horizontal !important; -webkit-box-direction: normal !important; -ms-flex-direction: row !important; flex-direction: row !important; } .flex-sm-column { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; } .flex-sm-row-reverse { -webkit-box-orient: horizontal !important; -webkit-box-direction: reverse !important; -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-sm-column-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-sm-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-sm-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-sm-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-sm-fill { -webkit-box-flex: 1 !important; -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-sm-grow-0 { -webkit-box-flex: 0 !important; -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-sm-grow-1 { -webkit-box-flex: 1 !important; -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-sm-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-sm-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-sm-start { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-sm-end { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-sm-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-sm-between { -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-sm-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-sm-start { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-sm-end { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-sm-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; } .align-items-sm-baseline { -webkit-box-align: baseline !important; -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-sm-stretch { -webkit-box-align: stretch !important; -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-sm-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-sm-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-sm-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-sm-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-sm-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-sm-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-sm-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-sm-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-sm-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-sm-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-sm-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-sm-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } } @media (min-width: 768px) { .flex-md-row { -webkit-box-orient: horizontal !important; -webkit-box-direction: normal !important; -ms-flex-direction: row !important; flex-direction: row !important; } .flex-md-column { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; } .flex-md-row-reverse { -webkit-box-orient: horizontal !important; -webkit-box-direction: reverse !important; -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-md-column-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-md-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-md-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-md-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-md-fill { -webkit-box-flex: 1 !important; -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-md-grow-0 { -webkit-box-flex: 0 !important; -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-md-grow-1 { -webkit-box-flex: 1 !important; -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-md-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-md-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-md-start { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-md-end { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-md-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-md-between { -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-md-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-md-start { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-md-end { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-md-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; } .align-items-md-baseline { -webkit-box-align: baseline !important; -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-md-stretch { -webkit-box-align: stretch !important; -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-md-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-md-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-md-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-md-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-md-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-md-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-md-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-md-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-md-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-md-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-md-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-md-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } } @media (min-width: 992px) { .flex-lg-row { -webkit-box-orient: horizontal !important; -webkit-box-direction: normal !important; -ms-flex-direction: row !important; flex-direction: row !important; } .flex-lg-column { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; } .flex-lg-row-reverse { -webkit-box-orient: horizontal !important; -webkit-box-direction: reverse !important; -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-lg-column-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-lg-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-lg-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-lg-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-lg-fill { -webkit-box-flex: 1 !important; -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-lg-grow-0 { -webkit-box-flex: 0 !important; -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-lg-grow-1 { -webkit-box-flex: 1 !important; -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-lg-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-lg-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-lg-start { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-lg-end { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-lg-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-lg-between { -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-lg-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-lg-start { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-lg-end { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-lg-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; } .align-items-lg-baseline { -webkit-box-align: baseline !important; -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-lg-stretch { -webkit-box-align: stretch !important; -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-lg-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-lg-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-lg-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-lg-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-lg-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-lg-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-lg-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-lg-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-lg-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-lg-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-lg-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-lg-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } } @media (min-width: 1200px) { .flex-xl-row { -webkit-box-orient: horizontal !important; -webkit-box-direction: normal !important; -ms-flex-direction: row !important; flex-direction: row !important; } .flex-xl-column { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; } .flex-xl-row-reverse { -webkit-box-orient: horizontal !important; -webkit-box-direction: reverse !important; -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-xl-column-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-xl-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-xl-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-xl-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-xl-fill { -webkit-box-flex: 1 !important; -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-xl-grow-0 { -webkit-box-flex: 0 !important; -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-xl-grow-1 { -webkit-box-flex: 1 !important; -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-xl-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-xl-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-xl-start { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-xl-end { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-xl-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-xl-between { -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-xl-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-xl-start { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-xl-end { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-xl-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; } .align-items-xl-baseline { -webkit-box-align: baseline !important; -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-xl-stretch { -webkit-box-align: stretch !important; -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-xl-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-xl-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-xl-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-xl-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-xl-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-xl-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-xl-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-xl-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-xl-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-xl-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-xl-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-xl-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } } .float-left { float: left !important; } .float-right { float: right !important; } .float-none { float: none !important; } @media (min-width: 576px) { .float-sm-left { float: left !important; } .float-sm-right { float: right !important; } .float-sm-none { float: none !important; } } @media (min-width: 768px) { .float-md-left { float: left !important; } .float-md-right { float: right !important; } .float-md-none { float: none !important; } } @media (min-width: 992px) { .float-lg-left { float: left !important; } .float-lg-right { float: right !important; } .float-lg-none { float: none !important; } } @media (min-width: 1200px) { .float-xl-left { float: left !important; } .float-xl-right { float: right !important; } .float-xl-none { float: none !important; } } .user-select-all { -webkit-user-select: all !important; -moz-user-select: all !important; -ms-user-select: all !important; user-select: all !important; } .user-select-auto { -webkit-user-select: auto !important; -moz-user-select: auto !important; -ms-user-select: auto !important; user-select: auto !important; } .user-select-none { -webkit-user-select: none !important; -moz-user-select: none !important; -ms-user-select: none !important; user-select: none !important; } .overflow-auto { overflow: auto !important; } .overflow-hidden { overflow: hidden !important; } .position-static { position: static !important; } .position-relative { position: relative !important; } .position-absolute { position: absolute !important; } .position-fixed { position: fixed !important; } .position-sticky { position: sticky !important; } .fixed-top { position: fixed; top: 0; right: 0; left: 0; z-index: 1030; } .fixed-bottom { position: fixed; right: 0; bottom: 0; left: 0; z-index: 1030; } @supports (position: sticky) { .sticky-top { position: sticky; top: 0; z-index: 1020; } } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; } .shadow-sm { -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; } .shadow { -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; } .shadow-lg { -webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; } .shadow-none { -webkit-box-shadow: none !important; box-shadow: none !important; } .w-25 { width: 25% !important; } .w-50 { width: 50% !important; } .w-75 { width: 75% !important; } .w-100 { width: 100% !important; } .w-auto { width: auto !important; } .h-25 { height: 25% !important; } .h-50 { height: 50% !important; } .h-75 { height: 75% !important; } .h-100 { height: 100% !important; } .h-auto { height: auto !important; } .mw-100 { max-width: 100% !important; } .mh-100 { max-height: 100% !important; } .min-vw-100 { min-width: 100vw !important; } .min-vh-100 { min-height: 100vh !important; } .vw-100 { width: 100vw !important; } .vh-100 { height: 100vh !important; } .m-0 { margin: 0 !important; } .mt-0, .demo-modal .modal-dialog, .my-0 { margin-top: 0 !important; } .mr-0, .mx-0 { margin-right: 0 !important; } .mb-0, .my-0 { margin-bottom: 0 !important; } .ml-0, .rtl .preview-list .preview-item .preview-thumbnail .preview-icon i, .mx-0 { margin-left: 0 !important; } .m-1 { margin: 0.25rem !important; } .mt-1, .my-1 { margin-top: 0.25rem !important; } .mr-1, .mx-1 { margin-right: 0.25rem !important; } .mb-1, .my-1 { margin-bottom: 0.25rem !important; } .ml-1, .mx-1 { margin-left: 0.25rem !important; } .m-2 { margin: 0.5rem !important; } .mt-2, .template-demo > .btn-group, .template-demo > .btn-group-vertical, .template-demo .circle-progress, .my-2 { margin-top: 0.5rem !important; } .mr-2, .template-demo > .btn-group, .template-demo > .btn-group-vertical, .template-demo > .dropdown, .mx-2 { margin-right: 0.5rem !important; } .mb-2, .my-2 { margin-bottom: 0.5rem !important; } .ml-2, .btn-toolbar .btn-group + .btn-group, .mx-2 { margin-left: 0.5rem !important; } .m-3 { margin: 1rem !important; } .mt-3, .template-demo > .btn, .template-demo > .btn-toolbar, .my-3 { margin-top: 1rem !important; } .mr-3, .template-demo > .btn, .template-demo > .btn-toolbar, .mx-3 { margin-right: 1rem !important; } .mb-3, .template-demo .circle-progress-block, .my-3 { margin-bottom: 1rem !important; } .ml-3, .mx-3 { margin-left: 1rem !important; } .m-4 { margin: 1.5rem !important; } .mt-4, .my-4 { margin-top: 1.5rem !important; } .mr-4, .mx-4 { margin-right: 1.5rem !important; } .mb-4, .my-4 { margin-bottom: 1.5rem !important; } .ml-4, .mx-4 { margin-left: 1.5rem !important; } .m-5 { margin: 3rem !important; } .mt-5, .my-5 { margin-top: 3rem !important; } .mr-5, .mx-5 { margin-right: 3rem !important; } .mb-5, .my-5 { margin-bottom: 3rem !important; } .ml-5, .mx-5 { margin-left: 3rem !important; } .p-0 { padding: 0 !important; } .pt-0, .py-0 { padding-top: 0 !important; } .pr-0, .px-0 { padding-right: 0 !important; } .pb-0, .py-0 { padding-bottom: 0 !important; } .pl-0, .px-0 { padding-left: 0 !important; } .p-1 { padding: 0.25rem !important; } .pt-1, .py-1 { padding-top: 0.25rem !important; } .pr-1, .px-1 { padding-right: 0.25rem !important; } .pb-1, .py-1 { padding-bottom: 0.25rem !important; } .pl-1, .px-1 { padding-left: 0.25rem !important; } .p-2 { padding: 0.5rem !important; } .pt-2, .py-2 { padding-top: 0.5rem !important; } .pr-2, .px-2, .template-demo .circle-progress-block { padding-right: 0.5rem !important; } .pb-2, .py-2 { padding-bottom: 0.5rem !important; } .pl-2, .px-2, .template-demo .circle-progress-block { padding-left: 0.5rem !important; } .p-3 { padding: 1rem !important; } .pt-3, .py-3 { padding-top: 1rem !important; } .pr-3, .px-3 { padding-right: 1rem !important; } .pb-3, .py-3 { padding-bottom: 1rem !important; } .pl-3, .px-3 { padding-left: 1rem !important; } .p-4 { padding: 1.5rem !important; } .pt-4, .py-4 { padding-top: 1.5rem !important; } .pr-4, .px-4 { padding-right: 1.5rem !important; } .pb-4, .py-4 { padding-bottom: 1.5rem !important; } .pl-4, .px-4 { padding-left: 1.5rem !important; } .p-5 { padding: 3rem !important; } .pt-5, .py-5 { padding-top: 3rem !important; } .pr-5, .px-5 { padding-right: 3rem !important; } .pb-5, .py-5 { padding-bottom: 3rem !important; } .pl-5, .px-5 { padding-left: 3rem !important; } .m-n1 { margin: -0.25rem !important; } .mt-n1, .my-n1 { margin-top: -0.25rem !important; } .mr-n1, .mx-n1 { margin-right: -0.25rem !important; } .mb-n1, .my-n1 { margin-bottom: -0.25rem !important; } .ml-n1, .mx-n1 { margin-left: -0.25rem !important; } .m-n2 { margin: -0.5rem !important; } .mt-n2, .my-n2 { margin-top: -0.5rem !important; } .mr-n2, .mx-n2 { margin-right: -0.5rem !important; } .mb-n2, .my-n2 { margin-bottom: -0.5rem !important; } .ml-n2, .mx-n2 { margin-left: -0.5rem !important; } .m-n3 { margin: -1rem !important; } .mt-n3, .my-n3 { margin-top: -1rem !important; } .mr-n3, .mx-n3 { margin-right: -1rem !important; } .mb-n3, .my-n3 { margin-bottom: -1rem !important; } .ml-n3, .mx-n3 { margin-left: -1rem !important; } .m-n4 { margin: -1.5rem !important; } .mt-n4, .my-n4 { margin-top: -1.5rem !important; } .mr-n4, .mx-n4 { margin-right: -1.5rem !important; } .mb-n4, .my-n4 { margin-bottom: -1.5rem !important; } .ml-n4, .mx-n4 { margin-left: -1.5rem !important; } .m-n5 { margin: -3rem !important; } .mt-n5, .my-n5 { margin-top: -3rem !important; } .mr-n5, .mx-n5 { margin-right: -3rem !important; } .mb-n5, .my-n5 { margin-bottom: -3rem !important; } .ml-n5, .mx-n5 { margin-left: -3rem !important; } .m-auto { margin: auto !important; } .mt-auto, .my-auto { margin-top: auto !important; } .mr-auto, .mx-auto { margin-right: auto !important; } .mb-auto, .my-auto { margin-bottom: auto !important; } .ml-auto, .mx-auto { margin-left: auto !important; } @media (min-width: 576px) { .m-sm-0 { margin: 0 !important; } .mt-sm-0, .my-sm-0 { margin-top: 0 !important; } .mr-sm-0, .mx-sm-0 { margin-right: 0 !important; } .mb-sm-0, .my-sm-0 { margin-bottom: 0 !important; } .ml-sm-0, .mx-sm-0 { margin-left: 0 !important; } .m-sm-1 { margin: 0.25rem !important; } .mt-sm-1, .my-sm-1 { margin-top: 0.25rem !important; } .mr-sm-1, .mx-sm-1 { margin-right: 0.25rem !important; } .mb-sm-1, .my-sm-1 { margin-bottom: 0.25rem !important; } .ml-sm-1, .mx-sm-1 { margin-left: 0.25rem !important; } .m-sm-2 { margin: 0.5rem !important; } .mt-sm-2, .my-sm-2 { margin-top: 0.5rem !important; } .mr-sm-2, .mx-sm-2 { margin-right: 0.5rem !important; } .mb-sm-2, .my-sm-2 { margin-bottom: 0.5rem !important; } .ml-sm-2, .mx-sm-2 { margin-left: 0.5rem !important; } .m-sm-3 { margin: 1rem !important; } .mt-sm-3, .my-sm-3 { margin-top: 1rem !important; } .mr-sm-3, .mx-sm-3 { margin-right: 1rem !important; } .mb-sm-3, .my-sm-3 { margin-bottom: 1rem !important; } .ml-sm-3, .mx-sm-3 { margin-left: 1rem !important; } .m-sm-4 { margin: 1.5rem !important; } .mt-sm-4, .my-sm-4 { margin-top: 1.5rem !important; } .mr-sm-4, .mx-sm-4 { margin-right: 1.5rem !important; } .mb-sm-4, .my-sm-4 { margin-bottom: 1.5rem !important; } .ml-sm-4, .mx-sm-4 { margin-left: 1.5rem !important; } .m-sm-5 { margin: 3rem !important; } .mt-sm-5, .my-sm-5 { margin-top: 3rem !important; } .mr-sm-5, .mx-sm-5 { margin-right: 3rem !important; } .mb-sm-5, .my-sm-5 { margin-bottom: 3rem !important; } .ml-sm-5, .mx-sm-5 { margin-left: 3rem !important; } .p-sm-0 { padding: 0 !important; } .pt-sm-0, .py-sm-0 { padding-top: 0 !important; } .pr-sm-0, .px-sm-0 { padding-right: 0 !important; } .pb-sm-0, .py-sm-0 { padding-bottom: 0 !important; } .pl-sm-0, .px-sm-0 { padding-left: 0 !important; } .p-sm-1 { padding: 0.25rem !important; } .pt-sm-1, .py-sm-1 { padding-top: 0.25rem !important; } .pr-sm-1, .px-sm-1 { padding-right: 0.25rem !important; } .pb-sm-1, .py-sm-1 { padding-bottom: 0.25rem !important; } .pl-sm-1, .px-sm-1 { padding-left: 0.25rem !important; } .p-sm-2 { padding: 0.5rem !important; } .pt-sm-2, .py-sm-2 { padding-top: 0.5rem !important; } .pr-sm-2, .px-sm-2 { padding-right: 0.5rem !important; } .pb-sm-2, .py-sm-2 { padding-bottom: 0.5rem !important; } .pl-sm-2, .px-sm-2 { padding-left: 0.5rem !important; } .p-sm-3 { padding: 1rem !important; } .pt-sm-3, .py-sm-3 { padding-top: 1rem !important; } .pr-sm-3, .px-sm-3 { padding-right: 1rem !important; } .pb-sm-3, .py-sm-3 { padding-bottom: 1rem !important; } .pl-sm-3, .px-sm-3 { padding-left: 1rem !important; } .p-sm-4 { padding: 1.5rem !important; } .pt-sm-4, .py-sm-4 { padding-top: 1.5rem !important; } .pr-sm-4, .px-sm-4 { padding-right: 1.5rem !important; } .pb-sm-4, .py-sm-4 { padding-bottom: 1.5rem !important; } .pl-sm-4, .px-sm-4 { padding-left: 1.5rem !important; } .p-sm-5 { padding: 3rem !important; } .pt-sm-5, .py-sm-5 { padding-top: 3rem !important; } .pr-sm-5, .px-sm-5 { padding-right: 3rem !important; } .pb-sm-5, .py-sm-5 { padding-bottom: 3rem !important; } .pl-sm-5, .px-sm-5 { padding-left: 3rem !important; } .m-sm-n1 { margin: -0.25rem !important; } .mt-sm-n1, .my-sm-n1 { margin-top: -0.25rem !important; } .mr-sm-n1, .mx-sm-n1 { margin-right: -0.25rem !important; } .mb-sm-n1, .my-sm-n1 { margin-bottom: -0.25rem !important; } .ml-sm-n1, .mx-sm-n1 { margin-left: -0.25rem !important; } .m-sm-n2 { margin: -0.5rem !important; } .mt-sm-n2, .my-sm-n2 { margin-top: -0.5rem !important; } .mr-sm-n2, .mx-sm-n2 { margin-right: -0.5rem !important; } .mb-sm-n2, .my-sm-n2 { margin-bottom: -0.5rem !important; } .ml-sm-n2, .mx-sm-n2 { margin-left: -0.5rem !important; } .m-sm-n3 { margin: -1rem !important; } .mt-sm-n3, .my-sm-n3 { margin-top: -1rem !important; } .mr-sm-n3, .mx-sm-n3 { margin-right: -1rem !important; } .mb-sm-n3, .my-sm-n3 { margin-bottom: -1rem !important; } .ml-sm-n3, .mx-sm-n3 { margin-left: -1rem !important; } .m-sm-n4 { margin: -1.5rem !important; } .mt-sm-n4, .my-sm-n4 { margin-top: -1.5rem !important; } .mr-sm-n4, .mx-sm-n4 { margin-right: -1.5rem !important; } .mb-sm-n4, .my-sm-n4 { margin-bottom: -1.5rem !important; } .ml-sm-n4, .mx-sm-n4 { margin-left: -1.5rem !important; } .m-sm-n5 { margin: -3rem !important; } .mt-sm-n5, .my-sm-n5 { margin-top: -3rem !important; } .mr-sm-n5, .mx-sm-n5 { margin-right: -3rem !important; } .mb-sm-n5, .my-sm-n5 { margin-bottom: -3rem !important; } .ml-sm-n5, .mx-sm-n5 { margin-left: -3rem !important; } .m-sm-auto { margin: auto !important; } .mt-sm-auto, .my-sm-auto { margin-top: auto !important; } .mr-sm-auto, .mx-sm-auto { margin-right: auto !important; } .mb-sm-auto, .my-sm-auto { margin-bottom: auto !important; } .ml-sm-auto, .mx-sm-auto { margin-left: auto !important; } } @media (min-width: 768px) { .m-md-0 { margin: 0 !important; } .mt-md-0, .my-md-0 { margin-top: 0 !important; } .mr-md-0, .mx-md-0 { margin-right: 0 !important; } .mb-md-0, .my-md-0 { margin-bottom: 0 !important; } .ml-md-0, .mx-md-0 { margin-left: 0 !important; } .m-md-1 { margin: 0.25rem !important; } .mt-md-1, .my-md-1 { margin-top: 0.25rem !important; } .mr-md-1, .mx-md-1 { margin-right: 0.25rem !important; } .mb-md-1, .my-md-1 { margin-bottom: 0.25rem !important; } .ml-md-1, .mx-md-1 { margin-left: 0.25rem !important; } .m-md-2 { margin: 0.5rem !important; } .mt-md-2, .my-md-2 { margin-top: 0.5rem !important; } .mr-md-2, .mx-md-2 { margin-right: 0.5rem !important; } .mb-md-2, .my-md-2 { margin-bottom: 0.5rem !important; } .ml-md-2, .mx-md-2 { margin-left: 0.5rem !important; } .m-md-3 { margin: 1rem !important; } .mt-md-3, .my-md-3 { margin-top: 1rem !important; } .mr-md-3, .mx-md-3 { margin-right: 1rem !important; } .mb-md-3, .my-md-3 { margin-bottom: 1rem !important; } .ml-md-3, .mx-md-3 { margin-left: 1rem !important; } .m-md-4 { margin: 1.5rem !important; } .mt-md-4, .my-md-4 { margin-top: 1.5rem !important; } .mr-md-4, .mx-md-4 { margin-right: 1.5rem !important; } .mb-md-4, .my-md-4 { margin-bottom: 1.5rem !important; } .ml-md-4, .mx-md-4 { margin-left: 1.5rem !important; } .m-md-5 { margin: 3rem !important; } .mt-md-5, .my-md-5 { margin-top: 3rem !important; } .mr-md-5, .mx-md-5 { margin-right: 3rem !important; } .mb-md-5, .my-md-5 { margin-bottom: 3rem !important; } .ml-md-5, .mx-md-5 { margin-left: 3rem !important; } .p-md-0 { padding: 0 !important; } .pt-md-0, .py-md-0 { padding-top: 0 !important; } .pr-md-0, .px-md-0 { padding-right: 0 !important; } .pb-md-0, .py-md-0 { padding-bottom: 0 !important; } .pl-md-0, .px-md-0 { padding-left: 0 !important; } .p-md-1 { padding: 0.25rem !important; } .pt-md-1, .py-md-1 { padding-top: 0.25rem !important; } .pr-md-1, .px-md-1 { padding-right: 0.25rem !important; } .pb-md-1, .py-md-1 { padding-bottom: 0.25rem !important; } .pl-md-1, .px-md-1 { padding-left: 0.25rem !important; } .p-md-2 { padding: 0.5rem !important; } .pt-md-2, .py-md-2 { padding-top: 0.5rem !important; } .pr-md-2, .px-md-2 { padding-right: 0.5rem !important; } .pb-md-2, .py-md-2 { padding-bottom: 0.5rem !important; } .pl-md-2, .px-md-2 { padding-left: 0.5rem !important; } .p-md-3 { padding: 1rem !important; } .pt-md-3, .py-md-3 { padding-top: 1rem !important; } .pr-md-3, .px-md-3 { padding-right: 1rem !important; } .pb-md-3, .py-md-3 { padding-bottom: 1rem !important; } .pl-md-3, .px-md-3 { padding-left: 1rem !important; } .p-md-4 { padding: 1.5rem !important; } .pt-md-4, .py-md-4 { padding-top: 1.5rem !important; } .pr-md-4, .px-md-4 { padding-right: 1.5rem !important; } .pb-md-4, .py-md-4 { padding-bottom: 1.5rem !important; } .pl-md-4, .px-md-4 { padding-left: 1.5rem !important; } .p-md-5 { padding: 3rem !important; } .pt-md-5, .py-md-5 { padding-top: 3rem !important; } .pr-md-5, .px-md-5 { padding-right: 3rem !important; } .pb-md-5, .py-md-5 { padding-bottom: 3rem !important; } .pl-md-5, .px-md-5 { padding-left: 3rem !important; } .m-md-n1 { margin: -0.25rem !important; } .mt-md-n1, .my-md-n1 { margin-top: -0.25rem !important; } .mr-md-n1, .mx-md-n1 { margin-right: -0.25rem !important; } .mb-md-n1, .my-md-n1 { margin-bottom: -0.25rem !important; } .ml-md-n1, .mx-md-n1 { margin-left: -0.25rem !important; } .m-md-n2 { margin: -0.5rem !important; } .mt-md-n2, .my-md-n2 { margin-top: -0.5rem !important; } .mr-md-n2, .mx-md-n2 { margin-right: -0.5rem !important; } .mb-md-n2, .my-md-n2 { margin-bottom: -0.5rem !important; } .ml-md-n2, .mx-md-n2 { margin-left: -0.5rem !important; } .m-md-n3 { margin: -1rem !important; } .mt-md-n3, .my-md-n3 { margin-top: -1rem !important; } .mr-md-n3, .mx-md-n3 { margin-right: -1rem !important; } .mb-md-n3, .my-md-n3 { margin-bottom: -1rem !important; } .ml-md-n3, .mx-md-n3 { margin-left: -1rem !important; } .m-md-n4 { margin: -1.5rem !important; } .mt-md-n4, .my-md-n4 { margin-top: -1.5rem !important; } .mr-md-n4, .mx-md-n4 { margin-right: -1.5rem !important; } .mb-md-n4, .my-md-n4 { margin-bottom: -1.5rem !important; } .ml-md-n4, .mx-md-n4 { margin-left: -1.5rem !important; } .m-md-n5 { margin: -3rem !important; } .mt-md-n5, .my-md-n5 { margin-top: -3rem !important; } .mr-md-n5, .mx-md-n5 { margin-right: -3rem !important; } .mb-md-n5, .my-md-n5 { margin-bottom: -3rem !important; } .ml-md-n5, .mx-md-n5 { margin-left: -3rem !important; } .m-md-auto { margin: auto !important; } .mt-md-auto, .my-md-auto { margin-top: auto !important; } .mr-md-auto, .mx-md-auto { margin-right: auto !important; } .mb-md-auto, .my-md-auto { margin-bottom: auto !important; } .ml-md-auto, .mx-md-auto { margin-left: auto !important; } } @media (min-width: 992px) { .m-lg-0 { margin: 0 !important; } .mt-lg-0, .my-lg-0 { margin-top: 0 !important; } .mr-lg-0, .mx-lg-0 { margin-right: 0 !important; } .mb-lg-0, .my-lg-0 { margin-bottom: 0 !important; } .ml-lg-0, .mx-lg-0 { margin-left: 0 !important; } .m-lg-1 { margin: 0.25rem !important; } .mt-lg-1, .my-lg-1 { margin-top: 0.25rem !important; } .mr-lg-1, .mx-lg-1 { margin-right: 0.25rem !important; } .mb-lg-1, .my-lg-1 { margin-bottom: 0.25rem !important; } .ml-lg-1, .mx-lg-1 { margin-left: 0.25rem !important; } .m-lg-2 { margin: 0.5rem !important; } .mt-lg-2, .my-lg-2 { margin-top: 0.5rem !important; } .mr-lg-2, .mx-lg-2 { margin-right: 0.5rem !important; } .mb-lg-2, .my-lg-2 { margin-bottom: 0.5rem !important; } .ml-lg-2, .mx-lg-2 { margin-left: 0.5rem !important; } .m-lg-3 { margin: 1rem !important; } .mt-lg-3, .my-lg-3 { margin-top: 1rem !important; } .mr-lg-3, .mx-lg-3 { margin-right: 1rem !important; } .mb-lg-3, .my-lg-3 { margin-bottom: 1rem !important; } .ml-lg-3, .mx-lg-3 { margin-left: 1rem !important; } .m-lg-4 { margin: 1.5rem !important; } .mt-lg-4, .my-lg-4 { margin-top: 1.5rem !important; } .mr-lg-4, .mx-lg-4 { margin-right: 1.5rem !important; } .mb-lg-4, .my-lg-4 { margin-bottom: 1.5rem !important; } .ml-lg-4, .mx-lg-4 { margin-left: 1.5rem !important; } .m-lg-5 { margin: 3rem !important; } .mt-lg-5, .my-lg-5 { margin-top: 3rem !important; } .mr-lg-5, .mx-lg-5 { margin-right: 3rem !important; } .mb-lg-5, .my-lg-5 { margin-bottom: 3rem !important; } .ml-lg-5, .mx-lg-5 { margin-left: 3rem !important; } .p-lg-0 { padding: 0 !important; } .pt-lg-0, .py-lg-0 { padding-top: 0 !important; } .pr-lg-0, .px-lg-0 { padding-right: 0 !important; } .pb-lg-0, .py-lg-0 { padding-bottom: 0 !important; } .pl-lg-0, .px-lg-0 { padding-left: 0 !important; } .p-lg-1 { padding: 0.25rem !important; } .pt-lg-1, .py-lg-1 { padding-top: 0.25rem !important; } .pr-lg-1, .px-lg-1 { padding-right: 0.25rem !important; } .pb-lg-1, .py-lg-1 { padding-bottom: 0.25rem !important; } .pl-lg-1, .px-lg-1 { padding-left: 0.25rem !important; } .p-lg-2 { padding: 0.5rem !important; } .pt-lg-2, .py-lg-2 { padding-top: 0.5rem !important; } .pr-lg-2, .px-lg-2 { padding-right: 0.5rem !important; } .pb-lg-2, .py-lg-2 { padding-bottom: 0.5rem !important; } .pl-lg-2, .px-lg-2 { padding-left: 0.5rem !important; } .p-lg-3 { padding: 1rem !important; } .pt-lg-3, .py-lg-3 { padding-top: 1rem !important; } .pr-lg-3, .px-lg-3 { padding-right: 1rem !important; } .pb-lg-3, .py-lg-3 { padding-bottom: 1rem !important; } .pl-lg-3, .px-lg-3 { padding-left: 1rem !important; } .p-lg-4 { padding: 1.5rem !important; } .pt-lg-4, .py-lg-4 { padding-top: 1.5rem !important; } .pr-lg-4, .px-lg-4 { padding-right: 1.5rem !important; } .pb-lg-4, .py-lg-4 { padding-bottom: 1.5rem !important; } .pl-lg-4, .px-lg-4 { padding-left: 1.5rem !important; } .p-lg-5 { padding: 3rem !important; } .pt-lg-5, .py-lg-5 { padding-top: 3rem !important; } .pr-lg-5, .px-lg-5 { padding-right: 3rem !important; } .pb-lg-5, .py-lg-5 { padding-bottom: 3rem !important; } .pl-lg-5, .px-lg-5 { padding-left: 3rem !important; } .m-lg-n1 { margin: -0.25rem !important; } .mt-lg-n1, .my-lg-n1 { margin-top: -0.25rem !important; } .mr-lg-n1, .mx-lg-n1 { margin-right: -0.25rem !important; } .mb-lg-n1, .my-lg-n1 { margin-bottom: -0.25rem !important; } .ml-lg-n1, .mx-lg-n1 { margin-left: -0.25rem !important; } .m-lg-n2 { margin: -0.5rem !important; } .mt-lg-n2, .my-lg-n2 { margin-top: -0.5rem !important; } .mr-lg-n2, .mx-lg-n2 { margin-right: -0.5rem !important; } .mb-lg-n2, .my-lg-n2 { margin-bottom: -0.5rem !important; } .ml-lg-n2, .mx-lg-n2 { margin-left: -0.5rem !important; } .m-lg-n3 { margin: -1rem !important; } .mt-lg-n3, .my-lg-n3 { margin-top: -1rem !important; } .mr-lg-n3, .mx-lg-n3 { margin-right: -1rem !important; } .mb-lg-n3, .my-lg-n3 { margin-bottom: -1rem !important; } .ml-lg-n3, .mx-lg-n3 { margin-left: -1rem !important; } .m-lg-n4 { margin: -1.5rem !important; } .mt-lg-n4, .my-lg-n4 { margin-top: -1.5rem !important; } .mr-lg-n4, .mx-lg-n4 { margin-right: -1.5rem !important; } .mb-lg-n4, .my-lg-n4 { margin-bottom: -1.5rem !important; } .ml-lg-n4, .mx-lg-n4 { margin-left: -1.5rem !important; } .m-lg-n5 { margin: -3rem !important; } .mt-lg-n5, .my-lg-n5 { margin-top: -3rem !important; } .mr-lg-n5, .mx-lg-n5 { margin-right: -3rem !important; } .mb-lg-n5, .my-lg-n5 { margin-bottom: -3rem !important; } .ml-lg-n5, .mx-lg-n5 { margin-left: -3rem !important; } .m-lg-auto { margin: auto !important; } .mt-lg-auto, .my-lg-auto { margin-top: auto !important; } .mr-lg-auto, .mx-lg-auto { margin-right: auto !important; } .mb-lg-auto, .my-lg-auto { margin-bottom: auto !important; } .ml-lg-auto, .mx-lg-auto { margin-left: auto !important; } } @media (min-width: 1200px) { .m-xl-0 { margin: 0 !important; } .mt-xl-0, .my-xl-0 { margin-top: 0 !important; } .mr-xl-0, .mx-xl-0 { margin-right: 0 !important; } .mb-xl-0, .my-xl-0 { margin-bottom: 0 !important; } .ml-xl-0, .mx-xl-0 { margin-left: 0 !important; } .m-xl-1 { margin: 0.25rem !important; } .mt-xl-1, .my-xl-1 { margin-top: 0.25rem !important; } .mr-xl-1, .mx-xl-1 { margin-right: 0.25rem !important; } .mb-xl-1, .my-xl-1 { margin-bottom: 0.25rem !important; } .ml-xl-1, .mx-xl-1 { margin-left: 0.25rem !important; } .m-xl-2 { margin: 0.5rem !important; } .mt-xl-2, .my-xl-2 { margin-top: 0.5rem !important; } .mr-xl-2, .mx-xl-2 { margin-right: 0.5rem !important; } .mb-xl-2, .my-xl-2 { margin-bottom: 0.5rem !important; } .ml-xl-2, .mx-xl-2 { margin-left: 0.5rem !important; } .m-xl-3 { margin: 1rem !important; } .mt-xl-3, .my-xl-3 { margin-top: 1rem !important; } .mr-xl-3, .mx-xl-3 { margin-right: 1rem !important; } .mb-xl-3, .my-xl-3 { margin-bottom: 1rem !important; } .ml-xl-3, .mx-xl-3 { margin-left: 1rem !important; } .m-xl-4 { margin: 1.5rem !important; } .mt-xl-4, .my-xl-4 { margin-top: 1.5rem !important; } .mr-xl-4, .mx-xl-4 { margin-right: 1.5rem !important; } .mb-xl-4, .my-xl-4 { margin-bottom: 1.5rem !important; } .ml-xl-4, .mx-xl-4 { margin-left: 1.5rem !important; } .m-xl-5 { margin: 3rem !important; } .mt-xl-5, .my-xl-5 { margin-top: 3rem !important; } .mr-xl-5, .mx-xl-5 { margin-right: 3rem !important; } .mb-xl-5, .my-xl-5 { margin-bottom: 3rem !important; } .ml-xl-5, .mx-xl-5 { margin-left: 3rem !important; } .p-xl-0 { padding: 0 !important; } .pt-xl-0, .py-xl-0 { padding-top: 0 !important; } .pr-xl-0, .px-xl-0 { padding-right: 0 !important; } .pb-xl-0, .py-xl-0 { padding-bottom: 0 !important; } .pl-xl-0, .px-xl-0 { padding-left: 0 !important; } .p-xl-1 { padding: 0.25rem !important; } .pt-xl-1, .py-xl-1 { padding-top: 0.25rem !important; } .pr-xl-1, .px-xl-1 { padding-right: 0.25rem !important; } .pb-xl-1, .py-xl-1 { padding-bottom: 0.25rem !important; } .pl-xl-1, .px-xl-1 { padding-left: 0.25rem !important; } .p-xl-2 { padding: 0.5rem !important; } .pt-xl-2, .py-xl-2 { padding-top: 0.5rem !important; } .pr-xl-2, .px-xl-2 { padding-right: 0.5rem !important; } .pb-xl-2, .py-xl-2 { padding-bottom: 0.5rem !important; } .pl-xl-2, .px-xl-2 { padding-left: 0.5rem !important; } .p-xl-3 { padding: 1rem !important; } .pt-xl-3, .py-xl-3 { padding-top: 1rem !important; } .pr-xl-3, .px-xl-3 { padding-right: 1rem !important; } .pb-xl-3, .py-xl-3 { padding-bottom: 1rem !important; } .pl-xl-3, .px-xl-3 { padding-left: 1rem !important; } .p-xl-4 { padding: 1.5rem !important; } .pt-xl-4, .py-xl-4 { padding-top: 1.5rem !important; } .pr-xl-4, .px-xl-4 { padding-right: 1.5rem !important; } .pb-xl-4, .py-xl-4 { padding-bottom: 1.5rem !important; } .pl-xl-4, .px-xl-4 { padding-left: 1.5rem !important; } .p-xl-5 { padding: 3rem !important; } .pt-xl-5, .py-xl-5 { padding-top: 3rem !important; } .pr-xl-5, .px-xl-5 { padding-right: 3rem !important; } .pb-xl-5, .py-xl-5 { padding-bottom: 3rem !important; } .pl-xl-5, .px-xl-5 { padding-left: 3rem !important; } .m-xl-n1 { margin: -0.25rem !important; } .mt-xl-n1, .my-xl-n1 { margin-top: -0.25rem !important; } .mr-xl-n1, .mx-xl-n1 { margin-right: -0.25rem !important; } .mb-xl-n1, .my-xl-n1 { margin-bottom: -0.25rem !important; } .ml-xl-n1, .mx-xl-n1 { margin-left: -0.25rem !important; } .m-xl-n2 { margin: -0.5rem !important; } .mt-xl-n2, .my-xl-n2 { margin-top: -0.5rem !important; } .mr-xl-n2, .mx-xl-n2 { margin-right: -0.5rem !important; } .mb-xl-n2, .my-xl-n2 { margin-bottom: -0.5rem !important; } .ml-xl-n2, .mx-xl-n2 { margin-left: -0.5rem !important; } .m-xl-n3 { margin: -1rem !important; } .mt-xl-n3, .my-xl-n3 { margin-top: -1rem !important; } .mr-xl-n3, .mx-xl-n3 { margin-right: -1rem !important; } .mb-xl-n3, .my-xl-n3 { margin-bottom: -1rem !important; } .ml-xl-n3, .mx-xl-n3 { margin-left: -1rem !important; } .m-xl-n4 { margin: -1.5rem !important; } .mt-xl-n4, .my-xl-n4 { margin-top: -1.5rem !important; } .mr-xl-n4, .mx-xl-n4 { margin-right: -1.5rem !important; } .mb-xl-n4, .my-xl-n4 { margin-bottom: -1.5rem !important; } .ml-xl-n4, .mx-xl-n4 { margin-left: -1.5rem !important; } .m-xl-n5 { margin: -3rem !important; } .mt-xl-n5, .my-xl-n5 { margin-top: -3rem !important; } .mr-xl-n5, .mx-xl-n5 { margin-right: -3rem !important; } .mb-xl-n5, .my-xl-n5 { margin-bottom: -3rem !important; } .ml-xl-n5, .mx-xl-n5 { margin-left: -3rem !important; } .m-xl-auto { margin: auto !important; } .mt-xl-auto, .my-xl-auto { margin-top: auto !important; } .mr-xl-auto, .mx-xl-auto { margin-right: auto !important; } .mb-xl-auto, .my-xl-auto { margin-bottom: auto !important; } .ml-xl-auto, .mx-xl-auto { margin-left: auto !important; } } .stretched-link::after { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; pointer-events: auto; content: ""; background-color: rgba(0, 0, 0, 0); } .text-monospace { font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; } .text-justify { text-align: justify !important; } .text-wrap { white-space: normal !important; } .text-nowrap { white-space: nowrap !important; } .text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .text-left { text-align: left !important; } .text-right { text-align: right !important; } .text-center { text-align: center !important; } @media (min-width: 576px) { .text-sm-left { text-align: left !important; } .text-sm-right { text-align: right !important; } .text-sm-center { text-align: center !important; } } @media (min-width: 768px) { .text-md-left { text-align: left !important; } .text-md-right { text-align: right !important; } .text-md-center { text-align: center !important; } } @media (min-width: 992px) { .text-lg-left { text-align: left !important; } .text-lg-right { text-align: right !important; } .text-lg-center { text-align: center !important; } } @media (min-width: 1200px) { .text-xl-left { text-align: left !important; } .text-xl-right { text-align: right !important; } .text-xl-center { text-align: center !important; } } .text-lowercase { text-transform: lowercase !important; } .text-uppercase { text-transform: uppercase !important; } .text-capitalize { text-transform: capitalize !important; } .font-weight-light { font-weight: 300 !important; } .font-weight-lighter { font-weight: lighter !important; } .font-weight-normal { font-weight: 400 !important; } .font-weight-bold { font-weight: 700 !important; } .font-weight-bolder { font-weight: bolder !important; } .font-italic { font-style: italic !important; } .text-white { color: #ffffff !important; } .text-primary { color: #1bdbe0 !important; } a.text-primary:hover, a.text-primary:focus { color: #13989c !important; } .text-secondary { color: #d8d8d8 !important; } a.text-secondary:hover, a.text-secondary:focus { color: #b2b2b2 !important; } .text-success { color: #38ce3c !important; } a.text-success:hover, a.text-success:focus { color: #259528 !important; } .text-info { color: #8e32e9 !important; } a.text-info:hover, a.text-info:focus { color: #6814ba !important; } .text-warning { color: #ffde73 !important; } a.text-warning:hover, a.text-warning:focus { color: #ffcc27 !important; } .text-danger { color: #ff4d6b !important; } a.text-danger:hover, a.text-danger:focus { color: #ff012b !important; } .text-light { color: #f8f9fa !important; } a.text-light:hover, a.text-light:focus { color: #cbd3da !important; } .text-dark { color: #3e4b5b !important; } a.text-dark:hover, a.text-dark:focus { color: #1f262e !important; } .text-body { color: #343a40 !important; } .text-muted, .preview-list .preview-item .preview-item-content p .content-category { color: #9c9fa6 !important; } .text-black-50 { color: rgba(0, 0, 0, 0.5) !important; } .text-white-50 { color: rgba(255, 255, 255, 0.5) !important; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .text-decoration-none { text-decoration: none !important; } .text-break { word-break: break-word !important; word-wrap: break-word !important; } .text-reset { color: inherit !important; } .visible { visibility: visible !important; } .invisible { visibility: hidden !important; } @media print { *, *::before, *::after { text-shadow: none !important; -webkit-box-shadow: none !important; box-shadow: none !important; } a:not(.btn) { text-decoration: underline; } abbr[title]::after { content: " (" attr(title) ")"; } pre { white-space: pre-wrap !important; } pre, blockquote { border: 1px solid #adb5bd; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } @page { size: a3; } body { min-width: 992px !important; } .container { min-width: 992px !important; } .navbar { display: none; } .badge { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #ffffff !important; } .table-bordered th, .table-bordered td { border: 1px solid #dee2e6 !important; } .table-dark { color: inherit; } .table-dark th, .table-dark td, .table-dark thead th, .table-dark tbody + tbody { border-color: #e8ecf1; } .table .thead-dark th { color: inherit; border-color: #e8ecf1; } } /*-------------------------------------------------------------------*/ /* === Template mixins === */ /* Miscellaneous Mixins */ /* Animation Mixins */ @-webkit-keyframes dropdownAnimation { from { opacity: 0; -webkit-transform: translate3d(0, -30px, 0); transform: translate3d(0, -30px, 0); } to { opacity: 1; -webkit-transform: none; transform: none; -webkit-transform: translate3d(0, 0px, 0); transform: translate3d(0, 0px, 0); } } @keyframes dropdownAnimation { from { opacity: 0; -webkit-transform: translate3d(0, -30px, 0); transform: translate3d(0, -30px, 0); } to { opacity: 1; -webkit-transform: none; transform: none; -webkit-transform: translate3d(0, 0px, 0); transform: translate3d(0, 0px, 0); } } .dropdownAnimation, .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .dropdown-menu { -webkit-animation-name: dropdownAnimation; animation-name: dropdownAnimation; -webkit-animation-duration: 0.25s; animation-duration: 0.25s; -webkit-animation-fill-mode: both; animation-fill-mode: both; } @keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } } .fadeOut { -webkit-animation-name: fadeOut; animation-name: fadeOut; } .infinite-spin { -webkit-animation-name: spin; animation-name: spin; -webkit-animation-duration: 3s; animation-duration: 3s; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-timing-function: linear; animation-timing-function: linear; } @-webkit-keyframes spin { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spin { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes fadeInUp { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInUp { -webkit-animation-name: fadeInUp; animation-name: fadeInUp; } /*-------------------------------------------------------------------*/ /* === Core Styles === */ /* Reset Styles */ body { padding: 0; margin: 0; overflow-x: hidden; } .form-control, .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--single .select2-search__field, .typeahead, .tt-query, .tt-hint, .form-control:focus, .select2-container--default .select2-selection--single:focus, .select2-container--default .select2-selection--single .select2-search__field:focus, .typeahead:focus, .tt-query:focus, .tt-hint:focus { -webkit-box-shadow: none; -moz-box-shadow: none; } .form-control, .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--single .select2-search__field, .typeahead, .tt-query, .tt-hint { -webkit-box-shadow: none; box-shadow: none; } .form-control:focus, .select2-container--default .select2-selection--single:focus, .select2-container--default .select2-selection--single .select2-search__field:focus, .typeahead:focus, .tt-query:focus, .tt-hint:focus { outline: 0; -webkit-box-shadow: none; box-shadow: none; } a, div, h1, h2, h3, h4, h5, p, span { text-shadow: none; } [type=button]:focus, a:active, a:focus, a:visited, button::-moz-focus-inner, input[type=reset]::-moz-focus-inner, input[type=button]::-moz-focus-inner, input[type=submit]::-moz-focus-inner, input[type=file] > input[type=button]::-moz-focus-inner, select::-moz-focus-inner { outline: 0; } input, .form-control:focus, .select2-container--default .select2-selection--single:focus, .select2-container--default .select2-selection--single .select2-search__field:focus, .typeahead:focus, .tt-query:focus, .tt-hint:focus, input:focus, select:focus, textarea:focus, button:focus { outline: none; outline-width: 0; outline-color: transparent; -webkit-box-shadow: none; box-shadow: none; outline-style: none; } textarea { resize: none; overflow-x: hidden; } .btn, .btn-group.open .dropdown-toggle, .btn:active, .btn:focus, .btn:hover, .btn:visited, a, a:active, a:checked, a:focus, a:hover, a:visited, body, button, button:active, button:hover, button:visited, div, input, input:active, input:focus, input:hover, input:visited, select, select:active, select:focus, select:visited, textarea, textarea:active, textarea:focus, textarea:hover, textarea:visited { -webkit-box-shadow: none; box-shadow: none; } .btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus, button, button:active, button:checked, button:focus, button:hover, button:visited { outline: 0; outline-offset: 0; } .bootstrap-select .dropdown-toggle:focus { outline: 0; outline-offset: 0; } .dropdown-menu > li > a:active, .dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover, .dropdown-menu > li > a:visited { outline: 0; } a:focus, input:focus { border-color: transparent; outline: none; } /* Typography */ body { font-size: 1rem; font-family: "Open Sans", sans-serif; font-weight: initial; line-height: normal; -webkit-font-smoothing: antialiased; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: "Open Sans", sans-serif; font-weight: 600; } p { font-size: 0.875rem; } h1, .h1 { font-size: 2.19rem; } h2, .h2 { font-size: 1.88rem; } h3, .h3 { font-size: 1.56rem; } h4, .h4 { font-size: 1.13rem; } h5, .h5 { font-size: 1rem; } h6, .h6 { font-size: .9375rem; } p { font-size: .9375rem; line-height: 1.5; } .display-1 { font-size: 3.75rem; } @media (max-width: 991px) { .display-1 { font-size: 3rem; } } .display-2 { font-size: 3.125rem; } @media (max-width: 991px) { .display-2 { font-size: 2.5rem; } } .display-3 { font-size: 2.5rem; } @media (max-width: 991px) { .display-3 { font-size: 2rem; } } .display-4 { font-size: 1.875rem; } @media (max-width: 991px) { .display-4 { font-size: 1.5rem; } } .display-5 { font-size: 1.25rem; } @media (max-width: 991px) { .display-5 { font-size: 1rem; } } .blockquote { padding: 1.25rem; border: 1px solid #e8ecf1; } address p { margin-bottom: 0; } .blockquote-primary { border-color: #1bdbe0; } .blockquote-primary .blockquote-footer { color: #1bdbe0; } .blockquote-secondary { border-color: #d8d8d8; } .blockquote-secondary .blockquote-footer { color: #d8d8d8; } .blockquote-success { border-color: #38ce3c; } .blockquote-success .blockquote-footer { color: #38ce3c; } .blockquote-info { border-color: #8e32e9; } .blockquote-info .blockquote-footer { color: #8e32e9; } .blockquote-warning { border-color: #ffde73; } .blockquote-warning .blockquote-footer { color: #ffde73; } .blockquote-danger { border-color: #ff4d6b; } .blockquote-danger .blockquote-footer { color: #ff4d6b; } .blockquote-light { border-color: #f8f9fa; } .blockquote-light .blockquote-footer { color: #f8f9fa; } .blockquote-dark { border-color: #3e4b5b; } .blockquote-dark .blockquote-footer { color: #3e4b5b; } .error-page h1 { font-size: 12rem; } @media (max-width: 991px) { .error-page h1 { font-size: 8rem; } } .icon-lg { font-size: 3.438rem; } .icon-md { font-size: 1.875rem; } .icon-sm { font-size: 1rem; } /* Miscellanoeous */ body, html { overflow-x: hidden; padding-right: 0 !important; } *:-moz-full-screen, *:-webkit-full-screen, *:fullscreen *:-ms-fullscreen { overflow: auto; } .container-scroller { overflow: hidden; } pre { background: #e8eff4; padding: 15px; font-size: 14px; } code { padding: 5px; color: #ff4d6b; font-family: "Open Sans", sans-serif; font-weight: 300; font-size: 0.875rem; border-radius: 4px; } .page-header { margin: 0 0 1.5rem 0; } .page-header .breadcrumb { border: 0; margin-bottom: 0; } .page-title { color: #343a40; font-size: 1.125rem; margin-bottom: 0; } .page-title .page-title-icon { display: inline-block; width: 36px; height: 36px; border-radius: 4px; text-align: center; -webkit-box-shadow: 0px 3px 8.3px 0.7px rgba(163, 93, 255, 0.35); box-shadow: 0px 3px 8.3px 0.7px rgba(163, 93, 255, 0.35); } .page-title .page-title-icon i { font-size: .9375rem; line-height: 36px; } /* Footer */ .footer { background: #ecf0f4; padding: 0 1.5rem 1.5rem; transition: all 0.25s ease; -moz-transition: all 0.25s ease; -webkit-transition: all 0.25s ease; -ms-transition: all 0.25s ease; font-size: calc(0.875rem - 0.05rem); font-family: "Open Sans", sans-serif; } .footer a { color: #38ce3c; font-size: inherit; } @media (max-width: 991px) { .footer { margin-left: 0; width: 100%; } } /* Utilities */ .grid-margin { margin-bottom: 25px; } @media (min-width: 576px) { .grid-margin-sm-0 { margin-bottom: 0; } } @media (min-width: 768px) { .grid-margin-md-0 { margin-bottom: 0; } } @media (min-width: 992px) { .grid-margin-lg-0 { margin-bottom: 0; } } @media (min-width: 1200px) { .grid-margin-xl-0 { margin-bottom: 0; } } .img-lg { width: 92px; height: 92px; } .img-sm { width: 43px; height: 43px; } .img-xs { width: 37px; height: 37px; } .img-ss { width: 26px; height: 26px; } .stretch-card { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; -webkit-box-pack: stretch; -ms-flex-pack: stretch; justify-content: stretch; } .stretch-card > .card { width: 100%; min-width: 100%; } @media (min-width: 576px) { .border-right-sm { border-right: 1px solid #e8ecf1; } } @media (min-width: 768px) { .border-right-md { border-right: 1px solid #e8ecf1; } } @media (min-width: 992px) { .border-right-lg { border-right: 1px solid #e8ecf1; } } @media (min-width: 576px) { .border-left-sm { border-left: 1px solid #e8ecf1; } } @media (min-width: 768px) { .border-left-md { border-left: 1px solid #e8ecf1; } } @media (min-width: 992px) { .border-left-lg { border-left: 1px solid #e8ecf1; } } .text-gray, .card .card-subtitle { color: #8c8c8c; } .text-black { color: #000; } .text-small { font-size: 12px; } .flex-grow { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .font-weight-light { font-family: "Open Sans", sans-serif; font-weight: 300; } .font-weight-medium { font-family: "Open Sans", sans-serif; font-weight: 600; } .font-weight-semibold { font-family: "Open Sans", sans-serif; font-weight: 700; } .font-weight-bold { font-family: "Open Sans", sans-serif; font-weight: bold; } .font-weight-normal { font-family: "Open Sans", sans-serif; font-weight: 400; } /* Demo Styles */ .template-demo .slider-wrap { height: 100px; } .template-demo .progress { margin-top: 1.5rem; } .template-demo > h2, .template-demo > h3, .template-demo > h4, .template-demo > h5, .template-demo > h6, .template-demo > h1 { border-top: 1px solid #e8ecf1; padding: 0.5rem 0 0; } .template-demo .ul-slider.noUi-horizontal { margin-top: 2rem; } .template-demo .ul-slider.noUi-vertical { margin-right: 2rem; } .template-demo > .dropdown { display: inline-block; margin-bottom: 0.5rem; } .template-demo nav .breadcrumb { margin-bottom: 1.375rem; } .template-demo nav:last-child .breadcrumb { margin-bottom: 0; } .template-demo .editable-form > .form-group { border-bottom: 1px solid #e8ecf1; padding-bottom: 0.8rem; margin-bottom: 0.8rem; } .template-demo .circle-progress { padding: 15px; } .demo-modal { position: static; display: block; } .demo-modal .modal-dialog.modal-lg { max-width: 100%; } .loader-demo-box { width: 100%; height: 200px; } .dropdown-menu-static-demo { height: 250px; margin-bottom: 20px; } .rounded-legend ul li { list-style-type: none; color: #9c9fa6; font-size: .75rem; } .rounded-legend ul li .legend-dots { width: 1rem; height: 1rem; border-radius: 100%; display: inline-block; vertical-align: text-bottom; margin-right: .5rem; } .rtl .rounded-legend ul li .legend-dots { margin-left: .5rem; } .rounded-legend.legend-horizontal { display: -webkit-box; display: -ms-flexbox; display: flex; } .rounded-legend.legend-horizontal ul li { display: inline-block; margin-right: 1.5rem; } .rtl .rounded-legend.legend-horizontal ul li { margin-right: auto; margin-left: 1.5rem; } .rounded-legend.legend-top-right ul { float: right; } .rtl .rounded-legend.legend-top-right ul { float: left; } .rounded-legend.legend-vertical ul li { margin-top: 1rem; } /*-------------------------------------------------------------------*/ /* === Components === */ /* Buttons */ .btn { font-size: 0.875rem; line-height: 1; font-family: "Open Sans", sans-serif; font-weight: 600; /* Buttons with only icons */ /* Buttons with icon and text */ } .btn i { font-size: 1rem; } .btn.btn-rounded { border-radius: 50px; } .btn.btn-fw { min-width: 150px; } .btn.btn-sm, .btn-group-sm > .btn { font-size: 0.875rem; } .btn.btn-lg, .btn-group-lg > .btn { font-size: 0.875rem; } .btn.btn-xs { padding: 0.5rem 0.75rem; font-size: 0.625rem; } .btn.btn-icon { width: 42px; height: 42px; padding: 0; } .btn.btn-icon-text .btn-icon-prepend { margin-right: .5rem; } .btn.btn-icon-text .btn-icon-append { margin-left: .5rem; } .btn.btn-social-icon { width: 50px; height: 50px; padding: 0; } .btn.btn-no-hover-bg:hover, .btn.btn-no-hover-bg:focus, .btn.btn-no-hover-bg:active { background: transparent; color: currentColor; } .btn-group .btn + .btn { border-left: 0; } /*social buttons*/ .btn-twitter { background: #2caae1; color: #ffffff; } .btn-twitter:hover, .btn-twitter:focus { background: #1b8dbf; color: #ffffff; } .btn-twitter.btn-social-icon-text { padding: 0 1.5rem 0 0; background: #59bce7; } .btn-twitter.btn-social-icon-text i { background: #2caae1; padding: .75rem; display: inline-block; margin-right: 1.5rem; } .btn-outline-twitter { border: 1px solid #2caae1; color: #2caae1; } .btn-outline-twitter:hover { background: #2caae1; color: #ffffff; } .btn-facebook { background: #3b579d; color: #ffffff; } .btn-facebook:hover, .btn-facebook:focus { background: #2d4278; color: #ffffff; } .btn-facebook.btn-social-icon-text { padding: 0 1.5rem 0 0; background: #4e6ebd; } .btn-facebook.btn-social-icon-text i { background: #3b579d; padding: .75rem; display: inline-block; margin-right: 1.5rem; } .btn-outline-facebook { border: 1px solid #3b579d; color: #3b579d; } .btn-outline-facebook:hover { background: #3b579d; color: #ffffff; } .btn-google { background: #dc4a38; color: #ffffff; } .btn-google:hover, .btn-google:focus { background: #bf3322; color: #ffffff; } .btn-google.btn-social-icon-text { padding: 0 1.5rem 0 0; background: #e47163; } .btn-google.btn-social-icon-text i { background: #dc4a38; padding: .75rem; display: inline-block; margin-right: 1.5rem; } .btn-outline-google { border: 1px solid #dc4a38; color: #dc4a38; } .btn-outline-google:hover { background: #dc4a38; color: #ffffff; } .btn-linkedin { background: #0177b5; color: #ffffff; } .btn-linkedin:hover, .btn-linkedin:focus { background: #015682; color: #ffffff; } .btn-linkedin.btn-social-icon-text { padding: 0 1.5rem 0 0; background: #0198e8; } .btn-linkedin.btn-social-icon-text i { background: #0177b5; padding: .75rem; display: inline-block; margin-right: 1.5rem; } .btn-outline-linkedin { border: 1px solid #0177b5; color: #0177b5; } .btn-outline-linkedin:hover { background: #0177b5; color: #ffffff; } .btn-pinterest { background: #cc2127; color: #ffffff; } .btn-pinterest:hover, .btn-pinterest:focus { background: #a01a1f; color: #ffffff; } .btn-pinterest.btn-social-icon-text { padding: 0 1.5rem 0 0; background: #e04046; } .btn-pinterest.btn-social-icon-text i { background: #cc2127; padding: .75rem; display: inline-block; margin-right: 1.5rem; } .btn-outline-pinterest { border: 1px solid #cc2127; color: #cc2127; } .btn-outline-pinterest:hover { background: #cc2127; color: #ffffff; } .btn-youtube { background: #e52d27; color: #ffffff; } .btn-youtube:hover, .btn-youtube:focus { background: #c21d17; color: #ffffff; } .btn-youtube.btn-social-icon-text { padding: 0 1.5rem 0 0; background: #ea5955; } .btn-youtube.btn-social-icon-text i { background: #e52d27; padding: .75rem; display: inline-block; margin-right: 1.5rem; } .btn-outline-youtube { border: 1px solid #e52d27; color: #e52d27; } .btn-outline-youtube:hover { background: #e52d27; color: #ffffff; } .btn-github { background: #333333; color: #ffffff; } .btn-github:hover, .btn-github:focus { background: #1a1a1a; color: #ffffff; } .btn-github.btn-social-icon-text { padding: 0 1.5rem 0 0; background: #4d4d4d; } .btn-github.btn-social-icon-text i { background: #333333; padding: .75rem; display: inline-block; margin-right: 1.5rem; } .btn-outline-github { border: 1px solid #333333; color: #333333; } .btn-outline-github:hover { background: #333333; color: #ffffff; } .btn-behance { background: #1769ff; color: #ffffff; } .btn-behance:hover, .btn-behance:focus { background: #0050e3; color: #ffffff; } .btn-behance.btn-social-icon-text { padding: 0 1.5rem 0 0; background: #4a8aff; } .btn-behance.btn-social-icon-text i { background: #1769ff; padding: .75rem; display: inline-block; margin-right: 1.5rem; } .btn-outline-behance { border: 1px solid #1769ff; color: #1769ff; } .btn-outline-behance:hover { background: #1769ff; color: #ffffff; } .btn-dribbble { background: #ea4c89; color: #ffffff; } .btn-dribbble:hover, .btn-dribbble:focus { background: #e51e6b; color: #ffffff; } .btn-dribbble.btn-social-icon-text { padding: 0 1.5rem 0 0; background: #ef7aa7; } .btn-dribbble.btn-social-icon-text i { background: #ea4c89; padding: .75rem; display: inline-block; margin-right: 1.5rem; } .btn-outline-dribbble { border: 1px solid #ea4c89; color: #ea4c89; } .btn-outline-dribbble:hover { background: #ea4c89; color: #ffffff; } .btn-reddit { background: #ff4500; color: #ffffff; } .btn-reddit:hover, .btn-reddit:focus { background: #cc3700; color: #ffffff; } .btn-reddit.btn-social-icon-text { padding: 0 1.5rem 0 0; background: #ff6a33; } .btn-reddit.btn-social-icon-text i { background: #ff4500; padding: .75rem; display: inline-block; margin-right: 1.5rem; } .btn-outline-reddit { border: 1px solid #ff4500; color: #ff4500; } .btn-outline-reddit:hover { background: #ff4500; color: #ffffff; } /* inverse buttons */ .btn-inverse-primary { background-color: rgba(27, 219, 224, 0.2); background-image: none; border-color: rgba(27, 219, 224, 0); } .btn-inverse-primary:not(.btn-inverse-light) { color: #1bdbe0; } .btn-inverse-primary:hover { color: #ffffff; background-color: #1bdbe0; border-color: #1bdbe0; } .btn-inverse-primary.focus, .btn-inverse-primary:focus { -webkit-box-shadow: 0 0 0 3px rgba(27, 219, 224, 0.5); box-shadow: 0 0 0 3px rgba(27, 219, 224, 0.5); } .btn-inverse-primary.disabled, .btn-inverse-primary:disabled { color: #1bdbe0; background-color: transparent; } .btn-inverse-primary.active, .btn-inverse-primary:active, .show > .btn-inverse-primary.dropdown-toggle { color: #ffffff; background-color: #1bdbe0; border-color: #1bdbe0; } .btn-primary:not(.btn-light) { color: #ffffff; } .btn-primary:not(.btn-light):hover, .btn-primary:not(.btn-light):focus, .btn-primary:not(.btn-light):active { color: #ffffff; } .btn-primary:not(.btn-light):focus, .btn-primary:not(.btn-light):active { background: #1bdbe0; border-color: #1bdbe0; } .btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active { background: #1bdbe0; color: #ffffff; } .btn-inverse-secondary { background-color: rgba(216, 216, 216, 0.2); background-image: none; border-color: rgba(216, 216, 216, 0); } .btn-inverse-secondary:not(.btn-inverse-light) { color: #d8d8d8; } .btn-inverse-secondary:hover { color: #ffffff; background-color: #d8d8d8; border-color: #d8d8d8; } .btn-inverse-secondary.focus, .btn-inverse-secondary:focus { -webkit-box-shadow: 0 0 0 3px rgba(216, 216, 216, 0.5); box-shadow: 0 0 0 3px rgba(216, 216, 216, 0.5); } .btn-inverse-secondary.disabled, .btn-inverse-secondary:disabled { color: #d8d8d8; background-color: transparent; } .btn-inverse-secondary.active, .btn-inverse-secondary:active, .show > .btn-inverse-secondary.dropdown-toggle { color: #ffffff; background-color: #d8d8d8; border-color: #d8d8d8; } .btn-secondary:not(.btn-light) { color: #ffffff; } .btn-secondary:not(.btn-light):hover, .btn-secondary:not(.btn-light):focus, .btn-secondary:not(.btn-light):active { color: #ffffff; } .btn-secondary:not(.btn-light):focus, .btn-secondary:not(.btn-light):active { background: #d8d8d8; border-color: #d8d8d8; } .btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary:active { background: #d8d8d8; color: #ffffff; } .btn-inverse-success { background-color: rgba(56, 206, 60, 0.2); background-image: none; border-color: rgba(56, 206, 60, 0); } .btn-inverse-success:not(.btn-inverse-light) { color: #38ce3c; } .btn-inverse-success:hover { color: #ffffff; background-color: #38ce3c; border-color: #38ce3c; } .btn-inverse-success.focus, .btn-inverse-success:focus { -webkit-box-shadow: 0 0 0 3px rgba(56, 206, 60, 0.5); box-shadow: 0 0 0 3px rgba(56, 206, 60, 0.5); } .btn-inverse-success.disabled, .btn-inverse-success:disabled { color: #38ce3c; background-color: transparent; } .btn-inverse-success.active, .btn-inverse-success:active, .show > .btn-inverse-success.dropdown-toggle { color: #ffffff; background-color: #38ce3c; border-color: #38ce3c; } .btn-success:not(.btn-light) { color: #ffffff; } .btn-success:not(.btn-light):hover, .btn-success:not(.btn-light):focus, .btn-success:not(.btn-light):active { color: #ffffff; } .btn-success:not(.btn-light):focus, .btn-success:not(.btn-light):active { background: #38ce3c; border-color: #38ce3c; } .btn-outline-success:hover, .btn-outline-success:focus, .btn-outline-success:active { background: #38ce3c; color: #ffffff; } .btn-inverse-info { background-color: rgba(142, 50, 233, 0.2); background-image: none; border-color: rgba(142, 50, 233, 0); } .btn-inverse-info:not(.btn-inverse-light) { color: #8e32e9; } .btn-inverse-info:hover { color: #ffffff; background-color: #8e32e9; border-color: #8e32e9; } .btn-inverse-info.focus, .btn-inverse-info:focus { -webkit-box-shadow: 0 0 0 3px rgba(142, 50, 233, 0.5); box-shadow: 0 0 0 3px rgba(142, 50, 233, 0.5); } .btn-inverse-info.disabled, .btn-inverse-info:disabled { color: #8e32e9; background-color: transparent; } .btn-inverse-info.active, .btn-inverse-info:active, .show > .btn-inverse-info.dropdown-toggle { color: #ffffff; background-color: #8e32e9; border-color: #8e32e9; } .btn-info:not(.btn-light) { color: #ffffff; } .btn-info:not(.btn-light):hover, .btn-info:not(.btn-light):focus, .btn-info:not(.btn-light):active { color: #ffffff; } .btn-info:not(.btn-light):focus, .btn-info:not(.btn-light):active { background: #8e32e9; border-color: #8e32e9; } .btn-outline-info:hover, .btn-outline-info:focus, .btn-outline-info:active { background: #8e32e9; color: #ffffff; } .btn-inverse-warning { background-color: rgba(255, 222, 115, 0.2); background-image: none; border-color: rgba(255, 222, 115, 0); } .btn-inverse-warning:not(.btn-inverse-light) { color: #ffde73; } .btn-inverse-warning:hover { color: #ffffff; background-color: #ffde73; border-color: #ffde73; } .btn-inverse-warning.focus, .btn-inverse-warning:focus { -webkit-box-shadow: 0 0 0 3px rgba(255, 222, 115, 0.5); box-shadow: 0 0 0 3px rgba(255, 222, 115, 0.5); } .btn-inverse-warning.disabled, .btn-inverse-warning:disabled { color: #ffde73; background-color: transparent; } .btn-inverse-warning.active, .btn-inverse-warning:active, .show > .btn-inverse-warning.dropdown-toggle { color: #ffffff; background-color: #ffde73; border-color: #ffde73; } .btn-warning:not(.btn-light) { color: #ffffff; } .btn-warning:not(.btn-light):hover, .btn-warning:not(.btn-light):focus, .btn-warning:not(.btn-light):active { color: #ffffff; } .btn-warning:not(.btn-light):focus, .btn-warning:not(.btn-light):active { background: #ffde73; border-color: #ffde73; } .btn-outline-warning:hover, .btn-outline-warning:focus, .btn-outline-warning:active { background: #ffde73; color: #ffffff; } .btn-inverse-danger { background-color: rgba(255, 77, 107, 0.2); background-image: none; border-color: rgba(255, 77, 107, 0); } .btn-inverse-danger:not(.btn-inverse-light) { color: #ff4d6b; } .btn-inverse-danger:hover { color: #ffffff; background-color: #ff4d6b; border-color: #ff4d6b; } .btn-inverse-danger.focus, .btn-inverse-danger:focus { -webkit-box-shadow: 0 0 0 3px rgba(255, 77, 107, 0.5); box-shadow: 0 0 0 3px rgba(255, 77, 107, 0.5); } .btn-inverse-danger.disabled, .btn-inverse-danger:disabled { color: #ff4d6b; background-color: transparent; } .btn-inverse-danger.active, .btn-inverse-danger:active, .show > .btn-inverse-danger.dropdown-toggle { color: #ffffff; background-color: #ff4d6b; border-color: #ff4d6b; } .btn-danger:not(.btn-light) { color: #ffffff; } .btn-danger:not(.btn-light):hover, .btn-danger:not(.btn-light):focus, .btn-danger:not(.btn-light):active { color: #ffffff; } .btn-danger:not(.btn-light):focus, .btn-danger:not(.btn-light):active { background: #ff4d6b; border-color: #ff4d6b; } .btn-outline-danger:hover, .btn-outline-danger:focus, .btn-outline-danger:active { background: #ff4d6b; color: #ffffff; } .btn-inverse-light { background-color: rgba(248, 249, 250, 0.2); background-image: none; border-color: rgba(248, 249, 250, 0); } .btn-inverse-light:not(.btn-inverse-light) { color: #f8f9fa; } .btn-inverse-light:hover { color: #ffffff; background-color: #f8f9fa; border-color: #f8f9fa; } .btn-inverse-light.focus, .btn-inverse-light:focus { -webkit-box-shadow: 0 0 0 3px rgba(248, 249, 250, 0.5); box-shadow: 0 0 0 3px rgba(248, 249, 250, 0.5); } .btn-inverse-light.disabled, .btn-inverse-light:disabled { color: #f8f9fa; background-color: transparent; } .btn-inverse-light.active, .btn-inverse-light:active, .show > .btn-inverse-light.dropdown-toggle { color: #ffffff; background-color: #f8f9fa; border-color: #f8f9fa; } .btn-light:not(.btn-light) { color: #ffffff; } .btn-light:not(.btn-light):hover, .btn-light:not(.btn-light):focus, .btn-light:not(.btn-light):active { color: #ffffff; } .btn-light:not(.btn-light):focus, .btn-light:not(.btn-light):active { background: #f8f9fa; border-color: #f8f9fa; } .btn-outline-light:hover, .btn-outline-light:focus, .btn-outline-light:active { background: #f8f9fa; color: #ffffff; } .btn-inverse-dark { background-color: rgba(62, 75, 91, 0.2); background-image: none; border-color: rgba(62, 75, 91, 0); } .btn-inverse-dark:not(.btn-inverse-light) { color: #3e4b5b; } .btn-inverse-dark:hover { color: #ffffff; background-color: #3e4b5b; border-color: #3e4b5b; } .btn-inverse-dark.focus, .btn-inverse-dark:focus { -webkit-box-shadow: 0 0 0 3px rgba(62, 75, 91, 0.5); box-shadow: 0 0 0 3px rgba(62, 75, 91, 0.5); } .btn-inverse-dark.disabled, .btn-inverse-dark:disabled { color: #3e4b5b; background-color: transparent; } .btn-inverse-dark.active, .btn-inverse-dark:active, .show > .btn-inverse-dark.dropdown-toggle { color: #ffffff; background-color: #3e4b5b; border-color: #3e4b5b; } .btn-dark:not(.btn-light) { color: #ffffff; } .btn-dark:not(.btn-light):hover, .btn-dark:not(.btn-light):focus, .btn-dark:not(.btn-light):active { color: #ffffff; } .btn-dark:not(.btn-light):focus, .btn-dark:not(.btn-light):active { background: #3e4b5b; border-color: #3e4b5b; } .btn-outline-dark:hover, .btn-outline-dark:focus, .btn-outline-dark:active { background: #3e4b5b; color: #ffffff; } /* Cards */ .card { border: 0; } .card .card-body { padding: 1.875rem 1.875rem; } .card .card-body + .card-body { padding-top: 1rem; } .card .card-title { color: #343a40; margin-bottom: .75rem; text-transform: capitalize; font-family: "Open Sans", sans-serif; font-weight: 600; font-size: 1.125rem; } .card .card-subtitle { font-family: "Open Sans", sans-serif; margin-top: 0.625rem; margin-bottom: 0.625rem; } .card .card-description { color: #76838f; margin-bottom: 1.5rem; font-family: "Open Sans", sans-serif; } .card.card-outline-success { border: 1px solid #38ce3c; } .card.card-outline-primary { border: 1px solid #1bdbe0; } .card.card-outline-warning { border: 1px solid #ffde73; } .card.card-outline-danger { border: 1px solid #ff4d6b; } .card.card-rounded { border-radius: 5px; } .card.card-faded { background: #b5b0b2; border-color: #b5b0b2; } .card.card-circle-progress { color: #ffffff; text-align: center; } .card.card-img-holder { position: relative; } .card.card-img-holder .card-img-absolute { position: absolute; top: 0; right: 0; height: 100%; } .card-inverse-primary { background: rgba(27, 219, 224, 0.2); border: 1px solid #19c9ce; color: #15a6aa; } .card-inverse-secondary { background: rgba(216, 216, 216, 0.2); border: 1px solid #c7c7c7; color: #a4a4a4; } .card-inverse-success { background: rgba(56, 206, 60, 0.2); border: 1px solid #34be37; color: #2b9d2e; } .card-inverse-info { background: rgba(142, 50, 233, 0.2); border: 1px solid #832ed6; color: #6c26b1; } .card-inverse-warning { background: rgba(255, 222, 115, 0.2); border: 1px solid #ebcc6a; color: #c2a957; } .card-inverse-danger { background: rgba(255, 77, 107, 0.2); border: 1px solid #eb4762; color: #c23b51; } .card-inverse-light { background: rgba(248, 249, 250, 0.2); border: 1px solid #e4e5e6; color: #bcbdbe; } .card-inverse-dark { background: rgba(62, 75, 91, 0.2); border: 1px solid #394554; color: #2f3945; } /* Checkboxes and Radios */ .form-check { position: relative; display: block; margin-top: 15px; margin-bottom: 10px; padding-left: 0; } .form-check .form-check-label { display: block; margin-left: 1.75rem; font-size: 0.875rem; line-height: 1.5; } .rtl .form-check .form-check-label { margin-left: 0; margin-right: 1.75rem; } .form-check .form-check-label input { position: absolute; top: 0; left: 0; margin-left: 0; margin-top: 0; z-index: 1; cursor: pointer; opacity: 0; filter: alpha(opacity=0); } .rtl .form-check .form-check-label input { left: auto; right: 0; } .form-check .form-check-label input[type="checkbox"] + .input-helper:before, .form-check .form-check-label input[type="checkbox"] + .input-helper:after { position: absolute; top: 0; left: 0; } .rtl .form-check .form-check-label input[type="checkbox"] + .input-helper:before, .rtl .form-check .form-check-label input[type="checkbox"] + .input-helper:after { left: auto; right: 0; } .form-check .form-check-label input[type="checkbox"] + .input-helper:before { content: ""; width: 18px; height: 18px; border-radius: 2px; border: solid #1bdbe0; border-width: 2px; -webkit-transition: all; transition: all; transition-duration: 0s; -webkit-transition-duration: 250ms; transition-duration: 250ms; } .form-check .form-check-label input[type="checkbox"] + .input-helper:after { -webkit-transition: all; transition: all; transition-duration: 0s; -webkit-transition-duration: 250ms; transition-duration: 250ms; opacity: 0; filter: alpha(opacity=0); content: ""; height: 12px; width: 5px; -webkit-transform: rotate(45deg); transform: rotate(45deg); border-style: solid; border-width: 2px; border-color: transparent #ffffff #ffffff transparent; left: 7px; top: 1px; font-weight: bold; color: #ffffff; } .form-check .form-check-label input[type="checkbox"]:checked + .input-helper:before { background: #1bdbe0; border-width: 0; } .form-check .form-check-label input[type="checkbox"]:checked + .input-helper:after { opacity: 1; line-height: 18px; filter: alpha(opacity=100); } .form-check .form-check-label input[type="checkbox"]:disabled + .input-helper:before { border-color: #e8ecf1; } .form-check .form-check-label input[type="checkbox"]:disabled:checked + .input-helper:after { border-color: transparent #e8ecf1 #e8ecf1 transparent; } .form-check .form-check-label input[type="radio"] + .input-helper:before { position: absolute; content: ""; top: 0; left: 0; border: solid #1bdbe0; border-width: 2px; width: 20px; height: 20px; border-radius: 50%; -webkit-transition: all; transition: all; transition-duration: 0s; -webkit-transition-duration: 250ms; transition-duration: 250ms; } .rtl .form-check .form-check-label input[type="radio"] + .input-helper:before { left: auto; right: 0; } .form-check .form-check-label input[type="radio"] + .input-helper:after { content: ""; width: 8px; height: 8px; background: #ffffff; border-radius: 50%; top: 6px; left: 6px; -webkit-transition: all; transition: all; transition-duration: 0s; -webkit-transition-duration: 250ms; transition-duration: 250ms; opacity: 0; filter: alpha(opacity=0); -webkit-transform: scale(0); transform: scale(0); position: absolute; } .rtl .form-check .form-check-label input[type="radio"] + .input-helper:after { left: auto; right: 6px; } .form-check .form-check-label input[type="radio"]:checked + .input-helper:before { background: #1bdbe0; border-width: 0; } .form-check .form-check-label input[type="radio"]:checked + .input-helper:after { opacity: 1; line-height: 1.5; filter: alpha(opacity=100); -webkit-transform: scale(1); transform: scale(1); } .form-check .form-check-label input[type="radio"]:disabled + .input-helper:before { border-color: #e8ecf1; } .form-check .form-check-label input[type="radio"]:disabled:checked + .input-helper:before { background: #e8ecf1; } .form-check .form-check-label input[type="radio"]:disabled:checked + .input-helper:after { background: #ffffff; } .form-check-primary.form-check label input[type="checkbox"] + .input-helper:before, .form-check-primary.form-check label input[type="radio"] + .input-helper:before { border-color: #1bdbe0; } .form-check-primary.form-check label input[type="checkbox"]:checked + .input-helper:before, .form-check-primary.form-check label input[type="radio"]:checked + .input-helper:before { background: #1bdbe0; } .form-check-secondary.form-check label input[type="checkbox"] + .input-helper:before, .form-check-secondary.form-check label input[type="radio"] + .input-helper:before { border-color: #d8d8d8; } .form-check-secondary.form-check label input[type="checkbox"]:checked + .input-helper:before, .form-check-secondary.form-check label input[type="radio"]:checked + .input-helper:before { background: #d8d8d8; } .form-check-success.form-check label input[type="checkbox"] + .input-helper:before, .form-check-success.form-check label input[type="radio"] + .input-helper:before { border-color: #38ce3c; } .form-check-success.form-check label input[type="checkbox"]:checked + .input-helper:before, .form-check-success.form-check label input[type="radio"]:checked + .input-helper:before { background: #38ce3c; } .form-check-info.form-check label input[type="checkbox"] + .input-helper:before, .form-check-info.form-check label input[type="radio"] + .input-helper:before { border-color: #8e32e9; } .form-check-info.form-check label input[type="checkbox"]:checked + .input-helper:before, .form-check-info.form-check label input[type="radio"]:checked + .input-helper:before { background: #8e32e9; } .form-check-warning.form-check label input[type="checkbox"] + .input-helper:before, .form-check-warning.form-check label input[type="radio"] + .input-helper:before { border-color: #ffde73; } .form-check-warning.form-check label input[type="checkbox"]:checked + .input-helper:before, .form-check-warning.form-check label input[type="radio"]:checked + .input-helper:before { background: #ffde73; } .form-check-danger.form-check label input[type="checkbox"] + .input-helper:before, .form-check-danger.form-check label input[type="radio"] + .input-helper:before { border-color: #ff4d6b; } .form-check-danger.form-check label input[type="checkbox"]:checked + .input-helper:before, .form-check-danger.form-check label input[type="radio"]:checked + .input-helper:before { background: #ff4d6b; } .form-check-light.form-check label input[type="checkbox"] + .input-helper:before, .form-check-light.form-check label input[type="radio"] + .input-helper:before { border-color: #f8f9fa; } .form-check-light.form-check label input[type="checkbox"]:checked + .input-helper:before, .form-check-light.form-check label input[type="radio"]:checked + .input-helper:before { background: #f8f9fa; } .form-check-dark.form-check label input[type="checkbox"] + .input-helper:before, .form-check-dark.form-check label input[type="radio"] + .input-helper:before { border-color: #3e4b5b; } .form-check-dark.form-check label input[type="checkbox"]:checked + .input-helper:before, .form-check-dark.form-check label input[type="radio"]:checked + .input-helper:before { background: #3e4b5b; } /* Dropdowns */ .dropdown .dropdown-toggle:after { border-top: 0; border-right: 0; border-left: 0; border-bottom: 0; font-family: "simple-line-icons"; content: "\e604"; width: auto; height: auto; vertical-align: baseline; font-size: .75rem; } .dropdown .dropdown-menu { margin-top: .75rem; font-size: 0.875rem; -webkit-box-shadow: 0px 1px 15px 1px rgba(230, 234, 236, 0.35); box-shadow: 0px 1px 15px 1px rgba(230, 234, 236, 0.35); } .dropdown .dropdown-menu .dropdown-item { font-size: 1rem; padding: .25rem 1.5rem; } .dropdown .dropdown-menu .dropdown-item:active { background: initial; } /* Forms */ .form-group { margin-bottom: 1.5rem; } .input-group-append, .input-group-prepend { color: #c9c8c8; width: auto; border: none; } .input-group-append .input-group-text, .input-group-prepend .input-group-text { border-color: #e8ecf1; padding: 0.94rem 0.75rem; color: #c9c8c8; } .form-control, .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--single .select2-search__field, .typeahead, .tt-query, .tt-hint { border: 1px solid #e8ecf1; font-family: "Open Sans", sans-serif; font-size: 0.8125rem; } select.form-control, .select2-container--default select.select2-selection--single, .select2-container--default .select2-selection--single select.select2-search__field, select.typeahead, select.tt-query, select.tt-hint { padding: .4375rem .75rem; border: 0; outline: 1px solid #e8ecf1; color: #c9c8c8; } select.form-control:focus, .select2-container--default select.select2-selection--single:focus, .select2-container--default .select2-selection--single select.select2-search__field:focus, select.typeahead:focus, select.tt-query:focus, select.tt-hint:focus { outline: 1px solid #e8ecf1; } select.form-control.border-primary, .select2-container--default select.border-primary.select2-selection--single, .select2-container--default .select2-selection--single select.border-primary.select2-search__field, select.border-primary.typeahead, select.border-primary.tt-query, select.border-primary.tt-hint { outline: 1px solid #1bdbe0; } select.form-control.border-primary:focus, .select2-container--default select.border-primary.select2-selection--single:focus, .select2-container--default .select2-selection--single select.border-primary.select2-search__field:focus, select.border-primary.typeahead:focus, select.border-primary.tt-query:focus, select.border-primary.tt-hint:focus { outline: 1px solid #1bdbe0; } select.form-control.border-secondary, select.form-control.loader-demo-box, .select2-container--default select.loader-demo-box.select2-selection--single, .select2-container--default .select2-selection--single select.loader-demo-box.select2-search__field, select.loader-demo-box.typeahead, select.loader-demo-box.tt-query, select.loader-demo-box.tt-hint, .select2-container--default select.border-secondary.select2-selection--single, .select2-container--default .select2-selection--single select.border-secondary.select2-search__field, select.border-secondary.typeahead, select.border-secondary.tt-query, select.border-secondary.tt-hint { outline: 1px solid #d8d8d8; } select.form-control.border-secondary:focus, select.form-control.loader-demo-box:focus, .select2-container--default select.loader-demo-box.select2-selection--single:focus, .select2-container--default .select2-selection--single select.loader-demo-box.select2-search__field:focus, select.loader-demo-box.typeahead:focus, select.loader-demo-box.tt-query:focus, select.loader-demo-box.tt-hint:focus, .select2-container--default select.border-secondary.select2-selection--single:focus, .select2-container--default .select2-selection--single select.border-secondary.select2-search__field:focus, select.border-secondary.typeahead:focus, select.border-secondary.tt-query:focus, select.border-secondary.tt-hint:focus { outline: 1px solid #d8d8d8; } select.form-control.border-success, .select2-container--default select.border-success.select2-selection--single, .select2-container--default .select2-selection--single select.border-success.select2-search__field, select.border-success.typeahead, select.border-success.tt-query, select.border-success.tt-hint { outline: 1px solid #38ce3c; } select.form-control.border-success:focus, .select2-container--default select.border-success.select2-selection--single:focus, .select2-container--default .select2-selection--single select.border-success.select2-search__field:focus, select.border-success.typeahead:focus, select.border-success.tt-query:focus, select.border-success.tt-hint:focus { outline: 1px solid #38ce3c; } select.form-control.border-info, .select2-container--default select.border-info.select2-selection--single, .select2-container--default .select2-selection--single select.border-info.select2-search__field, select.border-info.typeahead, select.border-info.tt-query, select.border-info.tt-hint { outline: 1px solid #8e32e9; } select.form-control.border-info:focus, .select2-container--default select.border-info.select2-selection--single:focus, .select2-container--default .select2-selection--single select.border-info.select2-search__field:focus, select.border-info.typeahead:focus, select.border-info.tt-query:focus, select.border-info.tt-hint:focus { outline: 1px solid #8e32e9; } select.form-control.border-warning, .select2-container--default select.border-warning.select2-selection--single, .select2-container--default .select2-selection--single select.border-warning.select2-search__field, select.border-warning.typeahead, select.border-warning.tt-query, select.border-warning.tt-hint { outline: 1px solid #ffde73; } select.form-control.border-warning:focus, .select2-container--default select.border-warning.select2-selection--single:focus, .select2-container--default .select2-selection--single select.border-warning.select2-search__field:focus, select.border-warning.typeahead:focus, select.border-warning.tt-query:focus, select.border-warning.tt-hint:focus { outline: 1px solid #ffde73; } select.form-control.border-danger, .select2-container--default select.border-danger.select2-selection--single, .select2-container--default .select2-selection--single select.border-danger.select2-search__field, select.border-danger.typeahead, select.border-danger.tt-query, select.border-danger.tt-hint { outline: 1px solid #ff4d6b; } select.form-control.border-danger:focus, .select2-container--default select.border-danger.select2-selection--single:focus, .select2-container--default .select2-selection--single select.border-danger.select2-search__field:focus, select.border-danger.typeahead:focus, select.border-danger.tt-query:focus, select.border-danger.tt-hint:focus { outline: 1px solid #ff4d6b; } select.form-control.border-light, .select2-container--default select.border-light.select2-selection--single, .select2-container--default .select2-selection--single select.border-light.select2-search__field, select.border-light.typeahead, select.border-light.tt-query, select.border-light.tt-hint { outline: 1px solid #f8f9fa; } select.form-control.border-light:focus, .select2-container--default select.border-light.select2-selection--single:focus, .select2-container--default .select2-selection--single select.border-light.select2-search__field:focus, select.border-light.typeahead:focus, select.border-light.tt-query:focus, select.border-light.tt-hint:focus { outline: 1px solid #f8f9fa; } select.form-control.border-dark, .select2-container--default select.border-dark.select2-selection--single, .select2-container--default .select2-selection--single select.border-dark.select2-search__field, select.border-dark.typeahead, select.border-dark.tt-query, select.border-dark.tt-hint { outline: 1px solid #3e4b5b; } select.form-control.border-dark:focus, .select2-container--default select.border-dark.select2-selection--single:focus, .select2-container--default .select2-selection--single select.border-dark.select2-search__field:focus, select.border-dark.typeahead:focus, select.border-dark.tt-query:focus, select.border-dark.tt-hint:focus { outline: 1px solid #3e4b5b; } .form-group label { font-size: 0.875rem; line-height: 1; vertical-align: top; margin-bottom: .5rem; } .form-group.has-danger .form-control, .form-group.has-danger .select2-container--default .select2-selection--single, .select2-container--default .form-group.has-danger .select2-selection--single, .form-group.has-danger .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .form-group.has-danger .select2-search__field, .form-group.has-danger .typeahead, .form-group.has-danger .tt-query, .form-group.has-danger .tt-hint { border-color: #ff4d6b; } .form-group .file-upload-default { visibility: hidden; position: absolute; } .form-group .file-upload-info { background: transparent; } /* Icons */ .icons-list { border-left: 1px solid #e8ecf1; border-top: 1px solid #e8ecf1; } .icons-list > div { background: #fff; border-bottom: 1px solid #e8ecf1; border-right: 1px solid #e8ecf1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 15px 15px; font-family: "Open Sans", sans-serif; font-size: 0.875rem; } .icons-list > div i { display: inline-block; font-size: 20px; width: 40px; text-align: left; color: #1bdbe0; } /* Lists */ ul, ol, dl { padding-left: 1rem; font-size: 0.875rem; } ul li, ol li, dl li { line-height: 1.8; } .list-ticked, .list-arrow, .list-star { list-style: none; padding: 0; } .list-ticked li, .list-arrow li, .list-star li { padding-left: 1.5rem; } .list-ticked li:before, .list-arrow li:before, .list-star li:before { font-family: "simple-line-icons"; margin-left: -1.5rem; width: 1.5rem; margin-right: .5rem; } .list-ticked li:before { content: '\e080'; color: #ff4d6b; } .list-arrow li:before { content: '\e606'; color: #38ce3c; } .list-star li:before { content: '\e09b'; color: #ffde73; } .gradient-bullet-list { padding-left: 0; } .rtl .gradient-bullet-list { padding-right: 0; } .gradient-bullet-list li { position: relative; list-style-type: none; padding-left: 25px; line-height: 1; padding-bottom: 25px; } .gradient-bullet-list li:before, .gradient-bullet-list li:after { content: ""; position: absolute; } .gradient-bullet-list li:before { top: 0; left: 0; width: 15px; height: 15px; border-radius: 100%; } .gradient-bullet-list li:after { width: 11px; height: 11px; top: 2px; left: 2px; background: #fff; border-radius: 100%; } .gradient-bullet-list li:nth-child(1):before { background: #ff4d6b; } .gradient-bullet-list li:nth-child(2):before { background: #8e32e9; } .gradient-bullet-list li:nth-child(3):before { background: #ffde73; } .gradient-bullet-list li:nth-child(4):before { background: #38ce3c; } .gradient-bullet-list li:nth-child(5):before { background: #1bdbe0; } /* Modals */ .modal .modal-dialog { margin-top: 100px; } .modal .modal-dialog .modal-content .modal-header { padding: 25px 26px; } .modal .modal-dialog .modal-content .modal-header .close span { font-size: 20px; font-weight: 400; color: #6a6a6a; } .modal .modal-dialog .modal-content .modal-body { padding: 35px 26px; } .modal .modal-dialog .modal-content .modal-footer { padding: 15px 31px; } /* Pagination */ .pagination .page-item .page-link { border-color: #e8ecf1; color: #343a40; font-size: .875rem; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; } .pagination .page-item .page-link:focus { background: inherit; } .pagination .page-item .page-link i:before { font-size: inherit; line-height: 1; vertical-align: middle; } .pagination .page-item.active .page-link, .pagination .page-item:hover .page-link, .pagination .page-item:focus .page-link, .pagination .page-item:active .page-link { background: #1bdbe0; border-color: #1bdbe0; color: #ffffff; } .pagination.flat .page-item .page-link { border: none; border-radius: 2px; } .pagination.separated .page-item { margin-left: 2px; margin-right: 2px; } .pagination.separated .page-item:first-child { margin-left: 0; } .pagination.separated .page-item:last-child { margin-right: 0; } .pagination.separated .page-item .page-link { border-radius: 2px; } .pagination.rounded .page-item:first-child .page-link, .pagination.loader-demo-box .page-item:first-child .page-link { border-radius: 25px 0 0 25px; } .pagination.rounded .page-item:last-child .page-link, .pagination.loader-demo-box .page-item:last-child .page-link { border-radius: 0 25px 25px 0; } .pagination.rounded-flat .page-item { margin-right: 3px; margin-left: 3px; } .pagination.rounded-flat .page-item .page-link { border: none; border-radius: 50px; } .pagination.rounded-separated .page-item { margin-left: 2px; margin-right: 2px; } .pagination.rounded-separated .page-item:first-child { margin-left: 0; } .pagination.rounded-separated .page-item:first-child .page-link { border-radius: 10px 0 0 10px; } .pagination.rounded-separated .page-item:last-child { margin-right: 0; } .pagination.rounded-separated .page-item:last-child .page-link { border-radius: 0 10px 10px 0; } .pagination.rounded-separated .page-item .page-link { border-radius: 2px; } /* pagination variations */ .pagination-primary .page-item.active .page-link { background: #1bdbe0; border-color: #1bdbe0; } .pagination-primary .page-item .page-link:hover { background: #2fe1e6; border-color: #1bdbe0; color: #ffffff; } .pagination-secondary .page-item.active .page-link { background: #d8d8d8; border-color: #d8d8d8; } .pagination-secondary .page-item .page-link:hover { background: #e5e5e5; border-color: #d8d8d8; color: #ffffff; } .pagination-success .page-item.active .page-link { background: #38ce3c; border-color: #38ce3c; } .pagination-success .page-item .page-link:hover { background: #4cd350; border-color: #38ce3c; color: #ffffff; } .pagination-info .page-item.active .page-link { background: #8e32e9; border-color: #8e32e9; } .pagination-info .page-item .page-link:hover { background: #9b49eb; border-color: #8e32e9; color: #ffffff; } .pagination-warning .page-item.active .page-link { background: #ffde73; border-color: #ffde73; } .pagination-warning .page-item .page-link:hover { background: #ffe48d; border-color: #ffde73; color: #ffffff; } .pagination-danger .page-item.active .page-link { background: #ff4d6b; border-color: #ff4d6b; } .pagination-danger .page-item .page-link:hover { background: #ff6780; border-color: #ff4d6b; color: #ffffff; } .pagination-light .page-item.active .page-link { background: #f8f9fa; border-color: #f8f9fa; } .pagination-light .page-item .page-link:hover { background: white; border-color: #f8f9fa; color: #ffffff; } .pagination-dark .page-item.active .page-link { background: #3e4b5b; border-color: #3e4b5b; } .pagination-dark .page-item .page-link:hover { background: #48586a; border-color: #3e4b5b; color: #ffffff; } /* Tables */ .table { margin-bottom: 0; } .table thead th { border-top: 0; border-bottom-width: 1px; font-family: "Open Sans", sans-serif; font-weight: 600; font-weight: initial; } .table thead th i { margin-left: 0.325rem; } .table th, .table td { vertical-align: middle; font-size: 0.875rem; line-height: 1; white-space: nowrap; } .table th img, .table td img { width: 36px; height: 36px; border-radius: 100%; } .table th .badge, .table td .badge { margin-bottom: 0; } .table.table-borderless { border: none; } .table.table-borderless tr, .table.table-borderless td, .table.table-borderless th { border: none; } /* Preview */ .preview-list .preview-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; padding: .75rem 1.5rem; font-size: .875rem; } .preview-list .preview-item:last-child { border-bottom: 0; } .preview-list .preview-item:hover { background: #f8f9fa; } .preview-list .preview-item .form-check { margin-top: 8px; margin-right: 1rem; } .preview-list .preview-item .preview-thumbnail { color: #ffffff; position: relative; } .preview-list .preview-item .preview-thumbnail img, .preview-list .preview-item .preview-thumbnail .preview-icon { width: 36px; height: 36px; border-radius: 100%; } .preview-list .preview-item .preview-thumbnail .preview-icon { padding: 6px; text-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .preview-list .preview-item .preview-thumbnail .preview-icon i { font-size: 1.125rem; margin: 0; } .preview-list .preview-item .preview-thumbnail .badge { border: 2px solid #ffffff; border-radius: 100%; bottom: 5px; display: block; height: 14px; left: -5px; padding: 0; position: absolute; width: 14px; } .preview-list .preview-item .preview-item-content { line-height: 1; padding-left: 15px; } .preview-list .preview-item .preview-item-content:first-child { padding-left: 0; } .preview-list .preview-item .preview-item-content p { margin-bottom: 10px; } .preview-list .preview-item .preview-item-content p .content-category { font-family: 'source-sans-pro-semibold', sans-serif; padding-right: 15px; border-right: 1px solid #e8ecf1; } .rtl .preview-list .preview-item .preview-item-content { padding-left: 0; padding-right: 1rem; margin-right: 0; margin-left: auto; } .preview-list .preview-item .preview-actions { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .preview-list .preview-item .preview-actions i { width: 29px; color: #e6e9ed; height: 29px; border: 2px solid #e6e9ed; border-radius: 100%; padding: 3px 6px; display: inline-block; } .preview-list .preview-item .preview-actions i:first-child { margin-right: 10px; } .preview-list.comment-preview .preview-item { padding: .87rem 0; } .preview-list.comment-preview .preview-item:first-child { padding-top: 0; } .preview-list.comment-preview .preview-item p { line-height: 27px; } .preview-list.bordered .preview-item { border-bottom: 1px solid #e8ecf1; } .preview-list.bordered .preview-item:last-child { border-bottom: 0; } /*-------------------------------------------------------------------*/ /* === Plugin overrides === */ /* Chartist */ .ct-series-a .ct-line { stroke: #a29afc; stroke-width: 3px; stroke-dasharray: 10px 20px; } .ct-series-a .ct-point { stroke: #6355f9; stroke-width: 10px; stroke-linecap: round; } .ct-series-b .ct-line { stroke: #80d691; stroke-width: 3px; stroke-dasharray: 10px 20px; } .ct-series-b .ct-point { stroke: #4ac462; stroke-width: 10px; stroke-linecap: round; } .ct-series-c .ct-line { stroke: #f7cb9b; stroke-width: 3px; stroke-dasharray: 10px 20px; } .ct-series-c .ct-point { stroke: #f2a859; stroke-width: 10px; stroke-linecap: round; } .ct-series-a .ct-bar { stroke: #a29afc; stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } .ct-series-b .ct-bar { stroke: #80d691; stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } .ct-series-c .ct-bar { stroke: #f7cb9b; stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } .ct-series-d .ct-bar { stroke: #fcb2b2; stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } .ct-series-a .ct-slice-pie { fill: #a29afc; stroke-width: 4px; } .ct-series-b .ct-slice-pie { fill: #80d691; stroke-width: 4px; } .ct-series-c .ct-slice-pie { fill: #fcb2b2; stroke-width: 4px; } .ct-series-d .ct-slice-pie { fill: #f7cb9b; stroke-width: 4px; } .ct-series-a .ct-slice-donut-solid { fill: #a29afc; } .ct-series-b .ct-slice-donut-solid { fill: #80d691; } .ct-series-c .ct-slice-donut-solid { fill: #fcb2b2; } .ct-series-a .ct-slice-donut-solid { fill: #f7cb9b; } #ct-chart-dash-barChart .ct-series-a .ct-bar { stroke: #fb9999; stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } #ct-chart-dash-barChart .ct-series-b .ct-bar { stroke: #8b81fb; stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } #ct-chart-dash-barChart .ct-series-c .ct-bar { stroke: #a29afc; stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } #ct-chart-dash-barChart .ct-series-d .ct-bar { stroke: #b9b3fc; stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } /* Select2 */ .select2-container--default .select2-results__option--highlighted[aria-selected] { background: #1bdbe0; } .select2-container--default .select2-selection--single, .select2-container--default .select2-dropdown, .select2-container--default .select2-selection--multiple { border-color: #e8ecf1; } .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-dropdown .select2-search__field, .select2-container--default .select2-selection--multiple .select2-search__field { border-color: #e8ecf1; } .select2-container--default .select2-selection--single { height: auto; } .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 14px; } .select2-container--default .select2-dropdown { font-size: .8125rem; } .select2-container--default.select2-container--focus .select2-selection--multiple { border-color: #e8ecf1; } .select2-container--default .select2-selection--multiple .select2-selection__choice { color: #ffffff; border: 0; border-radius: 3px; padding: 6px; font-size: .625rem; font-family: inherit; line-height: 1; } .select2-container--default .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove { color: #ffffff; } .select2-container--default .select2-selection--multiple .select2-selection__choice:nth-child(5n+1) { background: #1bdbe0; } .select2-container--default .select2-selection--multiple .select2-selection__choice:nth-child(5n+2) { background: #38ce3c; } .select2-container--default .select2-selection--multiple .select2-selection__choice:nth-child(5n+3) { background: #8e32e9; } .select2-container--default .select2-selection--multiple .select2-selection__choice:nth-child(5n+4) { background: #ff4d6b; } .select2-container--default .select2-selection--multiple .select2-selection__choice:nth-child(5n+5) { background: #ffde73; } /* Typeahead */ .tt-menu, .gist { text-align: left; } .twitter-typeahead { max-width: 100%; } .typeahead { background-color: #ffffff; } .typeahead:focus { border-color: #e8ecf1; } .tt-query { -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .tt-hint { color: #434a54; } .tt-menu { width: 100%; margin: 12px 0; padding: 8px 0; background-color: #ffffff; border: 1px solid #e8ecf1; border-radius: 8px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); } .tt-suggestion { padding: 3px 20px; font-size: inherit; } .tt-suggestion:hover { cursor: pointer; color: #ffffff; background-color: #1bdbe0; } .tt-suggestion .tt-cursor { color: #ffffff; background-color: #1bdbe0; } .tt-suggestion p { margin: 0; } /*-------------------------------------------------------------------*/ /* === Landing screens === */ /* Auth */ .auth .login-half-bg { background: url("../../images/auth/login-bg.jpg"); background-size: cover; } .auth .register-half-bg { background: url("../../images/auth/register-bg.jpg"); background-size: cover; } .auth.lock-full-bg { background: url("../../images/auth/lockscreen-bg.jpg"); background-size: cover; } .auth .lock-profile-img { width: 90px; height: 90px; border-radius: 100%; } .auth .auth-form-dark { background: rgba(0, 0, 0, 0.6); color: #ffffff; } .auth .auth-form-dark .form-control, .auth .auth-form-dark .select2-container--default .select2-selection--single, .select2-container--default .auth .auth-form-dark .select2-selection--single, .auth .auth-form-dark .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .auth .auth-form-dark .select2-search__field, .auth .auth-form-dark .typeahead, .auth .auth-form-dark .tt-query, .auth .auth-form-dark .tt-hint { border-color: rgba(255, 255, 255, 0.2); color: #ffffff; } .auth .auth-form-dark .form-control:-ms-input-placeholder, .auth .auth-form-dark .select2-container--default .select2-selection--single:-ms-input-placeholder, .select2-container--default .auth .auth-form-dark .select2-selection--single:-ms-input-placeholder, .auth .auth-form-dark .select2-container--default .select2-selection--single .select2-search__field:-ms-input-placeholder, .select2-container--default .select2-selection--single .auth .auth-form-dark .select2-search__field:-ms-input-placeholder, .auth .auth-form-dark .typeahead:-ms-input-placeholder, .auth .auth-form-dark .tt-query:-ms-input-placeholder, .auth .auth-form-dark .tt-hint:-ms-input-placeholder { color: #ffffff; } .auth .auth-form-dark .form-control:-moz-placeholder, .auth .auth-form-dark .select2-container--default .select2-selection--single:-moz-placeholder, .select2-container--default .auth .auth-form-dark .select2-selection--single:-moz-placeholder, .auth .auth-form-dark .select2-container--default .select2-selection--single .select2-search__field:-moz-placeholder, .select2-container--default .select2-selection--single .auth .auth-form-dark .select2-search__field:-moz-placeholder, .auth .auth-form-dark .typeahead:-moz-placeholder, .auth .auth-form-dark .tt-query:-moz-placeholder, .auth .auth-form-dark .tt-hint:-moz-placeholder { color: #ffffff; } .auth .auth-form-dark .form-control::-moz-placeholder, .auth .auth-form-dark .select2-container--default .select2-selection--single::-moz-placeholder, .select2-container--default .auth .auth-form-dark .select2-selection--single::-moz-placeholder, .auth .auth-form-dark .select2-container--default .select2-selection--single .select2-search__field::-moz-placeholder, .select2-container--default .select2-selection--single .auth .auth-form-dark .select2-search__field::-moz-placeholder, .auth .auth-form-dark .typeahead::-moz-placeholder, .auth .auth-form-dark .tt-query::-moz-placeholder, .auth .auth-form-dark .tt-hint::-moz-placeholder { color: #ffffff; } .auth .auth-form-dark .form-control::-webkit-input-placeholder, .auth .auth-form-dark .select2-container--default .select2-selection--single::-webkit-input-placeholder, .select2-container--default .auth .auth-form-dark .select2-selection--single::-webkit-input-placeholder, .auth .auth-form-dark .select2-container--default .select2-selection--single .select2-search__field::-webkit-input-placeholder, .select2-container--default .select2-selection--single .auth .auth-form-dark .select2-search__field::-webkit-input-placeholder, .auth .auth-form-dark .typeahead::-webkit-input-placeholder, .auth .auth-form-dark .tt-query::-webkit-input-placeholder, .auth .auth-form-dark .tt-hint::-webkit-input-placeholder { color: #ffffff; } .auth .auth-form-light { background: #ffffff; } .auth .auth-form-light select { color: #c9c8c8; } .auth .auth-form-light .input-group .form-control:focus, .auth .auth-form-light .input-group .select2-container--default .select2-selection--single:focus, .select2-container--default .auth .auth-form-light .input-group .select2-selection--single:focus, .auth .auth-form-light .input-group .select2-container--default .select2-selection--single .select2-search__field:focus, .select2-container--default .select2-selection--single .auth .auth-form-light .input-group .select2-search__field:focus, .auth .auth-form-light .input-group .typeahead:focus, .auth .auth-form-light .input-group .tt-query:focus, .auth .auth-form-light .input-group .tt-hint:focus, .auth .auth-form-light .input-group .form-control:active, .auth .auth-form-light .input-group .select2-container--default .select2-selection--single:active, .select2-container--default .auth .auth-form-light .input-group .select2-selection--single:active, .auth .auth-form-light .input-group .select2-container--default .select2-selection--single .select2-search__field:active, .select2-container--default .select2-selection--single .auth .auth-form-light .input-group .select2-search__field:active, .auth .auth-form-light .input-group .typeahead:active, .auth .auth-form-light .input-group .tt-query:active, .auth .auth-form-light .input-group .tt-hint:active { border-color: #e8ecf1; } .auth .auth-form-transparent { background: transparent; } .auth .auth-form-transparent .form-control, .auth .auth-form-transparent .select2-container--default .select2-selection--single, .select2-container--default .auth .auth-form-transparent .select2-selection--single, .auth .auth-form-transparent .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .auth .auth-form-transparent .select2-search__field, .auth .auth-form-transparent .typeahead, .auth .auth-form-transparent .tt-query, .auth .auth-form-transparent .tt-hint, .auth .auth-form-transparent .input-group-text { border-color: #d8d8d8; } .auth .auth-form-transparent .form-control:focus, .auth .auth-form-transparent .select2-container--default .select2-selection--single:focus, .select2-container--default .auth .auth-form-transparent .select2-selection--single:focus, .auth .auth-form-transparent .select2-container--default .select2-selection--single .select2-search__field:focus, .select2-container--default .select2-selection--single .auth .auth-form-transparent .select2-search__field:focus, .auth .auth-form-transparent .typeahead:focus, .auth .auth-form-transparent .tt-query:focus, .auth .auth-form-transparent .tt-hint:focus, .auth .auth-form-transparent .form-control:active, .auth .auth-form-transparent .select2-container--default .select2-selection--single:active, .select2-container--default .auth .auth-form-transparent .select2-selection--single:active, .auth .auth-form-transparent .select2-container--default .select2-selection--single .select2-search__field:active, .select2-container--default .select2-selection--single .auth .auth-form-transparent .select2-search__field:active, .auth .auth-form-transparent .typeahead:active, .auth .auth-form-transparent .tt-query:active, .auth .auth-form-transparent .tt-hint:active, .auth .auth-form-transparent .input-group-text:focus, .auth .auth-form-transparent .input-group-text:active { border-color: #d8d8d8; } .auth .auth-form-transparent select { outline-color: #d8d8d8; } .auth.auth-img-bg { padding: 0; } @media (min-width: 768px) { .auth.auth-img-bg .auth-form-transparent { width: 55%; margin: auto; } } .auth .brand-logo { margin-bottom: 2rem; } .auth .brand-logo img { width: 150px; } .auth form .form-group { margin-bottom: 1.5rem; } .auth form .form-group label { font-size: .8125rem; } .auth form .form-group .form-control, .auth form .form-group .select2-container--default .select2-selection--single, .select2-container--default .auth form .form-group .select2-selection--single, .auth form .form-group .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .auth form .form-group .select2-search__field, .auth form .form-group .typeahead, .auth form .form-group .tt-query, .auth form .form-group .tt-hint { background: transparent; border-radius: 0; font-size: .9375rem; } .auth form .auth-form-btn { height: 50px; line-height: 1.5; } .auth form .auth-link { font-size: 0.875rem; } .auth form .auth-link:hover { color: initial; } /* Navbar */ .navbar { font-family: "Open Sans", sans-serif; font-weight: 300; background: #fff; transition: background 0.25s ease; -webkit-transition: background 0.25s ease; -moz-transition: background 0.25s ease; -ms-transition: background 0.25s ease; } .navbar .navbar-brand { width: 110px; } .navbar .navbar-brand-wrapper { transition: width 0.25s ease, background 0.25s ease; -webkit-transition: width 0.25s ease, background 0.25s ease; -moz-transition: width 0.25s ease, background 0.25s ease; -ms-transition: width 0.25s ease, background 0.25s ease; background: #181824; width: 240px; height: 70px; padding: 0 1.75rem; } @media (max-width: 991px) { .navbar .navbar-brand-wrapper { width: 55px; padding-left: 15px; padding-right: 15px; } } .navbar .navbar-brand-wrapper .navbar-brand { color: #27367f; font-size: 1.5rem; line-height: 48px; margin-right: 0; padding: .25rem 0; } .navbar .navbar-brand-wrapper .navbar-brand:active, .navbar .navbar-brand-wrapper .navbar-brand:focus, .navbar .navbar-brand-wrapper .navbar-brand:hover { color: #1b2658; } .navbar .navbar-brand-wrapper .navbar-brand img { width: calc(240px - 120px); max-width: 100%; height: 28px; margin: auto; vertical-align: middle; } .navbar .navbar-brand-wrapper .navbar-brand.brand-logo-mini { display: none; } @media screen and (max-width: 991px) { .navbar .navbar-brand-wrapper .navbar-brand.brand-logo-mini { display: -webkit-box; display: -ms-flexbox; display: flex; } } .navbar .navbar-brand-wrapper .navbar-brand.brand-logo-mini img { width: calc(70px - 35px); max-width: 100%; height: 28px; margin: auto; display: inline; } .navbar .navbar-brand-wrapper .navbar-toggler { color: #626262; padding: 0; margin-left: auto; } @media screen and (max-width: 991px) { .navbar .navbar-brand-wrapper .navbar-toggler { display: none; } } .sidebar-icon-only .navbar .navbar-brand-wrapper .navbar-toggler { margin-right: auto; margin-left: auto; } .navbar .navbar-menu-wrapper { transition: width 0.25s ease; -webkit-transition: width 0.25s ease; -moz-transition: width 0.25s ease; -ms-transition: width 0.25s ease; color: #111111; padding-left: 24px; padding-right: 24px; width: calc(100% - 240px); height: 70px; -webkit-box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.11); box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.11); } @media (max-width: 991px) { .navbar .navbar-menu-wrapper { width: auto; padding-left: 15px; padding-right: 15px; } } .navbar .navbar-menu-wrapper .navbar-toggler { border: 0; color: inherit; height: 70px; border-radius: 0px; padding-left: 5px; padding-right: 20px; } .navbar .navbar-menu-wrapper .navbar-toggler:not(.navbar-toggler-right) { font-size: 1.5rem; } @media (max-width: 991px) { .navbar .navbar-menu-wrapper .navbar-toggler:not(.navbar-toggler-right) { display: none; } } @media (max-width: 991px) { .navbar .navbar-menu-wrapper .navbar-toggler.navbar-toggler-right { padding-left: 15px; padding-right: 11px; border-right: none; } } .navbar .navbar-menu-wrapper .search-form { position: relative; margin-right: 15px; } .navbar .navbar-menu-wrapper .search-form i { font-size: 20px; position: absolute; left: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); color: #626262; } .navbar .navbar-menu-wrapper .search-form input { background-color: transparent; border: none; cursor: pointer; width: 0; height: 35px; padding: 0 0 0 20px; position: relative; -webkit-transition: width 400ms ease, background 400ms ease; transition: width 400ms ease, background 400ms ease; } .navbar .navbar-menu-wrapper .search-form input:focus { background-color: transparent; border-bottom: 1px solid #626262; border-radius: 0; padding-left: 30px; background-position: 5px 7px; cursor: text; outline: 0; width: 140px; } .navbar .navbar-menu-wrapper .count-indicator { position: relative; } .navbar .navbar-menu-wrapper .count-indicator .count-symbol, .navbar .navbar-menu-wrapper .count-indicator .count-number { position: absolute; border-radius: 100%; border: 2px solid #ffffff; } .navbar .navbar-menu-wrapper .count-indicator .count-symbol { top: 17px; right: -3px; width: 10px; height: 10px; } .navbar .navbar-menu-wrapper .count-indicator .count-number { min-width: 14px; height: 14px; font-size: .5rem; color: #ffffff; bottom: 16px; right: -5px; line-height: 1; text-align: center; } .navbar .navbar-menu-wrapper .count-indicator:after { display: none; } .navbar .navbar-menu-wrapper .navbar-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item .nav-link { color: inherit; font-size: 0.875rem; margin-left: 15px; margin-right: 15px; height: 35px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } @media (max-width: 767px) { .navbar .navbar-menu-wrapper .navbar-nav .nav-item .nav-link { margin-left: .8rem; margin-right: .8rem; } } .navbar .navbar-menu-wrapper .navbar-nav .nav-item .nav-link i { font-size: 1.25rem; color: #626262; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown { height: 70px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .dropdown-toggle { position: relative; padding: 0 20px; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .dropdown-toggle:after { position: absolute; top: 50%; right: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%); font-size: 14px; color: grey; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .dropdown-menu { border: none; border-radius: 5px; -webkit-box-shadow: 0px 3px 21px 0px rgba(0, 0, 0, 0.2); box-shadow: 0px 3px 21px 0px rgba(0, 0, 0, 0.2); } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .dropdown-menu.navbar-dropdown { position: absolute; font-size: 0.9rem; margin-top: 0; padding: 0; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .dropdown-menu.navbar-dropdown .dropdown-item { margin-bottom: 0; padding: 11px 13px; cursor: pointer; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .dropdown-menu.navbar-dropdown .dropdown-item i { font-size: 17px; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .dropdown-menu.navbar-dropdown .dropdown-item .ellipsis { max-width: 200px; overflow: hidden; text-overflow: ellipsis; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .dropdown-menu.navbar-dropdown .dropdown-divider { margin: 0; } @media (max-width: 991px) { .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown { position: static; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown { left: 20px; right: 20px; top: 70px; width: calc(100% - 40px); } } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.user-dropdown { position: relative; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.user-dropdown .dropdown-menu { min-width: 250px; margin-top: 9px; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.user-dropdown .dropdown-menu .dropdown-header { padding: 20px; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.user-dropdown .dropdown-menu .dropdown-item { padding: 10px 15px; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.user-dropdown .dropdown-menu .dropdown-item .dropdown-item-icon { margin-right: 15px; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.user-dropdown .dropdown-toggle img { margin-right: 14px; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.language-dropdown { margin-left: 24px; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.language-dropdown .dropdown-menu { width: 170px; left: -15px !important; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.language-dropdown .dropdown-menu .dropdown-item { padding-left: 22px; padding-right: 12px; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.language-dropdown .dropdown-menu .dropdown-item i { margin-right: 15px; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.language-dropdown .dropdown-toggle { margin-right: 0; margin-left: 0; border-left: 1px solid #ecf0f4; padding-left: 44px; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item.language-dropdown i { font-size: 14px; } .navbar .navbar-menu-wrapper .navbar-nav .nav-item .message-dropdown.count-indicator .count { -webkit-transform: translate(-50%); transform: translate(-50%); position: absolute; width: 10px; height: 10px; border-radius: 50%; background-color: #ff4d6b; font-size: 6px; color: #ffffff; text-align: center; top: 4px; left: 50%; } @media (min-width: 992px) { .navbar .navbar-menu-wrapper .navbar-nav.navbar-nav-right { margin-left: auto; } } @media (max-width: 991px) { .navbar { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; } .navbar .navbar-brand-wrapper { width: 75px; } .navbar .navbar-brand-wrapper .navbar-brand.brand-logo { display: none; } .navbar .navbar-brand-wrapper .navbar-brand.brand-logo-mini { display: inline-block; } .navbar-collapse { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 0.5rem; } } @media (max-width: 480px) { .navbar .navbar-brand-wrapper { width: 55px; } .navbar .navbar-brand-wrapper .brand-logo-mini { padding-top: 0px; } } /* Sidebar */ .sidebar { min-height: calc(100vh - 70px); background: #181824; font-family: "Open Sans", sans-serif; padding: 0; width: 240px; z-index: 11; transition: width 0.25s ease, background 0.25s ease; -webkit-transition: width 0.25s ease, background 0.25s ease; -moz-transition: width 0.25s ease, background 0.25s ease; -ms-transition: width 0.25s ease, background 0.25s ease; } .sidebar .nav { overflow: hidden; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; margin-bottom: 60px; } .sidebar .nav .nav-item { padding: 0 1.75rem; -webkit-transition-duration: 0.25s; transition-duration: 0.25s; transition-property: background; -webkit-transition-property: background; } .sidebar .nav .nav-item .collapse { z-index: 999; } .sidebar .nav .nav-item .nav-link { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; white-space: nowrap; padding: 0.625rem 0 0.625rem 0; color: #ffffff; -webkit-transition-duration: 0.45s; transition-duration: 0.45s; transition-property: color; -webkit-transition-property: color; } :not(.sub-menu) .sidebar .nav .nav-item .nav-link { border-top: 1px solid rgba(255, 255, 255, 0.11); } .sidebar .nav .nav-item .nav-link i { color: inherit; } .sidebar .nav .nav-item .nav-link i.menu-icon { font-size: 1.125rem; line-height: 1; margin-left: auto; color: #626262; } .sidebar .nav .nav-item .nav-link i.menu-icon:before { vertical-align: middle; } .sidebar .nav .nav-item .nav-link .menu-title { color: inherit; display: inline-block; font-size: 0.875rem; line-height: 1; vertical-align: middle; } .sidebar .nav .nav-item .nav-link .badge { margin-right: auto; margin-left: 1rem; } .sidebar .nav .nav-item .nav-link[aria-expanded="true"] .menu-arrow:before { content: "\f140"; } .sidebar .nav .nav-item.active:not(.navbar-brand-mini-wrapper) { background: #282828; } .sidebar .nav .nav-item.active:not(.navbar-brand-mini-wrapper) > .nav-link .menu-title { color: #b3b3b3; font-family: "Open Sans", sans-serif; font-weight: 600; } .sidebar .nav .nav-item.active:not(.navbar-brand-mini-wrapper) > .nav-link i { color: #38ce3c; } .sidebar .nav .nav-item:not(.nav-category):hover { background: #2c2c43; } .sidebar .nav .nav-item.nav-profile { max-width: 270px; margin-top: 10px; margin-bottom: 10px; } .sidebar .nav .nav-item.nav-profile .nav-link { display: -webkit-box; display: -ms-flexbox; display: flex; border-top: none; padding: 10px 0; } .sidebar .nav .nav-item.nav-profile .nav-link .profile-image { margin-right: 15px; position: relative; } .rtl .sidebar .nav .nav-item.nav-profile .nav-link .profile-image { margin-right: 0; margin-left: 15px; } .sidebar .nav .nav-item.nav-profile .nav-link .dot-indicator { position: absolute; top: 50%; right: 0px; -webkit-transform: translate(50%, -50%); transform: translate(50%, -50%); width: 7px; height: 7px; border-radius: 50%; } .rtl .sidebar .nav .nav-item.nav-profile .nav-link .dot-indicator { left: 0; right: auto; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .sidebar .nav .nav-item.nav-profile .nav-link .profile-name { margin-bottom: 5px; font-weight: 500; font-size: 15px; } .sidebar .nav .nav-item.nav-profile .nav-link .designation { margin-bottom: 0; font-weight: 400; color: #9c9fa6; font-size: 12px; } .sidebar .nav .nav-item.nav-profile .nav-link .icon-container { font-size: 16px; position: relative; color: #626262; margin-left: auto; -ms-flex-item-align: start; align-self: flex-start; } .rtl .sidebar .nav .nav-item.nav-profile .nav-link .icon-container { margin-left: 0; margin-right: auto; } .sidebar-mini .sidebar .nav .nav-item.nav-profile .nav-link .icon-container { margin-right: auto; } .sidebar .nav .nav-item.nav-profile .nav-link .icon-container .dot-indicator { top: 0; -webkit-transform: none; transform: none; color: #626262; } .sidebar .nav .nav-item.nav-category { color: #38ce3c; font-size: 13px; font-weight: 700; text-transform: uppercase; } .sidebar .nav .nav-item.nav-category .nav-link { border: none; } .sidebar .nav .nav-item.nav-category ~ .nav-category .nav-link { border-top: 1px solid rgba(255, 255, 255, 0.11); } .sidebar .nav .nav-item.nav-category + .nav-item > .nav-link { border-top: 1px solid rgba(255, 255, 255, 0.11); } .sidebar .nav .nav-item.nav-category .nav-link { color: inherit; padding: 1rem 0 1.125rem; } .sidebar-dark .sidebar .nav .nav-item.nav-category .nav-link { color: inherit; } .sidebar .nav .nav-item.pro-upgrade .nav-link { padding-top: 2.25rem; } .sidebar .nav .nav-item.pro-upgrade .nav-link .btn-upgrade { background-image: -webkit-gradient(linear, right top, left top, from(#a25cff), to(#d78aff)); background-image: linear-gradient(to left, #a25cff, #d78aff); background-color: #a25cff; color: #ffffff; } .sidebar .nav .nav-item.pro-upgrade:hover { background-color: transparent !important; } .sidebar-dark .sidebar .nav .nav-item.pro-upgrade:hover { background-color: transparent !important; } .sidebar .nav .nav-item.navbar-brand-mini-wrapper { display: none; } .sidebar .nav .nav-item.navbar-brand-mini-wrapper .nav-link { width: 100%; } .sidebar-icon-only .sidebar .nav .nav-item.navbar-brand-mini-wrapper .nav-link { margin: 0; } .sidebar-icon-only .sidebar .nav .nav-item.navbar-brand-mini-wrapper { display: block; } .sidebar .nav:not(.sub-menu) > .nav-item:hover:not(.nav-category):not(.nav-profile) > .nav-link { color: #ffffff; } .sidebar .nav.sub-menu { margin-bottom: 20px; margin-top: 0; list-style: none; } .sidebar .nav.sub-menu .nav-item { padding: 0; } .sidebar .nav.sub-menu .nav-item .nav-link { color: #ffffff; padding: 0.75rem 2rem 0.75rem 2rem; position: relative; font-size: 0.8125rem; line-height: 1; height: auto; border-top: 0; } .sidebar .nav.sub-menu .nav-item .nav-link:before { content: "\e606"; font-family: "simple-line-icons"; display: block; position: absolute; left: 0px; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); color: white; font-size: .75rem; } .sidebar .nav.sub-menu .nav-item .nav-link.active { color: #b3b3b3; background: transparent; } .sidebar .nav.sub-menu .nav-item .nav-link:hover { color: #b3b3b3; } .sidebar .nav.sub-menu .nav-item:hover { background: transparent; } /* style for off-canvas menu*/ @media screen and (max-width: 991px) { .sidebar-offcanvas { position: fixed; max-height: calc(100vh - 70px); top: 70px; bottom: 0; overflow: auto; right: -240px; -webkit-transition: all 0.25s ease-out; transition: all 0.25s ease-out; } .sidebar-offcanvas.active { right: 0; } } .page-body-wrapper { min-height: calc(100vh - 70px); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; padding-left: 0; padding-right: 0; } .page-body-wrapper.full-page-wrapper { width: 100%; min-height: 100vh; } .navbar.fixed-top + .page-body-wrapper { padding-top: 70px; } .main-panel { -webkit-transition: width 0.25s ease, margin 0.25s ease; transition: width 0.25s ease, margin 0.25s ease; width: calc(100% - 240px); min-height: calc(100vh - 70px); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } @media (max-width: 991px) { .main-panel { margin-left: 0; width: 100%; } } .content-wrapper { background: #ecf0f4; padding: 2.75rem 1.5rem 0; width: 100%; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; } .purchace-popup .close { color: inherit; opacity: 1; } @media (max-width: 991.98px) { .purchace-popup .close { position: absolute; top: 7px; right: 10px; } } .quick-action-toolbar .card .card-header { color: #ffffff; padding: 12px 30px; background-image: -webkit-gradient(linear, right top, left top, from(#fad961), to(#f76b1c)); background-image: linear-gradient(to left, #fad961, #f76b1c); border: 0; border-radius: 0; } .quick-action-toolbar .card .card-header h5 { font-weight: 600; font-size: 18px; } .quick-action-toolbar .card .card-header p { color: inherit; } .quick-action-toolbar .card .card-header i { margin-left: 15px; -ms-flex-item-align: center; align-self: center; } .quick-action-toolbar .card .quick-action-btns .btn-light { background-color: transparent; border: none; font-size: 14px; color: #111111; font-weight: 600; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .quick-action-toolbar .card .quick-action-btns .btn-light i { color: #626262; margin-right: 15px; font-size: 18px; } .rtl .quick-action-toolbar .card .quick-action-btns .btn-light i { margin-left: 15px; margin-right: 0; } .quick-action-toolbar .card .quick-action-btns .btn-wrapper { border-right: 1px solid #e8ecf1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .quick-action-toolbar .card .quick-action-btns .btn-wrapper button { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } @media screen and (max-width: 767px) { .quick-action-toolbar .card .quick-action-btns .btn-wrapper:first-child { border-bottom: 1px solid #e8ecf1; } } @media screen and (max-width: 576px) { .quick-action-toolbar .card .quick-action-btns .btn-wrapper:first-child { border-right: none; } } @media screen and (max-width: 767px) { .quick-action-toolbar .card .quick-action-btns .btn-wrapper:nth-child(2) { border-right: none; border-bottom: 1px solid #e8ecf1; } } @media screen and (max-width: 576px) { .quick-action-toolbar .card .quick-action-btns .btn-wrapper:nth-child(3) { border-right: none; border-bottom: 1px solid #e8ecf1; } } .quick-action-toolbar .card .quick-action-btns .btn-wrapper:last-child { border: none; } .income-expense-summary-chart-text h5 { font-size: 18px; font-weight: 600; } .income-expense-summary-chart-text h3 { font-size: 24px; font-weight: bold; } .income-expense-summary-chart-legend { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .income-expense-summary-chart-legend span { display: inline-block; width: 14px; height: 14px; border: 2px solid transparent; margin-right: 10px; } .rtl .income-expense-summary-chart-legend span { margin-left: 10px; margin-right: 0; } #income-expense-summary-chart-daterange { width: 280px; border-radius: 4px; border: solid 1px #e8ecf1; background-color: #ffffff; color: #969696; } #income-expense-summary-chart-daterange .input-group-text { background-color: transparent; color: inherit; padding: 10px; border: 0; } #income-expense-summary-chart-daterange .form-control, #income-expense-summary-chart-daterange .select2-container--default .select2-selection--single, .select2-container--default #income-expense-summary-chart-daterange .select2-selection--single, #income-expense-summary-chart-daterange .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single #income-expense-summary-chart-daterange .select2-search__field, #income-expense-summary-chart-daterange .typeahead, #income-expense-summary-chart-daterange .tt-query, #income-expense-summary-chart-daterange .tt-hint { border: 0; font-size: 12px; font-weight: 600; color: inherit; padding: 0; } .income-expense-summary-chart { direction: ltr; } .income-expense-summary-chart .ct-chart .ct-series .ct-line { stroke-width: 3px; stroke-dasharray: 0; } .income-expense-summary-chart .ct-chart .ct-series-a .ct-line { stroke: #6469df; } .income-expense-summary-chart .ct-chart .ct-series-a .ct-area { fill: #6469df; } .income-expense-summary-chart .ct-chart .ct-series-b .ct-line { stroke: #33c92d; } .income-expense-summary-chart .ct-chart .ct-series-b .ct-area { fill: #33c92d; } @media screen and (max-width: 480px) { .income-expense-summary-chart .ct-chart .ct-labels .ct-label.ct-horizontal { -webkit-transform: rotate(-90deg) translateY(-50%); transform: rotate(-90deg) translateY(-50%); } } .ct-chart .ct-line { stroke-dasharray: 0; } .report-summary-header { border-bottom: solid 1px #e8ecf1; } .report-inner-cards-wrapper { padding-top: 25px; } .report-inner-cards-wrapper .report-inner-card { display: -webkit-box; display: -ms-flexbox; display: flex; border-right: solid 1px #e8ecf1; padding: 0 40px; } .rtl .report-inner-cards-wrapper .report-inner-card { border-right: none; border-left: solid 1px #e8ecf1; } @media screen and (max-width: 1199px) { .report-inner-cards-wrapper .report-inner-card { padding-top: 12.5px; padding-bottom: 12.5px; } } .report-inner-cards-wrapper .report-inner-card:first-child { padding-left: 15px; } .rtl .report-inner-cards-wrapper .report-inner-card:first-child { padding-right: 15px; padding-left: 40px; } @media screen and (max-width: 1199px) { .report-inner-cards-wrapper .report-inner-card:first-child { border-bottom: solid 1px #e8ecf1; } } @media screen and (max-width: 767px) { .report-inner-cards-wrapper .report-inner-card:first-child { border-right: none; padding-right: 12.5px; } .rtl .report-inner-cards-wrapper .report-inner-card:first-child { border-left: none; padding-left: 12.5px; } } @media screen and (max-width: 1199px) { .report-inner-cards-wrapper .report-inner-card:nth-child(2) { padding-right: 12.5px; border-bottom: solid 1px #e8ecf1; border-right: none; } .rtl .report-inner-cards-wrapper .report-inner-card:nth-child(2) { border-left: none; padding-left: 12.5px; padding-right: 40px; } } @media screen and (max-width: 767px) { .report-inner-cards-wrapper .report-inner-card:nth-child(2) { padding-left: 12.5px; } .rtl .report-inner-cards-wrapper .report-inner-card:nth-child(2) { padding-right: 12.5px; } } @media screen and (max-width: 1199px) { .report-inner-cards-wrapper .report-inner-card:nth-child(3) { padding-left: 12.5px; } .rtl .report-inner-cards-wrapper .report-inner-card:nth-child(3) { padding-left: 40px; padding-right: 12.5px; } } @media screen and (max-width: 767px) { .report-inner-cards-wrapper .report-inner-card:nth-child(3) { border-right: none; padding-right: 12.5px; border-bottom: solid 1px #e8ecf1; } .rtl .report-inner-cards-wrapper .report-inner-card:nth-child(3) { border-left: none; padding-left: 12.5px; } } .report-inner-cards-wrapper .report-inner-card:last-child { border-right: 0; padding-right: 15px; } .rtl .report-inner-cards-wrapper .report-inner-card:last-child { border-left: none; padding-left: 15px; padding-right: 40px; } @media screen and (max-width: 767px) { .report-inner-cards-wrapper .report-inner-card:last-child { border-right: none; padding-left: 12.5px; } .rtl .report-inner-cards-wrapper .report-inner-card:last-child { border-left: none; padding-right: 12.5px; } } .report-inner-cards-wrapper .report-inner-card .inner-card-text { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } .report-inner-cards-wrapper .report-inner-card .report-title { font-size: 14px; font-weight: 600; color: #111111; } .report-inner-cards-wrapper .report-inner-card h4 { font-weight: bold; } .report-inner-cards-wrapper .report-inner-card .report-count { font-size: 14px; color: #8e32e9; } .report-inner-cards-wrapper .report-inner-card .inner-card-icon { width: 62px; height: 62px; font-size: 25px; color: #ffffff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-left: auto; } .rtl .report-inner-cards-wrapper .report-inner-card .inner-card-icon { margin-left: 0; margin-right: auto; } .aligner-wrapper { position: relative; } .aligner-wrapper .wrapper { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .square-indicator { display: inline-block; width: 13px; height: 13px; } .square-indicator + p { font-size: 12px; font-weight: 600; color: #a7afb7; } #performance-indicator-chart .ct-series.ct-series-a line { stroke: #ff4d6b; } #performance-indicator-chart .ct-series.ct-series-b line { stroke: #8e32e9; } #performance-indicator-chart .ct-series.ct-series-c line { stroke: #1bdbe0; } #performance-indicator-chart .ct-series .ct-bar { stroke-width: 8px; stroke-linecap: round; } @media screen and (max-width: 480px) { #performance-indicator-chart .ct-series .ct-bar { stroke-width: 4px; } } @media screen and (max-width: 480px) { #performance-indicator-chart .ct-labels .ct-label.ct-horizontal { -webkit-transform: rotate(-90deg) translateY(20%); transform: rotate(-90deg) translateY(20%); } } .performane-indicator-card .data-time-range { color: #a7afb7; font-size: 12px; font-weight: 600; margin-left: 20px; } .performane-indicator-card .data-time-range.active { color: #111111; } .table td img.gateway-icon { width: 20px; height: 20px; min-width: 20px; } .pagination .page-item .page-link { font-size: 12px; font-weight: 600; } @media screen and (max-width: 576px) { .pagination .page-item .page-link { padding: 0.25rem 0.5rem; } } /*# sourceMappingURL=style.css.map */ ================================================ FILE: gulp-tasks/inject.js ================================================ 'use strict' var gulp = require('gulp'); var injectPartials = require('gulp-inject-partials'); var inject = require('gulp-inject'); var rename = require('gulp-rename'); var prettify = require('gulp-prettify'); var replace = require('gulp-replace'); var merge = require('merge-stream'); /* inject partials like sidebar and navbar */ gulp.task('injectPartial', function () { return gulp.src(["./pages/*/*.html", "./index.html"], { base: "./" }) .pipe(injectPartials()) .pipe(gulp.dest(".")); }); /* inject Js and CCS assets into HTML */ gulp.task('injectAssets', function () { return gulp.src(["./**/*.html"]) .pipe(inject(gulp.src([ './vendors/simple-line-icons/css/simple-line-icons.css', './vendors/flag-icon-css/css/flag-icon.min.css', './vendors/css/vendor.bundle.base.css', './vendors/js/vendor.bundle.base.js', ], { read: false }), { name: 'plugins', relative: true })) .pipe(inject(gulp.src([ './js/off-canvas.js', './js/misc.js' ], { read: false }), { relative: true })) .pipe(gulp.dest('.')); }); /*replace image path and linking after injection*/ gulp.task('replacePath', function () { var replacePath1 = gulp.src('./pages/**/*.html', { base: "./" }) .pipe(replace('src="images/', 'src="../../images/')) .pipe(replace('href="pages/', 'href="../../pages/')) .pipe(replace('href="index.html"', 'href="../../index.html"')) .pipe(gulp.dest('.')); var replacePath2 = gulp.src('./**/index.html', { base: "./" }) .pipe(replace('src="images/', 'src="images/')) .pipe(gulp.dest('.')); return merge(replacePath1, replacePath2); }); gulp.task('html-beautify', function () { return gulp.src(['./**/*.html', '!node_modules/**/*.html']) .pipe(prettify({ unformatted: ['pre', 'code', 'textarea'] })) .pipe(gulp.dest(function (file) { return file.base; })); }); /*sequence for injecting partials and replacing paths*/ gulp.task('inject', gulp.series('injectPartial', 'injectAssets', 'html-beautify', 'replacePath')); ================================================ FILE: gulp-tasks/serve.js ================================================ 'use strict' var gulp = require('gulp'); var browserSync = require('browser-sync').create(); var sass = require('gulp-sass'); var gutil = require('gulp-util'); var plumber = require('gulp-plumber'); var notify = require('gulp-notify'); var sourcemaps = require('gulp-sourcemaps'); var autoprefixer = require('gulp-autoprefixer'); // const del = require('del'); gulp.task('sass', function () { return gulp.src('./scss/**/*.scss') .pipe(sourcemaps.init()) .pipe(plumber({ errorHandler: function (err) { notify.onError({ title: "Gulp error in " + err.plugin, message: err.toString() })(err); gutil.beep(); } })) .pipe(sass()) .pipe(autoprefixer({ overrideBrowserslist: ['last 2 versions'], cascade: false })) .pipe(sourcemaps.write('./')) .pipe(gulp.dest('./css')) .pipe(browserSync.stream()); }); // Static Server + watching scss/html files gulp.task('serve', gulp.series('sass', function () { browserSync.init({ port: 3000, server: "./", ghostMode: false, notify: false }); gulp.watch('./scss/**/*.scss', gulp.series('sass')); gulp.watch(['./js/**/*.js', './**/*.html', './css/**/*.css']).on('change', browserSync.reload); })); gulp.task('sass:watch', function () { gulp.watch('./scss/**/*.scss'); }); // Static Server without watching scss files gulp.task('serve:lite', function () { browserSync.init({ server: "./", ghostMode: false, notify: false }); gulp.watch('**/*.css').on('change', browserSync.reload); gulp.watch('**/*.html').on('change', browserSync.reload); gulp.watch('**/*.js').on('change', browserSync.reload); }); ================================================ FILE: gulp-tasks/vendors.js ================================================ 'use strict' var gulp = require('gulp'); var concat = require('gulp-concat'); var merge = require('merge-stream'); const del = require('del'); gulp.task('clean:vendors', function () { return del([ './vendors/**/*' ]); }); /*Building vendor scripts needed for basic template rendering*/ gulp.task('buildBaseVendorScripts', function() { return gulp.src([ './node_modules/jquery/dist/jquery.min.js', './node_modules/popper.js/dist/umd/popper.min.js', './node_modules/bootstrap/dist/js/bootstrap.min.js', './node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js' ]) .pipe(concat('vendor.bundle.base.js')) .pipe(gulp.dest('./vendors/js')); }); /*Building vendor styles needed for basic template rendering*/ gulp.task('buildBaseVendorStyles', function() { return gulp.src(['./node_modules/perfect-scrollbar/css/perfect-scrollbar.css']) .pipe(concat('vendor.bundle.base.css')) .pipe(gulp.dest('./vendors/css')); }); /*Scripts for addons*/ gulp.task('buildOptionalVendorScripts', function() { var aScript1 = gulp.src(['node_modules/chart.js/dist/Chart.min.js']) .pipe(gulp.dest('./vendors/chart.js')); var aScript2 = gulp.src(['node_modules/progressbar.js/dist/progressbar.min.js']) .pipe(gulp.dest('./vendors/progressbar.js')); var aScript3 = gulp.src(['node_modules/moment/moment.js']) .pipe(gulp.dest('./vendors/moment')); var aScript4 = gulp.src(['node_modules/chartist/dist/chartist.min.js']) .pipe(gulp.dest('./vendors/chartist')); var aScript5 = gulp.src(['node_modules/moment/min/moment.min.js']) .pipe(gulp.dest('./vendors/moment')); var aScript6 = gulp.src(['node_modules/select2/dist/js/select2.min.js']) .pipe(gulp.dest('./vendors/select2')); var aScript7 = gulp.src(['node_modules/twbs-pagination/jquery.twbsPagination.min.js']) .pipe(gulp.dest('./vendors/twbs-pagination')); var aScript8 = gulp.src(['node_modules/daterangepicker/daterangepicker.js']) .pipe(gulp.dest('./vendors/daterangepicker')); var aScript9 = gulp.src(['node_modules/typeahead.js/dist/typeahead.bundle.min.js']) .pipe(gulp.dest('./vendors/typeahead.js')); return merge(aScript1, aScript2, aScript3, aScript4, aScript5, aScript6, aScript7, aScript8), aScript9; }); /*Styles for addons*/ gulp.task('buildOptionalVendorStyles', function() { var aStyle1 = gulp.src(['./node_modules/flag-icon-css/css/flag-icon.min.css']) .pipe(gulp.dest('./vendors/flag-icon-css/css')); var aStyle2 = gulp.src(['./node_modules/flag-icon-css/flags/**/*']) .pipe(gulp.dest('./vendors/flag-icon-css/flags')); var aStyle3 = gulp.src(['./node_modules/simple-line-icons/css/simple-line-icons.css']) .pipe(gulp.dest('./vendors/simple-line-icons/css')); var aStyle4 = gulp.src(['./node_modules/simple-line-icons/fonts/*']) .pipe(gulp.dest('./vendors/simple-line-icons/fonts')); var aStyle5= gulp.src(['node_modules/chartist/dist/chartist.min.css']) .pipe(gulp.dest('./vendors/chartist')); var aStyle6 = gulp.src(['node_modules/select2/dist/css/select2.min.css']) .pipe(gulp.dest('./vendors/select2')); var aStyle7 = gulp.src(['node_modules/select2-bootstrap-theme/dist/select2-bootstrap.min.css']) .pipe(gulp.dest('./vendors/select2-bootstrap-theme')); var aStyle8 = gulp.src(['./node_modules/daterangepicker/daterangepicker.css']) .pipe(gulp.dest('./vendors/daterangepicker')); return merge(aStyle1, aStyle2, aStyle3, aStyle4, aStyle5, aStyle6, aStyle7, aStyle8); }); //Copy essential map files gulp.task('copyMapFiles', function() { var map1 = gulp.src('node_modules/bootstrap/dist/js/bootstrap.min.js.map') .pipe(gulp.dest('./vendors/js')); var map2 = gulp.src('node_modules/chartist/dist/chartist.min.js.map') .pipe(gulp.dest('./vendors/chartist')); return merge(map1, map2); }); /*sequence for building vendor scripts and styles*/ gulp.task('bundleVendors', gulp.series('clean:vendors', 'buildBaseVendorStyles','buildBaseVendorScripts', 'buildOptionalVendorStyles', 'buildOptionalVendorScripts', 'copyMapFiles')); ================================================ FILE: gulpfile.js ================================================ 'use strict' var gulp = require('gulp'); var requireDir = require('require-dir'); requireDir('gulp-tasks'); gulp.paths = { dist: 'dist', }; var paths = gulp.paths; gulp.task('default', gulp.series('serve')); ================================================ FILE: index.html ================================================ Stellar Admin

Get tons of UI components, Plugins, multiple layouts, 20+ sample pages, and more!

Upgrade To Pro

Sessions by channel

8.234

Total Leads

Assigned

Not Assigned

Reassigned

Performance Indicator

7d 2w 1m 3m 6m

Complaints (2098)

Task Done (1123)

Attends (876)

Quick Actions

How are your active users trending overtime?

Report Summary
Updated Report
EXPENSE

$32123

2 Reports
PURCHASE

95,458

3 Reports
QUANTITY

2650

5 Reports
RETURN

25,542

9 Reports
Income And Expenses Summary

A comparison of people who mark themselves of their ineterest from the date range given above. Learn more.

Total Income

$ 1,766.00

Total Expense

$ 5,698.30

Products Inventory

View all Products
Store ID Amount Gateway Created at Paid at Status
profile image Katie Holmes $3621 alipay alipay 04 Jun 2019 18 Jul 2019
Paid
profile image Minnie Copeland $6245 alipay Paypal 25 Sep 2019 07 Oct 2019
Pending
profile image Rodney Sims $9265 alipay alipay 12 dec 2019 26 Aug 2019
Failed
profile image Carolyn Barker $2263 alipay alipay 30 Sep 2019 20 Oct 2019
Paid

Showing 1 to 10 of 57 entries

================================================ FILE: js/chart.js ================================================ $(function() { /* ChartJS * ------- * Data and config for chartjs */ 'use strict'; var data = { labels: ["2013", "2014", "2014", "2015", "2016", "2017"], datasets: [{ label: '# of Votes', data: [10, 19, 3, 5, 2, 3], backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)', 'rgba(75, 192, 192, 0.2)', 'rgba(153, 102, 255, 0.2)', 'rgba(255, 159, 64, 0.2)' ], borderColor: [ 'rgba(255,99,132,1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)' ], borderWidth: 1, fill: false }] }; var multiLineData = { labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"], datasets: [{ label: 'Dataset 1', data: [12, 19, 3, 5, 2, 3], borderColor: [ '#587ce4' ], borderWidth: 2, fill: false }, { label: 'Dataset 2', data: [5, 23, 7, 12, 42, 23], borderColor: [ '#ede190' ], borderWidth: 2, fill: false }, { label: 'Dataset 3', data: [15, 10, 21, 32, 12, 33], borderColor: [ '#f44252' ], borderWidth: 2, fill: false } ] }; var options = { scales: { yAxes: [{ ticks: { beginAtZero: true } }] }, legend: { display: false }, elements: { point: { radius: 0 } } }; var doughnutPieData = { datasets: [{ data: [30, 40, 30], backgroundColor: [ 'rgba(255, 99, 132, 0.5)', 'rgba(54, 162, 235, 0.5)', 'rgba(255, 206, 86, 0.5)', 'rgba(75, 192, 192, 0.5)', 'rgba(153, 102, 255, 0.5)', 'rgba(255, 159, 64, 0.5)' ], borderColor: [ 'rgba(255,99,132,1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)' ], }], // These labels appear in the legend and in the tooltips when hovering different arcs labels: [ 'Pink', 'Blue', 'Yellow', ] }; var doughnutPieOptions = { responsive: true, animation: { animateScale: true, animateRotate: true } }; var areaData = { labels: ["2013", "2014", "2015", "2016", "2017"], datasets: [{ label: '# of Votes', data: [12, 19, 3, 5, 2, 3], backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)', 'rgba(75, 192, 192, 0.2)', 'rgba(153, 102, 255, 0.2)', 'rgba(255, 159, 64, 0.2)' ], borderColor: [ 'rgba(255,99,132,1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)' ], borderWidth: 1, fill: true, // 3: no fill }] }; var areaOptions = { plugins: { filler: { propagate: true } } } var multiAreaData = { labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], datasets: [{ label: 'Facebook', data: [8, 11, 13, 15, 12, 13, 16, 15, 13, 19, 11, 14], borderColor: ['rgba(255, 99, 132, 0.5)'], backgroundColor: ['rgba(255, 99, 132, 0.5)'], borderWidth: 1, fill: true }, { label: 'Twitter', data: [7, 17, 12, 16, 14, 18, 16, 12, 15, 11, 13, 9], borderColor: ['rgba(54, 162, 235, 0.5)'], backgroundColor: ['rgba(54, 162, 235, 0.5)'], borderWidth: 1, fill: true }, { label: 'Linkedin', data: [6, 14, 16, 20, 12, 18, 15, 12, 17, 19, 15, 11], borderColor: ['rgba(255, 206, 86, 0.5)'], backgroundColor: ['rgba(255, 206, 86, 0.5)'], borderWidth: 1, fill: true } ] }; var multiAreaOptions = { plugins: { filler: { propagate: true } }, elements: { point: { radius: 0 } }, scales: { xAxes: [{ gridLines: { display: false } }], yAxes: [{ gridLines: { display: false } }] } } var scatterChartData = { datasets: [{ label: 'First Dataset', data: [{ x: -10, y: 0 }, { x: 0, y: 3 }, { x: -25, y: 5 }, { x: 40, y: 5 } ], backgroundColor: [ 'rgba(255, 99, 132, 0.2)' ], borderColor: [ 'rgba(255,99,132,1)' ], borderWidth: 1 }, { label: 'Second Dataset', data: [{ x: 10, y: 5 }, { x: 20, y: -30 }, { x: -25, y: 15 }, { x: -10, y: 5 } ], backgroundColor: [ 'rgba(54, 162, 235, 0.2)', ], borderColor: [ 'rgba(54, 162, 235, 1)', ], borderWidth: 1 } ] } var scatterChartOptions = { scales: { xAxes: [{ type: 'linear', position: 'bottom' }] } } // Get context with jQuery - using jQuery's .get() method. if ($("#barChart").length) { var barChartCanvas = $("#barChart").get(0).getContext("2d"); // This will get the first returned node in the jQuery collection. var barChart = new Chart(barChartCanvas, { type: 'bar', data: data, options: options }); } if ($("#lineChart").length) { var lineChartCanvas = $("#lineChart").get(0).getContext("2d"); var lineChart = new Chart(lineChartCanvas, { type: 'line', data: data, options: options }); } if ($("#linechart-multi").length) { var multiLineCanvas = $("#linechart-multi").get(0).getContext("2d"); var lineChart = new Chart(multiLineCanvas, { type: 'line', data: multiLineData, options: options }); } if ($("#areachart-multi").length) { var multiAreaCanvas = $("#areachart-multi").get(0).getContext("2d"); var multiAreaChart = new Chart(multiAreaCanvas, { type: 'line', data: multiAreaData, options: multiAreaOptions }); } if ($("#doughnutChart").length) { var doughnutChartCanvas = $("#doughnutChart").get(0).getContext("2d"); var doughnutChart = new Chart(doughnutChartCanvas, { type: 'doughnut', data: doughnutPieData, options: doughnutPieOptions }); } if ($("#pieChart").length) { var pieChartCanvas = $("#pieChart").get(0).getContext("2d"); var pieChart = new Chart(pieChartCanvas, { type: 'pie', data: doughnutPieData, options: doughnutPieOptions }); } if ($("#areaChart").length) { var areaChartCanvas = $("#areaChart").get(0).getContext("2d"); var areaChart = new Chart(areaChartCanvas, { type: 'line', data: areaData, options: areaOptions }); } if ($("#scatterChart").length) { var scatterChartCanvas = $("#scatterChart").get(0).getContext("2d"); var scatterChart = new Chart(scatterChartCanvas, { type: 'scatter', data: scatterChartData, options: scatterChartOptions }); } if ($("#browserTrafficChart").length) { var doughnutChartCanvas = $("#browserTrafficChart").get(0).getContext("2d"); var doughnutChart = new Chart(doughnutChartCanvas, { type: 'doughnut', data: browserTrafficData, options: doughnutPieOptions }); } }); ================================================ FILE: js/chartist.js ================================================ (function($) { //simple line 'use strict'; if ($('#ct-chart-line').length) { new Chartist.Line('#ct-chart-line', { labels: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'], series: [ [12, 9, 7, 8, 5], [2, 1, 3.5, 7, 3], [1, 3, 4, 5, 6] ] }, { fullWidth: true, chartPadding: { right: 40 } }); } //Line scatterer var times = function(n) { return Array.apply(null, new Array(n)); }; var data = times(52).map(Math.random).reduce(function(data, rnd, index) { data.labels.push(index + 1); for (var i = 0; i < data.series.length; i++) { data.series[i].push(Math.random() * 100) } return data; }, { labels: [], series: times(4).map(function() { return new Array() }) }); var options = { showLine: false, axisX: { labelInterpolationFnc: function(value, index) { return index % 13 === 0 ? 'W' + value : null; } } }; var responsiveOptions = [ ['screen and (min-width: 640px)', { axisX: { labelInterpolationFnc: function(value, index) { return index % 4 === 0 ? 'W' + value : null; } } }] ]; if ($('#ct-chart-line-scatterer').length) { new Chartist.Line('#ct-chart-line-scatterer', data, options, responsiveOptions); } //Stacked bar Chart if ($('#ct-chart-stacked-bar').length) { new Chartist.Bar('#ct-chart-stacked-bar', { labels: ['Q1', 'Q2', 'Q3', 'Q4'], series: [ ['800000', '1200000', '1400000', '1300000'], ['200000', '400000', '500000', '300000'], ['100000', '200000', '400000', '600000'], ['400000', '600000', '200000', '0000'] ] }, { stackBars: true, axisY: { labelInterpolationFnc: function(value) { return (value / 1000) + 'k'; } } }).on('draw', function(data) { if (data.type === 'bar') { data.element.attr({ style: 'stroke-width: 30px' }); } }); } //Horizontal bar chart if ($('#ct-chart-horizontal-bar').length) { new Chartist.Bar('#ct-chart-horizontal-bar', { labels: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], series: [ [5, 4, 3, 7, 5, 10, 3], [3, 2, 9, 5, 4, 6, 4], [2, 6, 7, 1, 3, 5, 9], [2, 6, 7, 1, 3, 5, 19], ] }, { seriesBarDistance: 10, reverseData: true, horizontalBars: true, axisY: { offset: 20 } }); } //Pie if ($('#ct-chart-pie').length) { var data = { series: [5, 3, 4] }; var sum = function(a, b) { return a + b }; new Chartist.Pie('#ct-chart-pie', data, { labelInterpolationFnc: function(value) { return Math.round(value / data.series.reduce(sum) * 100) + '%'; } }); } //Donut var labels = ['safari', 'chrome', 'explorer', 'firefox']; var data = { series: [20, 40, 10, 30] }; if ($('#ct-chart-donut').length) { new Chartist.Pie('#ct-chart-donut', data, { donut: true, donutWidth: 60, donutSolid: true, startAngle: 270, showLabel: true, labelInterpolationFnc: function(value, index) { var percentage = Math.round(value / data.series.reduce(sum) * 100) + '%'; return labels[index] + ' ' + percentage; } }); } //Dashboard Tickets Chart if ($('#ct-chart-dash-barChart').length) { new Chartist.Bar('#ct-chart-dash-barChart', { labels: ['Week 1', 'Week 2', 'Week 3', 'Week 4'], series: [ [300, 140, 230, 140], [323, 529, 644, 230], [734, 539, 624, 334], ] }, { stackBars: true, axisY: { labelInterpolationFnc: function(value) { return (value / 100) + 'k'; } } }).on('draw', function(data) { if (data.type === 'bar') { data.element.attr({ style: 'stroke-width: 50px' }); } }); } //dashboard staked bar chart if ($('#ct-chart-vartical-stacked-bar').length) { new Chartist.Bar('#ct-chart-vartical-stacked-bar', { labels: ['J', 'F', 'M', 'A', 'M', 'J', 'A'], series: [{ "name": "Income", "data": [8, 4, 6, 3, 7, 3, 8] }, { "name": "Outcome", "data": [2, 7, 4, 8, 4, 6, 1] }, { "name": "Revenue", "data": [4, 3, 3, 6, 7, 2, 4] } ] }, { seriesBarDistance: 10, reverseData: true, horizontalBars: false, height: '280px', fullWidth: true, chartPadding: { top: 30, left: 0, right: 0, bottom: 0 }, plugins: [ Chartist.plugins.legend() ] }); } })(jQuery); ================================================ FILE: js/dashboard.js ================================================ (function ($) { 'use strict'; $(function () { var start = moment().subtract(29, 'days'); var end = moment(); function cb(start, end) { $('#income-expense-summary-chart-daterange input').val(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY')); } $('#income-expense-summary-chart-daterange').daterangepicker({ opens: 'left', startDate: start, endDate: end, ranges: { 'Today': [moment(), moment()], 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], 'Last 7 Days': [moment().subtract(6, 'days'), moment()], 'Last 30 Days': [moment().subtract(29, 'days'), moment()], 'This Month': [moment().startOf('month'), moment().endOf('month')], 'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] } }, cb); cb(start, end); // Income Expenses Summary Chart with chartist line chart var data = { // A labels array that can contain any sort of values labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // Our series array that contains series objects or in this case series data arrays series: [ [505, 781, 480, 985, 410, 822, 388, 874, 350, 642, 320, 796], [700, 430, 725, 390, 686, 392, 757, 500, 820, 400, 962, 420] ] }; var options = { height:300, fullWidth:true, axisY: { high: 1000, low: 250, referenceValue: 1000, type: Chartist.FixedScaleAxis, ticks: [250, 500, 750, 1000] }, showArea: true, showPoint: false } var responsiveOptions = [ ['screen and (max-width: 480px)', { height: 150, axisX: { labelInterpolationFnc: function (value) { return value; } } }] ]; // Create a new line chart object where as first parameter we pass in a selector // that is resolving to our chart container element. The Second parameter // is the actual data object. new Chartist.Line('#income-expense-summary-chart', data, options, responsiveOptions); //Sessions by Channel doughnut chart var doughnutChartCanvas = $("#sessionsDoughnutChart").get(0).getContext("2d"); var doughnutPieData = { datasets: [{ data: [55,25,20], backgroundColor: [ '#ffca00', '#38ce3c', '#ff4d6b' ], borderColor: [ '#ffca00', '#38ce3c', '#ff4d6b' ], }], // These labels appear in the legend and in the tooltips when hovering different arcs labels: [ 'Reassigned', 'Not Assigned', 'Assigned' ] }; var doughnutPieOptions = { cutoutPercentage: 75, animationEasing: "easeOutBounce", animateRotate: true, animateScale: false, responsive: true, maintainAspectRatio: true, showScale: true, legend: { display: false }, layout: { padding: { left: 0, right: 0, top: 0, bottom: 0 } } }; var doughnutChart = new Chart(doughnutChartCanvas, { type: 'doughnut', data: doughnutPieData, options: doughnutPieOptions }); //performance indicator bar chart new Chartist.Bar('#performance-indicator-chart', { labels: ['Jan', 'Feb', 'Mar', 'Apr', 'may', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], series: [ [30, 25, 50, 25, 50, 25, 50, 55, 20, 35, 25, 30 ], [25, 50, 10, 35, 30, 15, 20, 20, 30, 25, 10, 15 ], [45, 25, 40, 40, 20, 60, 30, 25, 50, 40, 65, 55 ] ] }, { stackBars: true, height: 200, axisY: { type: Chartist.FixedScaleAxis, ticks: [0, 25, 50, 75, 100] }, showGridBackground: false }, [ ['screen and (max-width: 480px)', { height: 150, }] ] ); //Pro purchase banner close $('.purchace-popup .popup-dismiss').on('click', function(){ $('.purchace-popup').hide(); }) }); })(jQuery); ================================================ FILE: js/misc.js ================================================ (function($) { 'use strict'; $(function() { var body = $('body'); var contentWrapper = $('.content-wrapper'); var scroller = $('.container-scroller'); var footer = $('.footer'); var sidebar = $('.sidebar'); //Add active class to nav-link based on url dynamically //Active class can be hard coded directly in html file also as required function addActiveClass(element) { if (current === "") { //for root url if (element.attr('href').indexOf("index.html") !== -1) { element.parents('.nav-item').last().addClass('active'); if (element.parents('.sub-menu').length) { element.closest('.collapse').addClass('show'); element.addClass('active'); } } } else { //for other url if (element.attr('href').indexOf(current) !== -1) { element.parents('.nav-item').last().addClass('active'); if (element.parents('.sub-menu').length) { element.closest('.collapse').addClass('show'); element.addClass('active'); } if (element.parents('.submenu-item').length) { element.addClass('active'); } } } } var current = location.pathname.split("/").slice(-1)[0].replace(/^\/|\/$/g, ''); $('.nav li a', sidebar).each(function() { var $this = $(this); addActiveClass($this); }) $('.horizontal-menu .nav li a').each(function() { var $this = $(this); addActiveClass($this); }) //Close other submenu in sidebar on opening any sidebar.on('show.bs.collapse', '.collapse', function() { sidebar.find('.collapse.show').collapse('hide'); }); //Change sidebar and content-wrapper height applyStyles(); function applyStyles() { //Applying perfect scrollbar if (!body.hasClass("rtl")) { if ($('.settings-panel .tab-content .tab-pane.scroll-wrapper').length) { const settingsPanelScroll = new PerfectScrollbar('.settings-panel .tab-content .tab-pane.scroll-wrapper'); } if ($('.chats').length) { const chatsScroll = new PerfectScrollbar('.chats'); } if (body.hasClass("sidebar-fixed")) { var fixedSidebarScroll = new PerfectScrollbar('#sidebar .nav'); } } } $('[data-toggle="minimize"]').on("click", function() { if ((body.hasClass('sidebar-toggle-display')) || (body.hasClass('sidebar-absolute'))) { body.toggleClass('sidebar-hidden'); } else { body.toggleClass('sidebar-icon-only'); } }); //checkbox and radios $(".form-check label,.form-radio label").append(''); //fullscreen $("#fullscreen-button").on("click", function toggleFullScreen() { if ((document.fullScreenElement !== undefined && document.fullScreenElement === null) || (document.msFullscreenElement !== undefined && document.msFullscreenElement === null) || (document.mozFullScreen !== undefined && !document.mozFullScreen) || (document.webkitIsFullScreen !== undefined && !document.webkitIsFullScreen)) { if (document.documentElement.requestFullScreen) { document.documentElement.requestFullScreen(); } else if (document.documentElement.mozRequestFullScreen) { document.documentElement.mozRequestFullScreen(); } else if (document.documentElement.webkitRequestFullScreen) { document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT); } else if (document.documentElement.msRequestFullscreen) { document.documentElement.msRequestFullscreen(); } } else { if (document.cancelFullScreen) { document.cancelFullScreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); } else if (document.msExitFullscreen) { document.msExitFullscreen(); } } }) }); })(jQuery); ================================================ FILE: js/off-canvas.js ================================================ (function($) { 'use strict'; $(function() { $('[data-toggle="offcanvas"]').on("click", function() { $('.sidebar-offcanvas').toggleClass('active') }); }); })(jQuery); ================================================ FILE: js/select2.js ================================================ (function($) { 'use strict'; if ($(".js-example-basic-single").length) { $(".js-example-basic-single").select2(); } if ($(".js-example-basic-multiple").length) { $(".js-example-basic-multiple").select2(); } })(jQuery); ================================================ FILE: js/typeahead.js ================================================ (function($) { 'use strict'; var substringMatcher = function(strs) { return function findMatches(q, cb) { var matches, substringRegex; // an array that will be populated with substring matches matches = []; // regex used to determine if a string contains the substring `q` var substrRegex = new RegExp(q, 'i'); // iterate through the pool of strings and for any string that // contains the substring `q`, add it to the `matches` array for (var i = 0; i < strs.length; i++) { if (substrRegex.test(strs[i])) { matches.push(strs[i]); } } cb(matches); }; }; var states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming' ]; $('#the-basics .typeahead').typeahead({ hint: true, highlight: true, minLength: 1 }, { name: 'states', source: substringMatcher(states) }); // constructs the suggestion engine var states = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.whitespace, queryTokenizer: Bloodhound.tokenizers.whitespace, // `states` is an array of state names defined in "The Basics" local: states }); $('#bloodhound .typeahead').typeahead({ hint: true, highlight: true, minLength: 1 }, { name: 'states', source: states }); })(jQuery); ================================================ FILE: package.json ================================================ { "name": "purple_admin", "version": "3.0.0", "description": "", "main": "index.html", "dependencies": { "bootstrap": "^4.3.1", "chart.js": "^2.8.0", "chartist": "^0.11.2", "daterangepicker": "^3.0.5", "flag-icon-css": "^3.3.0", "jquery": "^3.4.1", "moment": "^2.24.0", "perfect-scrollbar": "^1.4.0", "popper.js": "^1.15.0", "progressbar.js": "^1.0.1", "pwstabs": "^1.4.0", "select2": "^4.0.7", "select2-bootstrap-theme": "0.1.0-beta.10", "simple-line-icons": "^2.4.1", "twbs-pagination": "^1.4.1", "typeahead.js": "^0.11.1" }, "devDependencies": { "browser-sync": "^2.26.7", "compass-mixins": "^0.12.10", "del": "^5.0.0", "gulp": "^4.0.2", "gulp-autoprefixer": "^6.1.0", "gulp-clean-css": "^4.2.0", "gulp-concat": "^2.6.1", "gulp-htmlmin": "^5.0.1", "gulp-inject": "5.0.2", "gulp-inject-partials": "^1.0.5", "gulp-notify": "^3.2.0", "gulp-plumber": "^1.2.1", "gulp-prettify": "^0.5.0", "gulp-rename": "^1.4.0", "gulp-replace": "^1.0.0", "gulp-sass": "^4.0.2", "gulp-sourcemaps": "^2.6.5", "gulp-util": "^3.0.8", "merge-stream": "^2.0.0", "minimatch": "^3.0.4", "require-dir": "^1.2.0", "run-sequence": "^2.2.1" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "bootstrapdash", "url": "http://www.bootstrapdash.com/", "copyright": "", "license": "" } ================================================ FILE: pages/charts/chartist.html ================================================ Stellar Admin

Simple Line chart

Line scatterer

Stacked bar chart

Horizontal bar chart

Pie chart

Donut

================================================ FILE: pages/forms/basic_elements.html ================================================ Stellar Admin

Default form

Basic form layout

Horizontal Form

Horizontal form layout

Basic form elements

Basic form elements

Input size

Add classes like .form-control-lg and .form-control-sm.

Select size

Add classes like .form-control-lg and .form-control-sm.

Basic input groups

Basic bootstrap input groups

@
$
.00
$
0.00

Checkbox Controls

Checkbox and radio controls (default appearance is in primary color)

Add class .form-check-{color} for checkbox and radio controls in theme colors

Inline forms

Use the .form-inline class to display a series of labels, form controls, and buttons on a single horizontal row

@

Horizontal Two column

Personal info

Address

Select 2

Typeahead

A simple suggestion engine

================================================ FILE: pages/icons/simple-line-icons.html ================================================ Stellar Admin

Simple line icons

icon-user
icon-people
icon-user-female
icon-user-follow
icon-user-following
icon-user-unfollow
icon-login
icon-logout
icon-emotsmile
icon-phone
icon-call-end
icon-call-in
icon-call-out
icon-map
icon-location-pin
icon-direction
icon-directions
icon-compass
icon-layers
icon-menu
icon-list
icon-options-vertical
icon-options
icon-arrow-down
icon-arrow-left
icon-arrow-right
icon-arrow-up
icon-arrow-up-circle
icon-arrow-left-circle
icon-arrow-right-circle
icon-arrow-down-circle
icon-check
icon-clock
icon-plus
icon-close
icon-trophy
icon-screen-smartphone
icon-screen-desktop
icon-plane
icon-notebook
icon-mustache
icon-mouse
icon-magnet
icon-energy
icon-disc
icon-cursor
icon-cursor-move
icon-crop
icon-chemistry
icon-speedometer
icon-shield
icon-screen-tablet
icon-magic-wand
icon-hourglass
icon-graduation
icon-ghost
icon-game-controller
icon-fire
icon-eyeglass
icon-envelope-open
icon-envelope-letter
icon-bell
icon-badge
icon-anchor
icon-wallet
icon-vector
icon-speech
icon-puzzle
icon-printer
icon-present
icon-playlist
icon-pin
icon-picture
icon-handbag
icon-globe-alt
icon-globe
icon-folder-alt
icon-folder
icon-film
icon-feed
icon-drop
icon-drawer
icon-docs
icon-doc
icon-diamond
icon-cup
icon-calculator
icon-bubbles
icon-briefcase
icon-book-open
icon-basket-loaded
icon-basket
icon-bag
icon-action-undo
icon-action-redo
icon-wrench
icon-umbrella
icon-trash
icon-tag
.icon-support
icon-frame
icon-size-fullscreen
icon-size-actual
icon-shuffle
icon-share-alt
icon-share
icon-rocket
icon-question
icon-pie-chart
icon-pencil
icon-note
icon-loop
icon-home
icon-grid
icon-graph
icon-microphone
icon-music-tone-alt
icon-music-tone
icon-earphones-alt
icon-earphones
icon-equalizer
icon-like
icon-dislike
icon-control-start
icon-control-rewind
icon-control-play
icon-control-pause
icon-control-forward
icon-control-end
icon-volume-1
icon-volume-2
icon-volume-off
icon-calendar
icon-bulb
icon-chart
icon-ban
icon-bubble
icon-camrecorder
icon-camera
icon-cloud-download
icon-cloud-upload
icon-eye
icon-flag
icon-heart
icon-info
icon-key
icon-link
icon-lock
icon-lock-open
icon-magnifier
icon-magnifier-add
icon-magnifier-remove
icon-paper-clip
icon-paper-plane
icon-power
icon-refresh
icon-reload
icon-settings
icon-star
icon-symbol-female
icon-symbol-male
icon-target
icon-credit-card
icon-paypal
icon-social-tumblr
icon-social-twitter
icon-social-facebook
icon-social-instagram
icon-social-linkedin
icon-social-pinterest
icon-social-github
icon-social-google
icon-social-reddit
icon-social-skype
icon-social-dribbble
icon-social-behance
icon-social-foursqare
icon-social-soundcloud
icon-social-spotify
icon-social-stumbleupon
icon-social-youtube
icon-social-dropbox
================================================ FILE: pages/samples/blank-page.html ================================================ Stellar Admin
================================================ FILE: pages/samples/error-404.html ================================================ Stellar Admin

404

SORRY!

The page you’re looking for was not found.

Copyright © 2020 All rights reserved.

================================================ FILE: pages/samples/error-500.html ================================================ Stellar Admin

500

SORRY!

Internal server error!

Copyright © 2020 All rights reserved.

================================================ FILE: pages/samples/login.html ================================================ Stellar Admin

Hello! let's get started

Sign in to continue.
Forgot password?
Don't have an account? Create
================================================ FILE: pages/samples/register.html ================================================ Stellar Admin

New here?

Signing up is easy. It only takes a few steps
Already have an account? Login
================================================ FILE: pages/tables/basic-table.html ================================================ Stellar Admin

Basic Table

Add class .table

Profile VatNo. Created Status
Jacob 53275531 12 May 2017
Messsy 53275532 15 May 2017
John 53275533 14 May 2017
Peter 53275534 16 May 2017
Dave 53275535 20 May 2017

Hoverable Table

Add class .table-hover

User Product Sale Status
Jacob Photoshop 28.76%
Messsy Flash 21.06%
John Premier 35.00%
Peter After effects 82.00%
Dave 53275535 98.05%

Striped Table

Add class .table-striped

User First name Progress Amount Deadline
image Herman Beck
$ 77.99 May 15, 2015
image Messsy Adam
$245.30 July 1, 2015
image John Richards
$138.00 Apr 12, 2015
image Peter Meggik
$ 77.99 May 15, 2015
image Edward
$ 160.25 May 03, 2015
image John Doe
$ 123.21 April 05, 2015
image Henry Tom
$ 150.00 June 16, 2015

Bordered table

Add class .table-bordered

# First name Progress Amount Deadline
1 Herman Beck
$ 77.99 May 15, 2015
2 Messsy Adam
$245.30 July 1, 2015
3 John Richards
$138.00 Apr 12, 2015
4 Peter Meggik
$ 77.99 May 15, 2015
5 Edward
$ 160.25 May 03, 2015
6 John Doe
$ 123.21 April 05, 2015
7 Henry Tom
$ 150.00 June 16, 2015

Inverse table

Add class .table-dark

# First name Amount Deadline
1 Herman Beck $ 77.99 May 15, 2015
2 Messsy Adam $245.30 July 1, 2015
3 John Richards $138.00 Apr 12, 2015
4 Peter Meggik $ 77.99 May 15, 2015
5 Edward $ 160.25 May 03, 2015
6 John Doe $ 123.21 April 05, 2015
7 Henry Tom $ 150.00 June 16, 2015

Table with contextual classes

Add class .table-{color}

# First name Product Amount Deadline
1 Herman Beck Photoshop $ 77.99 May 15, 2015
2 Messsy Adam Flash $245.30 July 1, 2015
3 John Richards Premeire $138.00 Apr 12, 2015
4 Peter Meggik After effects $ 77.99 May 15, 2015
5 Edward Illustrator $ 160.25 May 03, 2015
================================================ FILE: pages/ui-features/buttons.html ================================================ Stellar Admin

Single color buttons

Add class .btn-{color} for buttons in theme colors

Inverse buttons

Add class .btn-inverse-{color} for inverse buttons

Rounded buttons

Add class .btn-rounded

Outlined buttons

Add class .btn-outline-{color} for outline buttons

Normal buttons

Use any of the available button classes to quickly create a styled button.

Icon Buttons

Add class .btn-icon for buttons with only icons

Button Size

Use class .btn-{size}

Block buttons

Add class .btn-block

Button groups

Wrap a series of buttons with .btn in .btn-group

Button with text and icon

Wrap icon and text inside .btn-icon-text and use .btn-icon-prepend or .btn-icon-append for icon tags

Social Icon Buttons

Add class .btn-social-icon

Social button with text

Add class .btn-social-icon-text

================================================ FILE: pages/ui-features/typography.html ================================================ Stellar Admin

Headings

Add tags <h1> to <h6> or class .h1 to .h6

h1. Heading

h2. Heading

h3. Heading

h4. Heading

h5. Heading
h6. Heading

Headings with secondary text

Add faded secondary text to headings

h1. Heading Secondary text

h2. Heading Secondary text

h3. Heading Secondary text

h4. Heading Secondary text

h5. Heading Secondary text
h6. Heading Secondary text

Display headings

Add class .display1 to .display-4

Display 1

Display 2

Display 3

Display 4

Paragraph

Write text in <p> tag

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley not only five centuries,

Icon size

Add class .icon-lg, .icon-md, .icon-sm

Icon-lg

Icon-md

Icon-sm

Blockquotes

Wrap content inside<blockquote class="blockquote">

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

Someone famous in Source Title

Address

Use <address> tag

Purple imc

695 lsom Ave,

Suite 00

San Francisco, CA 94107

E-mail

johndoe@examplemeail.com

Web Address

www.Purple.com

Lead

Use class .lead

Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

Text colors

Use class .text-primary, .text-secondary etc. for text in theme colors

.text-primary

.text-success

.text-danger

.text-warning

.text-info

.text-light

.text-secondary

.text-dark

.text-muted

.text-white

Top aligned media

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque.

Center aligned media

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque.

Bottom aligned media

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque.

Highlighted Text

Wrap the text in <mark> to highlight text

It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution

List Unordered

  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
  • Integer molestie lorem at massa
  • Facilisis in pretium nisl aliquet
  • Nulla volutpat aliquam velit

Bold text

Use class.font-weight-bold

It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution

List Ordered

  1. Lorem ipsum dolor sit amet
  2. Consectetur adipiscing elit
  3. Integer molestie lorem at massa
  4. Facilisis in pretium nisl aliquet
  5. Nulla volutpat aliquam velit>

Underline

Wrap in <u> tag for underline

lorem ipsum dolor sit amet, consectetur mod tempor incididunt ut labore et dolore magna aliqua.

Lowercase

Use class .text-lowercase

lorem ipsum dolor sit amet, consectetur mod tempor incididunt ut labore et dolore magna aliqua.

Uppercase

Use class .text-uppercase

lorem ipsum dolor sit amet, consectetur mod tempor incididunt ut labore et dolore magna aliqua.

Mute

Use class .text-muted

lorem ipsum dolor sit amet, consectetur mod tempor incididunt ut labore et dolore magna aliqua.

Strike

Wrap content in <del> tag

lorem ipsum dolor sit amet, consectetur mod tempor incididunt ut labore et dolore magna aliqua.

Capitalized

Use class .text-capitalize

lorem ipsum dolor sit amet, consectetur mod tempor incididunt ut labore et dolore magna aliqua.

List with icon

Add class .list-ticked to <ul>

  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
  • Integer molestie lorem at massa
  • Facilisis in pretium nisl aliquet
  • Nulla volutpat aliquam velit>

List with icon

Add class .list-arrow to <ul>

  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
  • Integer molestie lorem at massa
  • Facilisis in pretium nisl aliquet
  • Nulla volutpat aliquam velit>

List with icon

Add class .list-star to <ul>

  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
  • Integer molestie lorem at massa
  • Facilisis in pretium nisl aliquet
  • Nulla volutpat aliquam velit>
================================================ FILE: partials/_footer.html ================================================ ================================================ FILE: partials/_navbar.html ================================================ ================================================ FILE: partials/_sidebar.html ================================================ ================================================ FILE: scss/_dashboard.scss ================================================ .purchace-popup { .close { color: inherit; opacity: 1; @include media-breakpoint-down(md) { position: absolute; top: 7px; right: 10px; } } } .quick-action-toolbar { .card { .card-header { color: $white; padding: 12px 30px; background-image: linear-gradient(to left, #fad961, #f76b1c); border: 0; border-radius: 0; h5 { font-weight: 600; font-size: 18px; } p { color: inherit; } i { margin-left: 15px; align-self: center; } } .quick-action-btns { .btn-light { background-color: transparent; border: none; font-size: 14px; color: #111111; font-weight: 600; display: flex; align-items: center; i { color: #626262; margin-right: 15px; font-size: 18px; .rtl & { margin-left: 15px; margin-right: 0; } } } .btn-wrapper{ border-right: 1px solid $border-color; display: flex; justify-content: center; button { display: flex; align-items: center; } &:first-child { @media screen and (max-width:767px ) { border-bottom: 1px solid $border-color; } @media screen and (max-width:576px ) { border-right: none; } } &:nth-child(2) { @media screen and (max-width:767px ) { border-right: none; border-bottom: 1px solid $border-color; } } &:nth-child(3) { @media screen and (max-width:576px ) { border-right: none; border-bottom: 1px solid $border-color; } } &:last-child { border: none; } } } } } .income-expense-summary-chart-text { h5 { font-size: 18px; font-weight: 600; } h3 { font-size: 24px; font-weight: bold; } } .income-expense-summary-chart-legend { display: flex; align-items: center; span { display: inline-block; width: 14px; height: 14px; border: 2px solid transparent; margin-right: 10px; .rtl & { margin-left: 10px; margin-right: 0; } } } #income-expense-summary-chart-daterange { width: 280px; border-radius: 4px; border: solid 1px $border-color; background-color: $white; color: #969696; .input-group-text { background-color: transparent; color: inherit; padding: 10px; border: 0; } .form-control { border: 0; font-size: 12px; font-weight: 600; color: inherit; padding: 0; } } .income-expense-summary-chart { direction: ltr; //Fix for labels displacement in rtl .ct-chart { .ct-series { .ct-line { stroke-width: 3px; stroke-dasharray: 0; } &-a { .ct-line { stroke: #6469df; } .ct-area { fill: #6469df; } } &-b { .ct-line { stroke: #33c92d; } .ct-area { fill: #33c92d; } } } .ct-labels { .ct-label { &.ct-horizontal { @media screen and (max-width: 480px) { transform: rotate(-90deg)translateY(-50%); } } } } } } .ct-chart{ .ct-line { stroke-dasharray: 0; } } .report-summary-header { border-bottom: solid 1px $border-color; } .report-inner-cards-wrapper { padding-top: 25px; .report-inner-card { display: flex; border-right: solid 1px $border-color; padding: 0 40px; .rtl & { border-right: none; border-left: solid 1px $border-color; } @media screen and (max-width: 1199px) { padding-top: 12.5px; padding-bottom: 12.5px; } &:first-child { padding-left: 15px; .rtl & { padding-right: 15px; padding-left: 40px; } @media screen and (max-width: 1199px) { border-bottom: solid 1px $border-color; } @media screen and (max-width:767px) { border-right: none; padding-right: 12.5px; .rtl & { border-left: none; padding-left: 12.5px; } } } &:nth-child(2) { @media screen and (max-width: 1199px) { padding-right: 12.5px; border-bottom: solid 1px $border-color; border-right: none; .rtl & { border-left: none; padding-left: 12.5px; padding-right: 40px; } } @media screen and (max-width:767px) { padding-left: 12.5px; .rtl &{ padding-right: 12.5px; } } } &:nth-child(3) { @media screen and (max-width: 1199px) { padding-left: 12.5px; .rtl & { padding-left: 40px; padding-right: 12.5px; } } @media screen and (max-width:767px) { border-right: none; padding-right: 12.5px; border-bottom: solid 1px $border-color; .rtl & { border-left: none; padding-left: 12.5px; } } } &:last-child { border-right: 0; padding-right: 15px; .rtl & { border-left: none; padding-left: 15px; padding-right: 40px; } @media screen and (max-width:767px) { border-right: none; padding-left: 12.5px; .rtl & { border-left: none; padding-right: 12.5px; } } } .inner-card-text { display: flex; flex-direction: column; justify-content: flex-end; } .report-title { font-size: 14px; font-weight: 600; color: #111111; } h4 { font-weight: bold; } .report-count { font-size: 14px; color: #8e32e9; } .inner-card-icon { width: 62px; height: 62px; font-size: 25px; color: $white; display: flex; align-items: center; justify-content: center; margin-left: auto; .rtl & { margin-left: 0; margin-right: auto; } } } } .aligner-wrapper { position: relative; .wrapper { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } } .square-indicator { display: inline-block; width: 13px; height: 13px; & + p { font-size: 12px; font-weight: 600; color: #a7afb7; } } #performance-indicator-chart { .ct-series { &.ct-series-a { line { stroke: theme-color(danger); } } &.ct-series-b { line { stroke: theme-color(info); } } &.ct-series-c { line { stroke: theme-color(primary); } } .ct-bar { stroke-width: 8px; stroke-linecap: round; @media screen and (max-width: 480px) { stroke-width: 4px; } } } .ct-labels { .ct-label { &.ct-horizontal { @media screen and (max-width: 480px) { transform: rotate(-90deg)translateY(20%); } } } } } .performane-indicator-card { .data-time-range { color: #a7afb7; font-size: 12px; font-weight: 600; margin-left: 20px; &.active { color: #111111; } } } .table { td { img { &.gateway-icon { width: 20px; height: 20px; min-width: 20px; } } } } .pagination { .page-item { .page-link { font-size: 12px; font-weight: 600; @media screen and (max-width:576px) { padding: 0.25rem 0.5rem; } } } } ================================================ FILE: scss/_navbar.scss ================================================ /* Navbar */ .navbar { font-family: $type1; font-weight: $font-weight-light;; background: $navbar-bg; transition:background $action-transition-duration $action-transition-timing-function; -webkit-transition:background $action-transition-duration $action-transition-timing-function; -moz-transition:background $action-transition-duration $action-transition-timing-function; -ms-transition:background $action-transition-duration $action-transition-timing-function; .navbar-brand { width: 110px; } .navbar-brand-wrapper { transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function; -webkit-transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function; -moz-transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function; -ms-transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function; background: $sidebar-dark-bg; width: $sidebar-width-lg; height: $navbar-height; padding:0 $sidebar-menu-padding-x; @media (max-width: 991px) { width: 55px; padding-left: 15px; padding-right: 15px; } .navbar-brand { color: lighten(color(gray-dark), 20%); font-size: 1.5rem; line-height: 48px; margin-right: 0; padding: .25rem 0; &:active, &:focus, &:hover { color: lighten(color(gray-dark), 10%); } img { width: calc(#{$sidebar-width-lg} - 120px ); max-width: 100%; height: 28px; margin: auto; vertical-align: middle; } &.brand-logo-mini { display: none; @media screen and (max-width: 991px) { display: flex; } img { width: calc(#{$sidebar-width-icon} - 35px ); max-width: 100%; height: 28px; margin: auto; display: inline; } } } .navbar-toggler { color: $sidebar-dark-menu-icon-color; padding: 0; margin-left: auto; @media screen and (max-width: 991px) { display:none; } .sidebar-icon-only & { margin-right: auto; margin-left: auto; } } } .navbar-menu-wrapper { transition: width $action-transition-duration $action-transition-timing-function; -webkit-transition: width $action-transition-duration $action-transition-timing-function; -moz-transition: width $action-transition-duration $action-transition-timing-function; -ms-transition: width $action-transition-duration $action-transition-timing-function; color: $navbar-menu-color; padding-left: 24px; padding-right: 24px; width: calc(100% - #{$sidebar-width-lg}); height: $navbar-height; box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.11); @media (max-width: 991px) { width: auto; padding-left: 15px; padding-right: 15px; } .navbar-toggler { border: 0; color: inherit; height: $navbar-height; @include border-radius(0px); padding-left: 5px; padding-right: 20px; &:not(.navbar-toggler-right) { font-size: 1.5rem; @media (max-width: 991px) { display: none; } } &.navbar-toggler-right{ @media (max-width:991px){ padding-left: 15px; padding-right: 11px; border-right: none; } } } .search-form { position: relative; margin-right: 15px; i { font-size: 20px; position: absolute; left: 0; top: 50%; transform: translateY(-50%); color: $navbar-menu-icon-color; } input{ background-color: transparent; border: none; cursor: pointer; width: 0; height: 35px; padding: 0 0 0 20px; position: relative; transition: width 400ms ease, background 400ms ease; &:focus{ background-color: transparent; border-bottom: 1px solid $navbar-menu-icon-color; border-radius: 0; padding-left: 30px; background-position: 5px 7px; cursor: text; outline: 0; width: 140px; } } } .count-indicator { position: relative; .count-symbol, .count-number { position: absolute; border-radius: 100%; border: 2px solid $white; } .count-symbol { top: 17px; right: -3px; width: 10px; height: 10px; } .count-number { min-width: 14px; height: 14px; font-size: .5rem; color: $white; bottom: 16px; right: -5px; line-height: 1; text-align: center; } &:after { display: none; } } .navbar-nav { flex-direction: row; align-items: center; .nav-item { .nav-link { color: inherit; font-size: $navbar-font-size; margin-left: 15px; margin-right: 15px; height: $navbar-height / 2; @include display-flex; @include align-items(center); @media (max-width: 767px) { margin-left: .8rem; margin-right: .8rem; } i { font-size: $navbar-icon-font-size; color: $navbar-menu-icon-color; } } &.dropdown { height: $navbar-height; display: flex; align-items: center; .dropdown-toggle { position: relative; padding: 0 20px; &:after { position: absolute; top: 50%; right: 0; transform: translateY(-50%); font-size: 14px; color: grey; } } .dropdown-menu { @extend .dropdownAnimation; border: none; @include border-radius(5px); -webkit-box-shadow: 0px 3px 21px 0px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0px 3px 21px 0px rgba(0, 0, 0, 0.2); box-shadow: 0px 3px 21px 0px rgba(0, 0, 0, 0.2); &.navbar-dropdown { position: absolute; font-size: 0.9rem; margin-top: 0; padding: 0; .dropdown-item { @extend .d-flex; @extend .align-items-center; margin-bottom: 0; padding: 11px 13px; cursor: pointer; i { font-size: 17px; } .ellipsis { max-width: 200px; overflow: hidden; text-overflow: ellipsis; } } .dropdown-divider { margin: 0; } } } @media (max-width: 991px) { position: static; .navbar-dropdown { left: 20px; right: 20px; top: $navbar-height; width: calc(100% - 40px); } } } &.user-dropdown { position: relative; .dropdown-menu { min-width: 250px; margin-top: 9px; .dropdown-header { padding: 20px; } .dropdown-item { padding: 10px 15px; .dropdown-item-icon { margin-right: 15px; } } } .dropdown-toggle { img{ margin-right: 14px; } } } &.language-dropdown { margin-left: 24px; .dropdown-menu { width: 170px; left: -15px !important; .dropdown-item { padding-left: 22px; padding-right: 12px; i { margin-right: 15px; } } } .dropdown-toggle { margin-right: 0; margin-left: 0; border-left: 1px solid #ecf0f4; padding-left: 44px; } i { font-size: 14px; } } & .message-dropdown.count-indicator { .count{ transform: translate(-50%); position: absolute; width: 10px; height: 10px; border-radius: 50%; background-color: theme-color(danger); font-size: 6px; color: $white; text-align: center; top: 4px; left: 50%; } } } &.navbar-nav-right { @media (min-width: 992px) { margin-left: auto; } } } } } @media (max-width:991px) { .navbar { flex-direction: row; .navbar-brand-wrapper { width: 75px; .navbar-brand { &.brand-logo { display: none; } &.brand-logo-mini { display: inline-block; } } } } .navbar-collapse { display: flex; margin-top: 0.5rem; } } @media (max-width:480px) { .navbar { .navbar-brand-wrapper { width: 55px; .brand-logo-mini{ padding-top: 0px; } } } } ================================================ FILE: scss/_sidebar.scss ================================================ /* Sidebar */ .sidebar { min-height: calc(100vh - #{$navbar-height}); background: $sidebar-dark-bg; font-family: $type1; padding: 0; width: $sidebar-width-lg; z-index: 11; transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function; -webkit-transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function; -moz-transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function; -ms-transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function; .nav { overflow: hidden; flex-wrap: nowrap; flex-direction: column; margin-bottom: 60px; .nav-item { padding:0 $sidebar-menu-padding-x; @include transition-duration(0.25s); transition-property: background; -webkit-transition-property: background; .collapse { z-index: 999; } .nav-link { @include display-flex; @include align-items(center); white-space: nowrap; padding:$sidebar-menu-padding-y 0 $sidebar-menu-padding-y 0; color: $sidebar-dark-menu-color; @include transition-duration(0.45s); transition-property: color; -webkit-transition-property: color; :not(.sub-menu) & { border-top: 1px solid $sidebar-nav-link-border-color; } i { color: inherit; &.menu-icon { font-size: $sidebar-icon-font-size; line-height: 1; margin-left: auto; color: $sidebar-dark-menu-icon-color; &:before { vertical-align: middle; } } } .menu-title { color: inherit; display: inline-block; font-size: $sidebar-menu-font-size; line-height: 1; vertical-align: middle; } .badge { margin-right: auto; margin-left: 1rem; } &[aria-expanded="true"]{ .menu-arrow{ &:before{ content: "\f140"; } } } } &.active:not(.navbar-brand-mini-wrapper) { background: $sidebar-dark-menu-active-bg; > .nav-link { .menu-title { color: $sidebar-dark-menu-active-color; font-family: $type1; font-weight: $font-weight-medium;; } i { color: theme-color(success); } } } &:not(.nav-category):hover{ background: $sidebar-dark-menu-hover-bg; } &.nav-profile { max-width: 270px; margin-top: 10px; margin-bottom: 10px; .nav-link { display: flex; border-top: none; padding: 10px 0; .profile-image { margin-right: 15px; position: relative; .rtl & { margin-right: 0; margin-left: 15px; } } .dot-indicator { position: absolute; top: 50%; right: 0px; transform: translate(50%,-50%); width: 7px; height: 7px; border-radius: 50%; .rtl & { left: 0; right: auto; transform: translate(-50%,-50%); } } .profile-name { margin-bottom: 5px; font-weight: 500; font-size: 15px; } .designation { margin-bottom: 0; font-weight: 400; color: $text-muted; font-size: 12px; } .icon-container{ font-size: 16px; position: relative; color: $sidebar-dark-menu-icon-color; margin-left: auto; align-self: flex-start; .rtl & { margin-left: 0; margin-right: auto; } .sidebar-mini & { margin-right: auto; } .dot-indicator{ top: 0; transform: none; color: $sidebar-dark-menu-icon-color; } } } } &.nav-category { color: $sidebar-nav-category-color; font-size: 13px; font-weight: 700; text-transform: uppercase; .nav-link { border: none; } & ~ .nav-category { .nav-link{ border-top: 1px solid $sidebar-nav-link-border-color; } } & + .nav-item { & > .nav-link { border-top: 1px solid $sidebar-nav-link-border-color; } } .nav-link{ color: inherit; padding: $sidebar-nav-category-padding; .sidebar-dark & { color: inherit; } } } &.pro-upgrade { .nav-link { padding-top: 2.25rem; .btn-upgrade { background-image: linear-gradient(to left, #a25cff, #d78aff); background-color: #a25cff; color: $white; } } &:hover { background-color: transparent !important; .sidebar-dark & { background-color: transparent !important; } } } &.navbar-brand-mini-wrapper { display: none; .nav-link { width: 100%; .sidebar-icon-only & { margin: 0; } } .sidebar-icon-only & { display: block; } } } &:not(.sub-menu) { > .nav-item { &:hover { &:not(.nav-category):not(.nav-profile) { > .nav-link { color: $sidebar-dark-menu-hover-color; } } } } } &.sub-menu { margin-bottom: 20px; margin-top:0; list-style: none; .nav-item { padding: 0; .nav-link { color: $sidebar-dark-submenu-color; padding: $sidebar-submenu-item-padding; position: relative; font-size: $sidebar-submenu-font-size; line-height: 1; height: auto; border-top: 0; &:before { content: "\e606"; font-family: "simple-line-icons"; display: block; position: absolute; left:0px; top:50%; @include transform(translateY(-50%)); color: lighten($sidebar-dark-submenu-color, 10%); font-size: .75rem; } &.active { color: $sidebar-dark-menu-active-color; background: transparent; } &:hover { color: $sidebar-dark-submenu-hover-color; } } &:hover { background: transparent; } } } } } /* style for off-canvas menu*/ @media screen and (max-width: 991px) { .sidebar-offcanvas { position: fixed; max-height: calc(100vh - #{$navbar-height}); top: $navbar-height; bottom: 0; overflow: auto; right: -$sidebar-width-lg; -webkit-transition: all 0.25s ease-out; -o-transition: all 0.25s ease-out; transition: all 0.25s ease-out; &.active { right: 0; } } } ================================================ FILE: scss/_variables.scss ================================================ ////////// SIDEBAR //////// $sidebar-width-lg: 240px; $sidebar-width-mini: 185px; $sidebar-width-icon: 70px; $sidebar-light-bg: $white; $sidebar-light-menu-color: #3e4b5b; $sidebar-light-submenu-color: #888; $sidebar-light-menu-active-bg: $white; $sidebar-light-menu-active-color: theme-color(success); $sidebar-light-menu-hover-bg: darken($sidebar-light-bg, 1%); $sidebar-light-menu-hover-color: darken($sidebar-light-menu-color, 10%); $sidebar-light-submenu-hover-color: darken($sidebar-light-submenu-color, 20%); $sidebar-light-menu-icon-color: #626262; $sidebar-light-menu-arrow-color: #626262; $sidebar-light-menu-border-color: #f2edf3; $sidebar-dark-bg: #181824; $sidebar-dark-menu-color: $white; $sidebar-dark-menu-active-bg: #282828; $sidebar-dark-menu-active-color: darken($white, 30%); $sidebar-dark-menu-hover-bg: lighten($sidebar-dark-bg, 10%); $sidebar-dark-menu-hover-color: color(white); $sidebar-dark-submenu-color: $sidebar-dark-menu-color; $sidebar-dark-submenu-hover-bg: initial; $sidebar-dark-submenu-hover-color: darken($sidebar-dark-submenu-color, 30%); $sidebar-dark-menu-icon-color: #626262; $sidebar-dark-menu-arrow-color: #626262; $sidebar-nav-category-color: theme-color(success); $sidebar-nav-category-padding: 1rem 0 1.125rem; $sidebar-nav-link-border-color: rgba($white, 0.11); $sidebar-menu-font-size: $default-font-size; $sidebar-menu-padding-y: 0.625rem; $sidebar-menu-padding-x: 1.75rem; $sidebar-submenu-font-size: .8125rem; $sidebar-submenu-item-padding: .75rem 2rem .75rem 2rem; $sidebar-icon-font-size: 1.125rem; $sidebar-arrow-font-size: .625rem; $sidebar-profile-bg: transparent; $sidebar-profile-padding: .75rem 1.625rem .75rem 1.188rem; $sidebar-mini-menu-padding: .8125rem 1rem .8125rem 1rem; $sidebar-icon-only-menu-padding: .5rem 1.625rem .5rem 1.188rem; $sidebar-icon-only-submenu-padding: 0 0 0 1.5rem; $rtl-sidebar-submenu-padding: 0 1.5rem 0 0; $icon-only-collapse-width: 190px; $icon-only-menu-bg-light: $sidebar-light-menu-hover-bg; $icon-only-menu-bg-dark: $sidebar-dark-menu-hover-bg; ///////// SIDEBAR //////// ================================================ FILE: scss/components/_settings-panel.scss ================================================ /* Settings Panel */ .settings-panel{ display: block; position: fixed; top:0; right: -$settings-panel-width; bottom: 0; width: $settings-panel-width; height: 100vh; min-height: 100%; background: $white; @include transition-duration($action-transition-duration); @include transition-timing-function($action-transition-timing-function); @include transition-property(right, box-shadow); z-index: 9999; .nav-tabs{ @include display-flex; @include justify-content(center); width: auto; margin:0; border-bottom: none; padding: 0; .nav-item{ border: none; .nav-link{ text-align: center; border: none; background: transparent; color: rgba($white, 0.5); @include transition-duration(0.4s); transition-property: color; -webkit-transition-property: color; @include justify-content(center); &.active{ background: transparent; color: $white; } } } } .tab-content{ border: none; padding: 20px 0 0px 0; .tab-pane{ &.scroll-wrapper{ position: relative; max-height: 100vh; height: 100%; padding-bottom: 100px; } } } .settings-heading{ padding: 16px 0 13px 35px; font-size: $default-font-size; font-family: $type1; font-weight: $font-weight-semibold;; line-height: 1; color: rgba(0, 0, 0, 0.9); opacity: 0.9; margin-bottom: 0; border-top: 1px solid $border-color; border-bottom: 1px solid $border-color; .rtl &{ padding: 16px 35px 13px 0; } } small.settings-heading{ .rtl &{ padding: 16px 0 13px 12px; } } .sidebar-bg-options{ padding: 13px 35px; @include display-flex; @include align-items(center); font-size: $default-font-size; line-height: 1; color: lighten($black, 35%); background: $white; @include transition-duration($action-transition-duration); @include transition-property(background); &.selected{ background: color(gray-lightest); } .rtl & { .rounded-circle{ @extend .mr-0; @extend .ml-3; } } } .color-tiles{ @include display-flex; @include justify-content(space-between); @include flex-wrap(wrap); margin: 0px 35px 10px 35px; padding-top: 15px; .tiles{ @extend .img-ss; @extend .rounded-circle; margin: 10px 18px; @include display-flex; @include align-items(center); @include justify-content(center); &:before{ content: ""; width: 0px; height: 0px; opacity: 0; background: rgba($white , 0.5); @include border-radius(100%); border: 0px solid rgba($white , 0.4); @include transition-duration($action-transition-duration); @include transition-timing-function($action-transition-timing-function); } &.selected{ &:before{ width: 10px; height: 10px; opacity: 1; border-width: $border-width; } } &.primary{ @extend .bg-primary; } &.success{ @extend .bg-success; } &.warning{ @extend .bg-warning; } &.danger{ @extend .bg-danger; } &.pink{ background: color(pink); } &.info{ @extend .bg-info; } &.dark{ @extend .bg-dark; } &.light{ border:1px solid lighten(color(gray),60%); @extend .bg-light; } } } .chat-list{ padding-left: 0; .list{ padding: 0.4rem 0.8rem; @include display-flex; @include justify-content(space-between); border-bottom: $border-width solid $border-color; &:last-child{ border-bottom: none; } .profile{ position: relative; margin-right: 1rem; img{ width:2.50rem; height: 2.50rem; @include border-radius(100%); } span{ height: 0.75rem; width: 0.75rem; position: absolute; bottom: 0.34rem; right: 0; border: 0.13rem solid $white; @include border-radius(100%); &.online{ background: theme-color(success); } &.offline{ background: theme-color(warning); } } } .info{ margin-right: auto; p{ display: block; margin-bottom: 0; @extend %ellipsor; &:last-child{ opacity: 0.5; font-size: 0.8rem; } } } &.active{ background: theme-color(light); } } } &.open{ right:0; -webkit-box-shadow: 7px 0px 80px -9px rgba(0,0,0,0.15); -moz-box-shadow: 7px 0px 80px -9px rgba(0,0,0,0.15); box-shadow: 7px 0px 80px -9px rgba(0,0,0,0.15); } .settings-close{ position: absolute; top:8px; right: 10px; color: $white; background: transparent; @include border-radius(4px); padding: 0 3px; cursor: pointer; @include transition-duration(0.2s); z-index: 999; &:hover{ background: rgba($white,0.3); } .rtl & { right: unset; left: 10px; } } .events{ p{ font-family: $type1; } } .rtl & { right: unset; left: -$settings-panel-width; @include transition-property(left); .chat-list{ padding-right: 0; .list{ .profile{ margin-right: 0; margin-left: 1rem; } .info{ margin-right: 0; margin-left: auto; .badge { margin-right: 10px; } } } } &.open{ left: 0; right: unset; } } } #theme-settings{ .settings-close{ top: 12px; @extend .bg-primary; } } #settings-trigger{ position: fixed; bottom: 40px; right: 30px; height: 45px; width: 45px; background: theme-color(primary); z-index: 99; -webkit-box-shadow: 0px 0px 31px 6px rgba(0,0,0,0.17); -moz-box-shadow: 0px 0px 31px 6px rgba(0,0,0,0.17); box-shadow: 0px 0px 31px 6px rgba(0,0,0,0.17); @include display-flex; @include align-items(center); @include justify-content(center); @include border-radius(100%); @extend .fadeInUp; @include animation-duration(1s); @include animation-delay(1s); @include animation-fill-mode(both); i{ color: $white; font-size: 1rem; line-height: 1rem; @extend .infinite-spin; } @media (max-width: 991px){ display: none; } } ================================================ FILE: scss/light/_variables.scss ================================================ ////////// COLOR SYSTEM ////////// $blue: #5E50F9; $indigo: #6610f2; $purple: #6a008a; $pink: #E91E63; $red: #f96868; $orange: #f2a654; $yellow: #f6e84e; $green: #46c35f; $teal: #58d8a3; $cyan: #57c7d4; $black: #000; $white: #ffffff; $white-smoke: #f2f7f8; $violet: #41478a; $darkslategray : #2e383e; $dodger-blue : #3498db; $colors: (blue: $blue, indigo: $indigo, purple: $purple, pink: $pink, red: $red, orange: $orange, yellow: $yellow, green: $green, teal: $teal, cyan: $cyan, white: $white, gray: #434a54, gray-light: #aab2bd, gray-lighter: #e8eff4, gray-lightest: #e6e9ed, gray-dark: #0f1531, black: #000000); $theme-colors: (primary: #1bdbe0, secondary: #d8d8d8, success: #38ce3c, info: #8e32e9, warning: #ffde73, danger: #ff4d6b, light: #f8f9fa, dark: #3e4b5b); ////////// COLOR SYSTEM ////////// ////////// COLOR VARIABLES ////////// $content-bg: #ecf0f4; $footer-bg: $content-bg; $footer-color: color(dark); $border-color: #e8ecf1; ////////// COLOR VARIABLES ////////// ////////// SOCIAL COLORS ////////// $social-colors: (twitter: #2caae1, facebook: #3b579d, google: #dc4a38, linkedin: #0177b5, pinterest: #cc2127, youtube: #e52d27, github: #333333, behance: #1769ff, dribbble: #ea4c89, reddit: #ff4500); ////////// SOCIAL COLORS ////////// ////////// FONTS// $type1: 'Open Sans', sans-serif; $font-weight-light: 300; $font-weight-regular: 400; $font-weight-medium: 600; $font-weight-semibold: 700; $default-font-size: .875rem; // 14px as base font size $text-muted: #9c9fa6; $body-color: #343a40; ////////// FONT VARIABLES ////////// ///////// CARD //////// $card-bg: #fff; $card-description-color: #76838f; $card-title-color: $body-color; ///////// CARD //////// //////// TABLES //////// $table-accent-bg: $content-bg; $table-hover-bg: $content-bg; $table-cell-padding: .9375rem; $table-border-color: $border-color; $table-inverse-bg: #2a2b32; $table-inverse-color: color(white); //////// TABLES //////// ////////// MODALS VARIABLES ////////// $modal-content-bg: $content-bg; ////////// MODALS VARIABLES ////////// ///////// NAVBAR //////// $navbar-bg: #fff; $navbar-height: 70px; $navbar-menu-color: #111111; $navbar-menu-icon-color: #626262; $navbar-font-size: .875rem; $navbar-icon-font-size: 1.25rem; ///////// NAVBAR //////// ///////// BUTTONS //////// $button-fixed-width: 150px; $btn-padding-y: .875rem; $btn-padding-x: 2.5rem; $btn-line-height: 1; $btn-padding-y-xs: .5rem; $btn-padding-x-xs: .75rem; $btn-padding-y-sm: .50rem; $btn-padding-x-sm: .81rem; $btn-padding-y-lg: 1rem; $btn-padding-x-lg: 3rem; $btn-font-size: .875rem; $btn-font-size-xs: .625rem; $btn-font-size-sm: .875rem; $btn-font-size-lg: .875rem; $btn-border-radius: .1875rem; $btn-border-radius-xs: .1875rem; $btn-border-radius-sm: .1875rem; $btn-border-radius-lg: .1875rem; ///////// BUTTONS //////// ////////// TOOLTIP VARIABLES ////////// //default styles $tooltip-font-size: .75rem; $tooltip-padding-y: .4rem; $tooltip-padding-x: .75rem; $tooltip-border-radius: .375rem; ////////// TOOLTIP VARIABLES ////////// ///////// FORMS ///////// $input-bg: color(white); $input-border-radius: 2px; $input-placeholder-color: #c9c8c8; $input-font-size: .8125rem; $input-padding-y: 0.94rem; $input-padding-x: 1.375rem; $input-line-height: 1; $input-padding-y-xs: .5rem; $input-padding-x-xs: .75rem; $input-padding-y-sm: .50rem; $input-padding-x-sm: .81rem; $input-padding-y-lg: .94rem; $input-padding-x-lg: 1.94rem; $input-height: 2.875rem; $input-height-sm: 2.575rem; $input-height-lg: 3.175rem; ///////// FORMS ///////// //////// DROPDOWNS /////// $dropdown-border-color: $border-color; $dropdown-divider-bg: $border-color; $dropdown-link-color: $body-color; $dropdown-header-color: $body-color; $dropdown-menu-box-shadow: 0px 1px 15px 1px rgba(230, 234, 236, 0.35); //////// DROPDOWNS /////// ////////// MEASUREMENT AND PROPERTY VARIABLES ////////// $boxed-container-width: 1200px; $border-property: 1px solid $border-color; $card-spacing-y: 25px; $card-padding-y: 1.875rem; $card-padding-x: 1.875rem; $card-border-radius: 0; $grid-gutter-width: 20px; $action-transition-duration: 0.25s; $action-transition-timing-function: ease; ////////// OTHER VARIABLES ////////// ////////// BREAD CRUMBS VARIABLES ////////// // default styles $breadcrumb-padding-y: 0.56rem; $breadcrumb-padding-x: 1.13rem; $breadcrumb-item-padding: .5rem; $breadcrumb-margin-bottom: 1rem; $breadcrumb-font-size: $default-font-size; $breadcrumb-bg: transparent; $breadcrumb-border-color: $border-color; $breadcrumb-divider-color: $gray-600; $breadcrumb-active-color: $gray-700; $breadcrumb-divider: "/"; // custom styles $breadcrumb-custom-padding-y: 0; $breadcrumb-custom-padding-x: 0; $breadcrumb-custom-item-padding-y: 0.56rem; $breadcrumb-custom-item-padding-x: 10px; $breadcrumb-custom-item-color: $black; $breadcrumb-item-bg: #dbe3e6; ////////// BREAD CRUMBS VARIABLES ////////// ////////// MODALS VARIABLES ////////// $modal-inner-padding: .9375rem; $modal-dialog-margin: 10px; $modal-dialog-margin-y-sm-up: 30px; $modal-title-line-height: $line-height-base; $modal-content-box-shadow-xs: 0 3px 9px rgba($black, .5); $modal-content-box-shadow-sm-up: 0 5px 15px rgba($black, .5); $modal-backdrop-bg: $black; $modal-backdrop-opacity: .5; $modal-header-border-color: $border-color; $modal-content-border-color: $border-color; $modal-footer-border-color: $border-color; $modal-header-border-width: $border-width; $modal-content-border-width: $border-width; $modal-footer-border-width: $border-width; $modal-header-padding-x: 26px; $modal-header-padding-y: 25px; $modal-body-padding-x: 26px; $modal-body-padding-y: 35px; $modal-footer-padding-x: 31px; $modal-footer-padding-y: 15px; $modal-lg: 90%; $modal-md: 500px; $modal-sm: 300px; $modal-transition: transform .4s ease; ////////// MODALS VARIABLES ////////// ///////// TABS VARIABLES ////////// $nav-tabs-border-color: #ebedf2; $nav-tabs-link-bg: #f6f8fa; $nav-tabs-link-color: #000000; $nav-tabs-link-hover-border-color: $nav-tabs-border-color $nav-tabs-border-color $nav-tabs-border-color; $nav-tabs-link-active-color: $body-color; $nav-tabs-link-active-bg: $white; $nav-tabs-link-active-border-color: $nav-tabs-border-color $nav-tabs-border-color $nav-tabs-link-active-bg; $nav-pills-custom-bg: #fcfcfd; //////// TABS VARIABLES ///////// ///////// SETTINGS PANEL //////// $settings-panel-width: 300px; ///////// SETTINGS PANEL //////// //////// CALENDAR ////////////// $fullcalendar-color: #a8b2b9; //////// CALENDAR ////////////// //////// MISC ////////////// $page-title-color: $body-color; //////// MISC ////////////// ================================================ FILE: scss/light/components/plugin-overrides/_chartist.scss ================================================ /* Chartist */ // Line Charts Starts // Data -1 .ct-series-a .ct-line { stroke: lighten($blue, 15); stroke-width: 3px; stroke-dasharray: 10px 20px; } .ct-series-a .ct-point { stroke: lighten($blue, 1); stroke-width: 10px; stroke-linecap: round; } // Data -2 .ct-series-b .ct-line { stroke: lighten($green, 15); stroke-width: 3px; stroke-dasharray: 10px 20px; } .ct-series-b .ct-point { stroke: lighten($green, 1); stroke-width: 10px; stroke-linecap: round; } // Data -3 .ct-series-c .ct-line { stroke: lighten($orange, 15); stroke-width: 3px; stroke-dasharray: 10px 20px; } .ct-series-c .ct-point { stroke: lighten($orange, 1); stroke-width: 10px; stroke-linecap: round; } // Line Charts Ends // Bar Charts Starts // Data -1 .ct-series-a .ct-bar { stroke: lighten($blue, 15); stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } // Data -2 .ct-series-b .ct-bar { stroke: lighten($green, 15); stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } // Data -3 .ct-series-c .ct-bar { stroke: lighten($orange, 15); stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } // Data -4 .ct-series-d .ct-bar { stroke: lighten($red, 15); stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } // Bar Charts Ends // Pie Chart Starts // Data -1 .ct-series-a .ct-slice-pie { fill: lighten($blue, 15); stroke-width: 4px; } // Data -2 .ct-series-b .ct-slice-pie { fill: lighten($green, 15); stroke-width: 4px; } // Data 3 .ct-series-c .ct-slice-pie { fill: lighten($red, 15); stroke-width: 4px; } // Data -4 .ct-series-d .ct-slice-pie { fill: lighten($orange, 15); stroke-width: 4px; } // Pie Chart Starts // Donut chart Starts // Data -1 .ct-series-a .ct-slice-donut-solid { fill: lighten($blue, 15); } // Data -2 .ct-series-b .ct-slice-donut-solid { fill: lighten($green, 15); } // Data -3 .ct-series-c .ct-slice-donut-solid { fill: lighten($red, 15); } // Data -d .ct-series-a .ct-slice-donut-solid { fill: lighten($orange, 15); } // E-commerce Dashboard Chart #ct-chart-dash-barChart { // Data -1 .ct-series-a .ct-bar { stroke: lighten($red, 10); stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } // Data -2 .ct-series-b .ct-bar { stroke: lighten($blue, 10); stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } // Data -3 .ct-series-c .ct-bar { stroke: lighten($blue, 15); stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } // Data -4 .ct-series-d .ct-bar { stroke: lighten($blue, 20); stroke-width: 20px; stroke-dasharray: 0; stroke-linecap: squre; } } ================================================ FILE: scss/light/components/plugin-overrides/_datepicker.scss ================================================ /* Datepicker */ .datepicker.datepicker-dropdown, .datepicker.datepicker-inline { padding: 0 25px; width: 30%; max-width: 500px; min-width: 250px; .datepicker-days { table.table-condensed { thead { tr { th { text-align: center; padding: .5rem 0; &.prev { color: color(gray); padding-bottom: 1rem; padding-top: 1rem; text-align: left; background: $white; } &.datepicker-switch { color: color(gray); background: $white; padding-bottom: 1rem; padding-top: 1rem; font-size: 1rem; font-weight: 600; } &.next { color:grey; padding-bottom: 1rem; padding-top: 1rem; text-align: right; background: $white; } &.dow { font-family: $type1; color: color(gray); font-size: .875rem; font-weight: initial; &:first-child { text-align: left; } &:last-child { text-align: right; } } } } } tbody { position: relative; top: 13px; td { text-align: center; &.day { font-size: .9375rem; padding: .5rem 0; color: color(gray); &:hover { background: $white; } &.active { color:#fff; background:transparent; position: relative; z-index: 1; &:before { content: ""; width: 38px; height: 38px; background: theme-color(success); @include border-radius(100%); display: block; margin: auto; vertical-align: middle; position: absolute; top: 1px; z-index: -1; left: 0; right: 0; } } &.today { color:#fff; background:transparent; position: relative; z-index: 1; &:before { content: ""; width: 38px; height: 38px; background: theme-color(info); @include border-radius(100%); display: block; margin: auto; vertical-align: middle; position: absolute; top: 1px; z-index: -1; left: 0; right: 0; } } } &.old.day { color: darken(color(gray-lightest),4.5%); } &.range-start, &.range-end { background: transparent; position: relative; &::before { content: ""; width: 28px; height: 28px; background: rgba(theme-color(success), .2); border-radius: 4px; display: block; margin: auto; vertical-align: middle; position: absolute; top: 6px; z-index: -1; left: 0; right: 0; } } &.range { position: relative; background: transparent; &::before { content: ""; width: 28px; height: 28px; background: #eee; border-radius: 4px; display: block; margin: auto; vertical-align: middle; position: absolute; top: 6px; z-index: -1; left: 0; right: 0; } } } } } } .datepicker-days, .datepicker-months, .datepicker-years, .datepicker-decades, .datepicker-centuries { padding: .8rem .7rem; table.table-condensed { width: 100%; } } } .datepicker.datepicker-inline{ width:100%; max-width: 100%; min-width: 250px; thead{ tr{ th{ &.prev{ color:grey; padding-bottom:0.5rem; padding-top:0.5rem; } &.datepicker-switch{ color: theme-color(primary); padding-bottom:0.5rem; padding-top:0.5rem; } &.next{ color:grey; padding-bottom:0.5rem; padding-top:0.5rem; } &.dow{ } } } } } .datepicker { > div { display: initial; } } .datepicker-custom { width: 100%; padding: 0; .datepicker { &.datepicker-inline { display: block; padding: 0; height: 100%; .datepicker-days { display: block; .table-condensed { tbody { tr { td { padding: 1rem; @media (max-width: 991px) { padding: 1rem .5rem; } text-align: center; &.day { &.today { &:before { @extend .bg-success; top: 6px; } } &.active { &:before { @extend .bg-warning; top: 6px; } } &:first-child { padding-left: 2.5rem; @media (max-width: 991px) { padding-left: .5rem; } &.today, &.active { &:before { left: 1.5rem; @media (max-width: 991px) { left: .25rem; } } } } &:last-child { padding-right: 2.5rem; @media (max-width: 991px) { padding-right: .5rem; } &.today, &.active { &:before { right: 1.5rem; } } } } } } } } } .datepicker-days, .datepicker-months, .datepicker-years, .datepicker-decades, .datepicker-centuries { height: 100%; padding: 0 0 1rem 0; .table-condensed { height: 100%; thead { background: theme-color(success); tr { th { &.next, &.prev, &.datepicker-switch, &.dow { background: transparent; border-radius: 0; color: $white; padding: 2rem 1rem; @media (max-width: 991px) { padding: 2rem .5rem; } font-family: $type1; font-weight: $font-weight-semibold; &:first-child { padding-left: 2.5rem; @media (max-width: 991px) { padding-left: .5rem; } } &:last-child { padding-right: 2.5rem; @media (max-width: 991px) { padding-right: .5rem; } } } &.datepicker-switch { font-size: 2rem; @media (max-width: 991px) { font-size: 1rem; } } &.next, &.prev { font-size: 1.5rem; } } } } } } } } } ================================================ FILE: scss/light/components/plugin-overrides/_listify.scss ================================================ /* Listify */ .listify-list{ input{ border: 1px solid $white-smoke; color: color(gray-light); background: #fff; } button{ } ul.list{ list-style: none; padding-left: 0; li{ display: block; border-bottom: $border-property; padding: 15px 10px; h5{ color: theme-color("primary"); } p{ color: color(gray-light); margin: 0; } } } } ================================================ FILE: scss/light/components/plugin-overrides/_progressbar-js.scss ================================================ /* Progressbar-js */ .progress-bar-js-line { height: 6px; } .progressbar-js-circle { width: 100%; position: relative; } ================================================ FILE: scss/light/components/plugin-overrides/_pws-tabs.scss ================================================ /* Pws-tabs */ .pws_tabs_container { ul.pws_tabs_controll { border-bottom: 1px solid theme-color(primary); li { &:first-child { a { @include border-radius(5px 0px 0px 0px); } } &:last-child { a { border-right: 1px solid theme-color(primary); @include border-radius(0px 5px 0px 0px); } } a { border: 1px solid theme-color(primary); border-bottom: none; border-right: none; background: #fff; color: theme-color(primary); padding: 0.6em 1.3em; margin-right: 0; &:hover { background: #fff; color: theme-color(primary); } &.pws_tab_active { background: theme-color(primary); color: #fff; } } } } .demo-tabs { border: 1px solid theme-color(primary); @include border-radius(0px 5px 5px 5px); overflow: hidden; background: color(white-smoke); margin-bottom: 45px; padding-top: 3.5rem; .CodeMirror { margin-bottom: 20px; } } // Styles for vertical Tab &.pws_tabs_vertical { .pws_tabs_controll { border-right: none; border-bottom:none; li { &:first-child { a { @include border-radius(5px 0px 0px 0px); } } &:last-child { a { border-bottom: 1px solid theme-color(primary); @include border-radius(0px 0px 0px 5px); border-right: 0px; } } a { @include border-radius(0px); border: 1px solid theme-color(primary); border-right: none; border-bottom: none; margin-bottom: 0; } } } } // Styles for vertical Tab // Styles for horizontal Tab &.pws_tabs_horizontal_bottom { .pws_tabs_list { margin-bottom: 0; } .pws_tabs_controll { border-top: 1px solid theme-color(primary); border-right: none; border-bottom: none; li { &:first-child { a { @include border-radius(0px 0px 0px 5px); } } &:last-child { a { @include border-radius(0px 0px 5px 0px); border-right: 1px solid theme-color(primary); } } a { @include border-radius(0px); border: 1px solid theme-color(primary); border-top: none; border-right: none; margin-right: 0; margin-bottom: 0; } } } } // Styles for vertical Tab // Styles for RTL Tab &.pws_tabs_rtl { .pws_tabs_controll { li { &:first-child { a { @include border-radius(0px 5px 0px 0px); border-right: 1px solid theme-color(primary); } } &:last-child { a { border-right: none; @include border-radius(5px 0px 0px 0px); } } a { border: 1px solid theme-color(primary); border-bottom: none; border-right: none; margin-right: 0; margin-left: 0; } } } } // Styles for RTL Tab } ================================================ FILE: scss/light/components/plugin-overrides/_select2.scss ================================================ /* Select2 */ .select2-container--default { .select2-results__option--highlighted[aria-selected] { background: theme-color(primary); } .select2-selection--single, .select2-dropdown, .select2-selection--multiple { border-color: $border-color; .select2-search__field { border-color: $border-color; } } .select2-selection--single { height: auto; @extend .form-control; .select2-search__field { @extend .form-control; } .select2-selection__rendered { line-height: 14px; } } .select2-dropdown { font-size: .8125rem; } &.select2-container--focus { .select2-selection--multiple { border-color: $border-color; } } .select2-selection--multiple { .select2-selection__choice { color: color(white); border: 0; border-radius: 3px; padding: 6px; font-size: .625rem; font-family: inherit; line-height: 1; .select2-selection__choice__remove { color: color(white); } &:nth-child(5n+1) { background: theme-color(primary); } &:nth-child(5n+2) { background: theme-color(success); } &:nth-child(5n+3) { background: theme-color(info); } &:nth-child(5n+4) { background: theme-color(danger); } &:nth-child(5n+5) { background: theme-color(warning); } } } } ================================================ FILE: scss/light/components/plugin-overrides/_typeahead.scss ================================================ /* Typeahead */ .tt-menu, .gist { text-align: left; } .twitter-typeahead { max-width: 100%; } .typeahead, .tt-query, .tt-hint { @extend .form-control; } .typeahead { background-color: color(white); &:focus { border-color: $border-color; } } .tt-query { -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .tt-hint { color: color(gray) } .tt-menu { width: 100%; margin: 12px 0; padding: 8px 0; background-color: color(white); border: 1px solid $border-color; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2); -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2); box-shadow: 0 5px 10px rgba(0,0,0,.2); } .tt-suggestion { padding: 3px 20px; font-size: inherit; &:hover { cursor: pointer; color: color(white); background-color: theme-color(primary); } .tt-cursor { color: color(white); background-color: theme-color(primary); } p { margin: 0; } } ================================================ FILE: scss/shared/_demo.scss ================================================ /* Demo Styles */ // Add spacing to Boostrap components for demo purpose .template-demo { > .btn { @extend .mt-3; @extend .mr-3; } .slider-wrap { height: 100px; } > .btn-toolbar { @extend .mt-3; @extend .mr-3; } > .btn-group, > .btn-group-vertical { @extend .mt-2; @extend .mr-2; } .progress { margin-top: 1.5rem; } .circle-progress { @extend .mt-2; } > h2, > h3, > h4, > h5, > h6, > h1 { border-top: 1px solid $border-color; padding: 0.5rem 0 0; } .ul-slider { &.noUi-horizontal { margin-top: 2rem; } &.noUi-vertical { margin-right: 2rem; } } > .dropdown { display: inline-block; @extend .mr-2; margin-bottom: 0.5rem; } nav { .breadcrumb { margin-bottom: 1.375rem; } &:last-child { .breadcrumb { margin-bottom: 0; } } } .editable-form { > .form-group { border-bottom: 1px solid $border-color; padding-bottom: 0.8rem; margin-bottom: 0.8rem; } } .circle-progress { padding: 15px; } .circle-progress-block { @extend .mb-3; @extend .px-2; } } .demo-modal { position: static; display: block; .modal-dialog { @extend .mt-0; &.modal-lg { max-width: 100%; } } } .loader-demo-box { @extend .border; @extend .border-secondary; @extend .rounded; width: 100%; height: 200px; @extend .d-flex; @extend .align-items-center; } .dropdown-menu-static-demo { height: 250px; margin-bottom: 20px; } .rounded-legend { ul { li { list-style-type: none; color: $text-muted; font-size: .75rem; .legend-dots { width: 1rem; height: 1rem; border-radius: 100%; display: inline-block; vertical-align: text-bottom; margin-right: .5rem; .rtl & { margin-left: .5rem; } } } } &.legend-horizontal { @include display-flex; ul { li { display: inline-block; margin-right: 1.5rem; .rtl & { margin-right: auto; margin-left: 1.5rem; } } } } &.legend-top-right { ul { float: right; .rtl & { float: left; } } } &.legend-vertical { ul { li { margin-top: 1rem; } } } } ================================================ FILE: scss/shared/_fonts.scss ================================================ // /* Fonts */ // //PT_Sans // @font-face { // font-family: 'ubuntu-light'; // src: url('../../fonts/Ubuntu/Ubuntu-Light.eot'); /* IE9 Compat Modes */ // src: url('../../fonts/Ubuntu/Ubuntu-Light.woff2') format('woff2'), /* Super Modern Browsers */ // url('../../fonts/Ubuntu/Ubuntu-Light.woff') format('woff'), /* Pretty Modern Browsers */ // url('../../fonts/Ubuntu/Ubuntu-Light.ttf') format('truetype'), /* Safari, Android, iOS */ // } // @font-face { // font-family: 'ubuntu-regular'; // src: url('../../fonts/Ubuntu/Ubuntu-Regular.eot'); /* IE9 Compat Modes */ // src: url('../../fonts/Ubuntu/Ubuntu-Regular.woff2') format('woff2'), /* Super Modern Browsers */ // url('../../fonts/Ubuntu/Ubuntu-Regular.woff') format('woff'), /* Pretty Modern Browsers */ // url('../../fonts/Ubuntu/Ubuntu-Regular.ttf') format('truetype'), /* Safari, Android, iOS */ // } // @font-face { // font-family: 'ubuntu-medium'; // src: url('../../fonts/Ubuntu/Ubuntu-Medium.eot'); /* IE9 Compat Modes */ // src: url('../../fonts/Ubuntu/Ubuntu-Medium.woff2') format('woff2'), /* Super Modern Browsers */ // url('../../fonts/Ubuntu/Ubuntu-Medium.woff') format('woff'), /* Pretty Modern Browsers */ // url('../../fonts/Ubuntu/Ubuntu-Medium.ttf') format('truetype'), /* Safari, Android, iOS */ // } // @font-face { // font-family: 'ubuntu-bold'; // src: url('../../fonts/Ubuntu/Ubuntu-Bold.eot'); /* IE9 Compat Modes */ // src: url('../../fonts/Ubuntu/Ubuntu-Bold.woff2') format('woff2'), /* Super Modern Browsers */ // url('../../fonts/Ubuntu/Ubuntu-Bold.woff') format('woff'), /* Pretty Modern Browsers */ // url('../../fonts/Ubuntu/Ubuntu-Bold.ttf') format('truetype'), /* Safari, Android, iOS */ // } @import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&display=swap'); ================================================ FILE: scss/shared/_footer.scss ================================================ /* Footer */ .footer { background: $footer-bg; color: $footer-color; padding: 0 1.5rem 1.5rem; transition: all $action-transition-duration $action-transition-timing-function; -moz-transition: all $action-transition-duration $action-transition-timing-function; -webkit-transition: all $action-transition-duration $action-transition-timing-function; -ms-transition: all $action-transition-duration $action-transition-timing-function; font-size: calc(#{$default-font-size} - 0.05rem); font-family: $type1; a { color: theme-color(success); font-size: inherit; } @media (max-width: 991px) { margin-left: 0; width: 100%; } } ================================================ FILE: scss/shared/_functions.scss ================================================ // Functions @function social-color($key: "twitter") { @return map-get($social-colors, $key); } ================================================ FILE: scss/shared/_misc.scss ================================================ /* Miscellanoeous */ body, html { overflow-x: hidden; padding-right: 0 !important; // resets padding right added by Bootstrap modal } *:-moz-full-screen, *:-webkit-full-screen, *:fullscreen *:-ms-fullscreen { overflow: auto; } .container-scroller { overflow: hidden; } pre { background: color(gray-lighter); padding: 15px; font-size: 14px; } code { padding: 5px; color: theme-color(danger); font-family: $type1; font-weight: $font-weight-light; font-size: $default-font-size; border-radius: 4px; } .page-header { @extend .d-flex; @extend .justify-content-between; @extend .align-items-center; margin: 0 0 1.5rem 0; .breadcrumb { border: 0; margin-bottom: 0; } } .page-title { color: $page-title-color; font-size: 1.125rem; margin-bottom: 0; .page-title-icon { display: inline-block; width: 36px; height: 36px; border-radius: 4px; text-align: center; box-shadow: 0px 3px 8.3px 0.7px rgba(163, 93, 255, 0.35); i { font-size: .9375rem; line-height: 36px; } } } ================================================ FILE: scss/shared/_reset.scss ================================================ /* Reset Styles */ body { padding: 0; margin: 0; overflow-x: hidden; } .form-control, .form-control:focus { -webkit-box-shadow: none; -moz-box-shadow: none } .form-control { box-shadow: none } .form-control:focus { outline: 0; box-shadow: none } a, div, h1, h2, h3, h4, h5, p, span { text-shadow: none } [type=button]:focus, a:active, a:focus, a:visited, button::-moz-focus-inner, input[type=reset]::-moz-focus-inner, input[type=button]::-moz-focus-inner, input[type=submit]::-moz-focus-inner, input[type=file]>input[type=button]::-moz-focus-inner, select::-moz-focus-inner { outline: 0 } input, .form-control:focus, input:focus, select:focus, textarea:focus, button:focus { outline: none; outline-width: 0; outline-color: transparent; box-shadow: none; outline-style: none; } textarea { resize: none; overflow-x: hidden; } .btn, .btn-group.open .dropdown-toggle, .btn:active, .btn:focus, .btn:hover, .btn:visited, a, a:active, a:checked, a:focus, a:hover, a:visited, body, button, button:active, button:hover, button:visited, div, input, input:active, input:focus, input:hover, input:visited, select, select:active, select:focus, select:visited, textarea, textarea:active, textarea:focus, textarea:hover, textarea:visited { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none } .btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus, button, button:active, button:checked, button:focus, button:hover, button:visited { outline: 0; outline-offset: 0 } .bootstrap-select .dropdown-toggle:focus { outline: 0 ; outline-offset: 0; } .dropdown-menu>li>a:active, .dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover, .dropdown-menu>li>a:visited { outline: 0; } a:focus, input:focus { border-color: transparent; outline: none } ================================================ FILE: scss/shared/_typography.scss ================================================ /* Typography */ body { font-size: 1rem; font-family: $type1; font-weight: initial; line-height: normal; -webkit-font-smoothing: antialiased; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: $type1; font-weight: $font-weight-medium } p { font-size: $default-font-size; } h1, .h1 { font-size: 2.19rem; } h2, .h2 { font-size: 1.88rem; } h3, .h3 { font-size: 1.56rem; } h4, .h4 { font-size: 1.13rem; } h5, .h5 { font-size: 1rem; } h6, .h6 { font-size: .9375rem; } p { font-size: .9375rem; line-height: 1.5; } .display-1 { font-size: 3.75rem; @media (max-width: 991px) { font-size: 3rem; } } .display-2 { font-size: 3.125rem; @media (max-width: 991px) { font-size: 2.5rem; } } .display-3 { font-size: 2.5rem; @media (max-width: 991px) { font-size: 2rem; } } .display-4 { font-size: 1.875rem; @media (max-width: 991px) { font-size: 1.5rem; } } .display-5 { font-size: 1.25rem; @media (max-width: 991px) { font-size: 1rem; } } .blockquote { padding: 1.25rem; border: 1px solid $border-color; } address { p { margin-bottom: 0; } } //blockqoute color variations @each $color, $value in $theme-colors { .blockquote-#{$color} { @include blockquote($value); } } .error-page { h1 { font-size: 12rem; @media (max-width: 991px) { font-size: 8rem; } } } .icon-lg { font-size: 3.438rem; } .icon-md { font-size: 1.875rem; } .icon-sm { font-size: 1rem; } ================================================ FILE: scss/shared/_utilities.scss ================================================ /* Utilities */ .grid-margin { margin-bottom: $card-spacing-y; } .grid-margin-sm-0 { @media (min-width: 576px) { margin-bottom: 0; } } .grid-margin-md-0 { @media (min-width: 768px) { margin-bottom: 0; } } .grid-margin-lg-0 { @media (min-width: 992px) { margin-bottom: 0; } } .grid-margin-xl-0 { @media (min-width: 1200px) { margin-bottom: 0; } } .img-lg { width: 92px; height: 92px; } .img-sm { width: 43px; height: 43px; } .img-xs { width: 37px; height: 37px; } .img-ss { width: 26px; height: 26px; } .stretch-card { @include display-flex; @include align-items(stretch); @include justify-content(stretch); >.card{ width: 100%; min-width: 100%; } } .border-right-sm { @media (min-width: 576px) { border-right: $border-width solid $border-color; } } .border-right-md { @media (min-width: 768px) { border-right: $border-width solid $border-color; } } .border-right-lg { @media (min-width: 992px) { border-right: $border-width solid $border-color; } } .border-left-sm { @media (min-width: 576px) { border-left: $border-width solid $border-color; } } .border-left-md { @media (min-width: 768px) { border-left: $border-width solid $border-color; } } .border-left-lg { @media (min-width: 992px) { border-left: $border-width solid $border-color; } } .text-gray { color: #8c8c8c; } .text-black { color: $black; } .text-small { font-size: 12px; } .flex-grow { flex-grow: 1; } .font-weight-light { font-family: $type1; font-weight: $font-weight-light; } .font-weight-medium { font-family: $type1; font-weight: $font-weight-medium; } .font-weight-semibold{ font-family: $type1; font-weight: $font-weight-semibold; } .font-weight-bold { font-family: $type1; font-weight: bold; } .font-weight-normal { font-family: $type1; font-weight: $font-weight-regular; } ================================================ FILE: scss/shared/components/_buttons.scss ================================================ /* Buttons */ .btn { font-size: $btn-font-size; line-height: 1; font-family: $type1; font-weight: $font-weight-medium; i { font-size: 1rem; } &.btn-rounded { @include border-radius(50px); } &.btn-fw { min-width: $button-fixed-width; } &.btn-sm { font-size: $btn-font-size-sm; } &.btn-lg { font-size: $btn-font-size-lg; } &.btn-xs { padding: $btn-padding-y-xs $btn-padding-x-xs; font-size: $btn-font-size-xs; } /* Buttons with only icons */ &.btn-icon { width: 42px; height: 42px; padding: 0; } /* Buttons with icon and text */ &.btn-icon-text { .btn-icon-prepend { margin-right: .5rem; } .btn-icon-append { margin-left: .5rem; } } &.btn-social-icon { width: 50px; height: 50px; padding: 0; } &.btn-no-hover-bg { &:hover, &:focus, &:active { background: transparent; color: currentColor; } } } .btn-group { .btn { + .btn { border-left: 0; } } } .btn-toolbar { .btn-group { +.btn-group { @extend .ml-2; } } } /*social buttons*/ @each $color, $value in $social-colors { .btn-#{$color} { @include social-button(social-color($color)); } .btn-outline-#{$color} { @include social-outline-button(social-color($color)); } } /* inverse buttons */ @each $color, $value in $theme-colors { .btn-inverse-#{$color} { @include button-inverse-variant($value); } .btn-#{$color}:not(.btn-light) { color: $white; &:hover, &:focus, &:active { color: $white; } &:focus, &:active { background: $value; border-color: $value; } } .btn-outline-#{$color} { &:hover, &:focus, &:active { background: theme-color($color); color: $white; } } } ================================================ FILE: scss/shared/components/_cards.scss ================================================ /* Cards */ .card { border: 0; .card-body { padding: $card-padding-y $card-padding-x; + .card-body { padding-top: 1rem; } } .card-title { color: $card-title-color; margin-bottom: .75rem; text-transform: capitalize; font-family: $type1; font-weight: $font-weight-medium; font-size: 1.125rem; } .card-subtitle { @extend .text-gray; font-family: $type1; margin-top: 0.625rem; margin-bottom: 0.625rem; } .card-description { color: $card-description-color; margin-bottom: 1.5rem; font-family: $type1; } &.card-outline-success { border: 1px solid theme-color("success"); } &.card-outline-primary { border: 1px solid theme-color("primary"); } &.card-outline-warning { border: 1px solid theme-color("warning"); } &.card-outline-danger { border: 1px solid theme-color("danger"); } &.card-rounded { @include border-radius(5px); } &.card-faded { background: #b5b0b2; border-color: #b5b0b2; } &.card-circle-progress { color: $white; text-align: center; } &.card-img-holder { position: relative; .card-img-absolute { position: absolute; top:0; right: 0; height: 100%; } } } @each $color, $value in $theme-colors { .card-inverse-#{$color} { @include card-inverse-variant(rgba(theme-color($color), .2), theme-color-level($color, 1), theme-color-level($color, 3)); } } ================================================ FILE: scss/shared/components/_checkbox-radio.scss ================================================ /* Checkboxes and Radios */ .form-check { position: relative; display: block; margin-top: 15px; margin-bottom: 10px; padding-left: 0; .form-check-label { display: block; margin-left: 1.75rem; font-size: $default-font-size; line-height: 1.5; .rtl & { margin-left: 0; margin-right: 1.75rem; } input { position: absolute; top: 0; left: 0; .rtl & { left: auto; right: 0; } margin-left: 0; margin-top: 0; z-index: 1; cursor: pointer; opacity: 0; filter: alpha(opacity=0); } input[type="checkbox"] { + .input-helper { &:before, &:after { position: absolute; top: 0; left: 0; .rtl & { left: auto; right: 0; } } &:before { content: ""; width: 18px; height: 18px; border-radius: 2px; border: solid theme-color(primary); border-width: 2px; @include transition(all); transition-duration: 0s; -webkit-transition-duration: 250ms; transition-duration: 250ms; } &:after { @include transition(all); transition-duration: 0s; -webkit-transition-duration: 250ms; transition-duration: 250ms; opacity: 0; filter: alpha(opacity=0); content: ""; height: 12px; width: 5px; -webkit-transform: rotate(45deg); transform: rotate(45deg); border-style: solid; border-width: 2px; border-color: transparent #ffffff #ffffff transparent; left: 7px; top: 1px; font-weight: bold; color: $white; } } &:checked { +.input-helper { &:before { background: theme-color(primary); border-width: 0; } &:after { opacity: 1; line-height: 18px; filter: alpha(opacity=100); } } } &:disabled { + .input-helper { &:before { border-color: $border-color; } } &:checked { + .input-helper { &:after { border-color: transparent $border-color $border-color transparent; } } } } } input[type="radio"] { +.input-helper { &:before { position: absolute; content: ""; top: 0; left: 0; .rtl & { left: auto; right: 0; } border: solid theme-color(primary); border-width: 2px; width: 20px; height: 20px; border-radius: 50%; @include transition(all); transition-duration: 0s; -webkit-transition-duration: 250ms; transition-duration: 250ms; } &:after { content: ""; width: 8px; height: 8px; background: $white; border-radius: 50%; top: 6px; left: 6px; .rtl & { left: auto; right: 6px; } -webkit-transition: all; -o-transition: all; transition: all; transition-duration: 0s; -webkit-transition-duration: 250ms; transition-duration: 250ms; opacity: 0; filter: alpha(opacity=0); -webkit-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); position: absolute; } } &:checked { +.input-helper { &:before { background: theme-color(primary); border-width: 0; } &:after { opacity: 1; line-height: 1.5; filter: alpha(opacity=100); -webkit-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); } } } &:disabled { + .input-helper { &:before { border-color: $border-color; } } &:checked { + .input-helper { &:before { background: $border-color; } &:after { background: $white; } } } } } } } @each $color, $value in $theme-colors { .form-check-#{$color} { &.form-check { label { input[type="checkbox"], input[type="radio"] { +.input-helper { &:before { border-color: theme-color($color); } } &:checked { +.input-helper { &:before { background: $value; } } } } } } } } ================================================ FILE: scss/shared/components/_dropdown.scss ================================================ /* Dropdowns */ .dropdown { .dropdown-toggle { &:after { border-top: 0; border-right: 0; border-left: 0; border-bottom: 0; font-family: "simple-line-icons"; content: "\e604"; width: auto; height: auto; vertical-align: baseline; font-size: .75rem; } } .dropdown-menu { margin-top: .75rem; font-size: $default-font-size; box-shadow: $dropdown-menu-box-shadow; .dropdown-item { font-size: 1rem; padding: .25rem 1.5rem; &:active { background: initial; } } } } ================================================ FILE: scss/shared/components/_forms.scss ================================================ /* Forms */ .form-group { margin-bottom: 1.5rem; } .input-group-append, .input-group-prepend { color: $input-placeholder-color; width: auto; border: none; .input-group-text { border-color: $border-color; padding: $input-padding-y .75rem; color: $input-placeholder-color; } } .form-control { border: 1px solid $border-color; font-family: $type1; font-size: $input-font-size; } select { &.form-control { padding: .4375rem .75rem; border: 0; outline: 1px solid $border-color; color: $input-placeholder-color; &:focus { outline: 1px solid $border-color; } @each $color, $value in $theme-colors { &.border-#{$color} { outline: 1px solid $value; &:focus { outline: 1px solid $value; } } } } } .form-group { label { font-size: $default-font-size; line-height: 1; vertical-align: top; margin-bottom: .5rem; } &.has-danger { .form-control { border-color: theme-color(danger); } } .file-upload-default { visibility: hidden; position: absolute; } .file-upload-info { background: transparent; } } ================================================ FILE: scss/shared/components/_icons.scss ================================================ /* Icons */ .icons-list { border-left: 1px solid $border-color; border-top: 1px solid $border-color; >div { background: $card-bg; border-bottom: 1px solid $border-color; border-right: 1px solid $border-color; @include display-flex; @include align-items(center); padding:15px 15px; font-family: $type1; font-size: $default-font-size; i { display: inline-block; font-size: 20px; width: 40px; text-align: left; color: theme-color(primary); } } } ================================================ FILE: scss/shared/components/_lists.scss ================================================ /* Lists */ ul, ol, dl { padding-left: 1rem; font-size: $default-font-size; li { line-height: 1.8; } } .list-ticked, .list-arrow, .list-star { list-style: none; padding: 0; li { padding-left: 1.5rem; &:before { font-family: "simple-line-icons"; margin-left: -1.5rem; width: 1.5rem; margin-right: .5rem; } } } .list-ticked { li { &:before { content: '\e080'; color: theme-color(danger); } } } .list-arrow { li { &:before { content: '\e606'; color: theme-color(success); } } } .list-star { li { &:before { content: '\e09b'; color: theme-color(warning); } } } .gradient-bullet-list { padding-left: 0; .rtl & { padding-right: 0; } li { position: relative; list-style-type: none; padding-left: 25px; line-height: 1; padding-bottom: 25px; &:before, &:after { content:""; position: absolute; } &:before { top: 0; left: 0; width: 15px; height: 15px; border-radius: 100%; } &:after { width: 11px; height: 11px; top: 2px; left: 2px; background: $card-bg; border-radius: 100%; } &:nth-child(1) { &:before { background: theme-color(danger); } } &:nth-child(2) { &:before { background: theme-color(info); } } &:nth-child(3) { &:before { background: theme-color(warning); } } &:nth-child(4) { &:before { background: theme-color(success); } } &:nth-child(5) { &:before { background: theme-color(primary); } } } } ================================================ FILE: scss/shared/components/_modals.scss ================================================ /* Modals */ .modal{ .modal-dialog{ margin-top: 100px; .modal-content{ .modal-header{ padding: $modal-header-padding-y $modal-header-padding-x; .close{ span{ font-size: 20px; font-weight: 400; color: #6a6a6a; } } } .modal-body{ padding: $modal-body-padding-y $modal-body-padding-x; } .modal-footer{ padding: $modal-footer-padding-y $modal-footer-padding-x; } } } } ================================================ FILE: scss/shared/components/_pagination.scss ================================================ /* Pagination */ .pagination{ .page-item { .page-link { border-color: $border-color; color: $body-color; font-size: .875rem; @include transition-duration(0.3s); &:focus{ background: inherit; } i { &:before { font-size: inherit; line-height: 1; vertical-align: middle; } } } &.active, &:hover, &:focus, &:active { .page-link { background: theme-color("primary"); border-color: theme-color("primary"); color: color(white); } } } &.flat{ .page-item{ .page-link{ border: none; @include border-radius(2px); } } } &.separated{ .page-item{ margin-left: 2px; margin-right: 2px; &:first-child{ margin-left: 0; } &:last-child{ margin-right: 0; } .page-link{ @include border-radius(2px); } } } &.rounded{ .page-item{ .page-link{} &:first-child{ .page-link{ @include border-radius(25px 0 0 25px); } } &:last-child{ .page-link{ @include border-radius(0 25px 25px 0); } } } } &.rounded-flat{ .page-item{ margin-right: 3px; margin-left: 3px; .page-link{ border: none; @include border-radius(50px); } } } &.rounded-separated{ .page-item{ margin-left: 2px; margin-right: 2px; &:first-child{ margin-left: 0; .page-link{ @include border-radius(10px 0 0 10px); } } &:last-child{ margin-right: 0; .page-link{ @include border-radius(0 10px 10px 0); } } .page-link{ @include border-radius(2px); } } } } /* pagination variations */ @each $color, $value in $theme-colors { .pagination-#{$color} { @include pagination-variants($value); } } ================================================ FILE: scss/shared/components/_preview.scss ================================================ /* Preview */ .preview-list { .preview-item { @include display-flex; @include flex-direction(row); @include align-items(flex-start); padding: .75rem 1.5rem; font-size: .875rem; &:last-child { border-bottom: 0; } &:hover { background: $dropdown-link-hover-bg; } .form-check { margin-top: 8px; margin-right: 1rem; } .preview-thumbnail { color: color(white); position: relative; img, .preview-icon { width: 36px; height: 36px; border-radius: 100%; } .preview-icon { padding: 6px; text-align: center; @include display-flex; @include align-items(center); @include justify-content(center); i { font-size: 1.125rem; margin: 0; .rtl & { @extend .ml-0; } } } .badge { border: 2px solid color(white); border-radius: 100%; bottom: 5px; display: block; height: 14px; left: -5px; padding: 0; position: absolute; width: 14px; &.badge-online { @extend .badge-success; } &.badge-offline { @extend .badge-info; } &.badge-busy { @extend .badge-warning; } } } .preview-item-content { line-height: 1; padding-left: 15px; &:first-child { padding-left: 0; } p { margin-bottom: 10px; .content-category { font-family: 'source-sans-pro-semibold', sans-serif; padding-right: 15px; border-right: 1px solid $border-color; @extend .text-muted; } } .rtl & { padding-left: 0; padding-right: 1rem; margin-right: 0; margin-left: auto; } } .preview-actions { @include display-flex; @include flex-direction(row); i { width: 29px; color: color(gray-lightest); height: 29px; border: 2px solid color(gray-lightest); border-radius: 100%; padding: 3px 6px; display: inline-block; &:first-child { margin-right: 10px; } } } } &.comment-preview { .preview-item { padding: .87rem 0; &:first-child { padding-top: 0; } p { line-height: 27px; } } } &.bordered { .preview-item { border-bottom: 1px solid $border-color; &:last-child { border-bottom: 0; } } } } ================================================ FILE: scss/shared/components/_tables.scss ================================================ /* Tables */ .table { margin-bottom: 0; thead { th { border-top: 0; border-bottom-width: 1px; font-family: $type1; font-weight: $font-weight-medium; font-weight: initial; i { margin-left: 0.325rem; } } } th, td { vertical-align: middle; font-size: $default-font-size; line-height: 1; white-space: nowrap; img { width: 36px; height: 36px; border-radius: 100%; } .badge { margin-bottom: 0; } } &.table-borderless { border: none; tr, td, th { border: none; } } } ================================================ FILE: scss/shared/landing-screens/_auth.scss ================================================ /* Auth */ .auth { .login-half-bg { background: url("../../images/auth/login-bg.jpg"); background-size: cover; } .register-half-bg { background: url("../../images/auth/register-bg.jpg"); background-size: cover; } &.lock-full-bg { background: url("../../images/auth/lockscreen-bg.jpg"); background-size: cover; } .lock-profile-img { width: 90px; height: 90px; border-radius: 100%; } .auth-form-dark { background: rgba($black, .6); color: $white; .form-control { border-color: rgba($white, .2); color: $white; @include input-placeholder{ color: $white; } } } .auth-form-light { background: $white; select { color: $input-placeholder-color; } .input-group { .form-control { &:focus, &:active { border-color: $border-color; } } } } .auth-form-transparent { background: transparent; .form-control, .input-group-text { border-color: theme-color(secondary); &:focus, &:active { border-color: theme-color(secondary); } } select { outline-color: theme-color(secondary); } } &.auth-img-bg { padding: 0; .auth-form-transparent { @media (min-width:768px) { width: 55%; margin: auto; } } } .brand-logo { margin-bottom: 2rem; img { width: 150px; } } form { .form-group { margin-bottom: 1.5rem; label { font-size: .8125rem; } .form-control { background: transparent; border-radius: 0; font-size: .9375rem; } } .auth-form-btn { height: 50px; line-height: 1.5; } .auth-link { font-size: $default-font-size; &:hover { color: initial; } } } } ================================================ FILE: scss/shared/mixins/_animation.scss ================================================ /* Animation Mixins */ @keyframes dropdownAnimation { from { opacity: 0; transform: translate3d(0, -30px, 0); } to { opacity: 1; transform: none; transform: translate3d(0, 0px, 0); } } .dropdownAnimation { animation-name: dropdownAnimation; @include animation-duration($action-transition-duration); @include animation-fill-mode(both); } @mixin transition($settings) { -webkit-transition: $settings; -moz-transition: $settings; -ms-transition: $settings; -o-transition: $settings; transition: $settings; } @keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } } .fadeOut { animation-name: fadeOut; } .infinite-spin { @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } animation-name: spin; animation-duration: 3s; animation-iteration-count: infinite; animation-timing-function: linear; } @keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: none; } } .fadeInUp { animation-name: fadeInUp; } ================================================ FILE: scss/shared/mixins/_blockqoute.scss ================================================ // BlockQuote Mixins // @mixin blockquote($color) { border-color: $color; .blockquote-footer { color: $color; } } ================================================ FILE: scss/shared/mixins/_buttons.scss ================================================ @mixin social-button($color) { background: $color; color: $white; &:hover, &:focus { background: darken($color, 10%); color: $white; } &.btn-social-icon-text { padding: 0 1.5rem 0 0; background: lighten($color, 10%); i { background: $color; padding: .75rem; display: inline-block; margin-right: 1.5rem; } } } @mixin social-outline-button($color) { border: 1px solid $color; color: $color; &:hover { background: $color; color: $white; } } @mixin button-inverse-variant($color, $color-hover: $white) { background-color: rgba($color, 0.2); background-image: none; border-color: rgba($color, 0); &:not(.btn-inverse-light) { color: $color; } @include hover { color: $color-hover; background-color: $color; border-color: $color; } &.focus, &:focus { box-shadow: 0 0 0 3px rgba($color, .5); } &.disabled, &:disabled { color: $color; background-color: transparent; } &.active, &:active, .show > &.dropdown-toggle { color: $color-hover; background-color: $color; border-color: $color; } } ================================================ FILE: scss/shared/mixins/_cards.scss ================================================ // Cards Mixins @mixin card-inverse-variant($bg, $border, $color) { background: $bg; border: 1px solid $border; color: $color; } ================================================ FILE: scss/shared/mixins/_misc.scss ================================================ /* Miscellaneous Mixins */ // general transform @mixin transform($transforms) { -moz-transform: $transforms; -o-transform: $transforms; -ms-transform: $transforms; -webkit-transform: $transforms; transform: $transforms; } // rotate @mixin rotate ($deg) { @include transform(rotate(#{$deg}deg)); } // scale @mixin scale($scale) { @include transform(scale($scale)); } // translate @mixin translate ($x, $y) { @include transform(translate($x, $y)); } // skew @mixin skew ($x, $y) { @include transform(skew(#{$x}deg, #{$y}deg)); } //transform origin @mixin transform-origin ($origin) { moz-transform-origin: $origin; -o-transform-origin: $origin; -ms-transform-origin: $origin; -webkit-transform-origin: $origin; transform-origin: $origin; } //Ellipsis %ellipsor{ text-overflow: ellipsis; overflow: hidden; max-width:100%; white-space: nowrap; } // Placeholder @mixin placeholder { &::-webkit-input-placeholder { @content } &:-moz-placeholder { @content } &::-moz-placeholder { @content } &:-ms-input-placeholder { @content } } ================================================ FILE: scss/shared/mixins/_pagination.scss ================================================ // Pagination variations @mixin pagination-variants($color) { .page-item { &.active { .page-link { background: $color; border-color: $color; } } .page-link { &:hover { background: lighten($color,5%); border-color: $color; color: $white; } } } } ================================================ FILE: scss/style.scss ================================================ /*------------------------------------------------------------------- ===== Table of Contents ===== * Bootstrap functions * Template variables * SCSS Compass Functions * Boostrap Main SCSS * Template mixins + Animation Mixins + Background Mixins + Badge Mixins + Button Mixins + Miscellaneous Mixins + BlockQuote Mixins + Cards Mixins + Color Functions Mixins + Tooltips + popovers * Core Styles + Reset Styles + Fonts + Functions + Backgrounds + Typography + Miscellaneous + Footer + Layouts + Utilities + Demo styles * Components + Accordions + Badges + Bootstrap Alerts + Boostrap Progress + Buttons + Breadcrumbs + Cards + Checkboxes and Radios + Dropdowns + Forms + Google maps + Icons + Loaders + Lists + Modals + Pagination + Popover + Preview + Tables + Tabs + Timeline + Todo List + Tooltips + User Profile + Pricing table * Email + Mail Sidebar + Mail List Container + Message Content * Plugin Overrides + Ace Editor + Avgrund Popup + Bootstrap Tour + Chartist + CodeMirror + Colcade + Colorpicker + Context Menu + Data Tables + Datepicker + Dropify + Dropzone + Flot chart + Full Calendar + Google Charts + Icheck + Jquery File Upload + Js-grid + Jvectormap + Light Gallery + Listify + No-ui-slider + Owl-carousel + Progressbar-js + Pws-tabs + Quill Editor + Rating + Select2 + Summernote Editor + SweetAlert + Switchery + Tags + TinyMCE Editor + Toast + Typeahead + Wysi Editor + X-editable + Wizard * Landing screens + Auth + Lock Screen -------------------------------------------------------------------*/ /*-------------------------------------------------------------------*/ /* === Import Bootstrap functions and variables === */ @import "../node_modules/bootstrap/scss/functions"; @import "../node_modules/bootstrap/scss/variables"; /*-------------------------------------------------------------------*/ /* === Import template variables === */ @import "./light/variables"; @import 'variables'; /*-------------------------------------------------------------------*/ /* === SCSS Compass Functions === */ @import "../node_modules/compass-mixins/lib/compass"; @import "../node_modules/compass-mixins/lib/animate"; /*-------------------------------------------------------------------*/ /* === Boostrap Main SCSS === */ @import "../node_modules/bootstrap/scss/bootstrap"; /*-------------------------------------------------------------------*/ /* === Template mixins === */ @import "./shared/mixins/misc"; @import "./shared/mixins/animation"; @import "./shared/mixins/blockqoute"; @import "./shared/mixins/buttons"; @import "./shared/mixins/cards"; @import "./shared/mixins/pagination"; /*-------------------------------------------------------------------*/ /* === Core Styles === */ @import "./shared/reset"; @import "./shared/fonts"; @import "./shared/functions"; @import "./shared/typography"; @import "./shared/misc"; @import "./shared/footer"; @import "./shared/utilities"; @import "./shared/demo"; /*-------------------------------------------------------------------*/ /* === Components === */ @import "./shared/components/buttons"; @import "./shared/components/cards"; @import "./shared/components/checkbox-radio"; @import "./shared/components/dropdown"; @import "./shared/components/forms"; @import "./shared/components/icons"; @import "./shared/components/lists"; @import "./shared/components/modals"; @import "./shared/components/pagination"; @import "./shared/components/tables"; @import "./shared/components/preview"; /*-------------------------------------------------------------------*/ /* === Plugin overrides === */ @import "./light/components/plugin-overrides/chartist"; @import "./light/components/plugin-overrides/select2"; @import "./light/components/plugin-overrides/typeahead"; /*-------------------------------------------------------------------*/ /* === Landing screens === */ @import "./shared/landing-screens/auth"; @import 'navbar'; @import 'sidebar'; //@import './layouts'; @import './vertical/vertical-wrapper'; @import 'dashboard'; ================================================ FILE: scss/vertical/_vertical-wrapper.scss ================================================ .page-body-wrapper { min-height: calc(100vh - #{$navbar-height}); @include display-flex(); @include flex-direction(row); padding-left: 0; padding-right: 0; &.full-page-wrapper { width: 100%; min-height: 100vh; } } .navbar { &.fixed-top { + .page-body-wrapper { padding-top: $navbar-height; } } } .main-panel { transition: width $action-transition-duration $action-transition-timing-function, margin $action-transition-duration $action-transition-timing-function; width: calc(100% - #{$sidebar-width-lg}); min-height: calc(100vh - #{$navbar-height}); @include display-flex(); @include flex-direction(column); @media (max-width: 991px) { margin-left: 0; width: 100%; } } .content-wrapper { background: $content-bg; padding: 2.75rem 1.5rem 0; width: 100%; @include flex-grow(1); } ================================================ FILE: vendors/css/vendor.bundle.base.css ================================================ /* * Container style */ .ps { overflow: hidden !important; overflow-anchor: none; -ms-overflow-style: none; touch-action: auto; -ms-touch-action: auto; } /* * Scrollbar rail styles */ .ps__rail-x { display: none; opacity: 0; transition: background-color .2s linear, opacity .2s linear; -webkit-transition: background-color .2s linear, opacity .2s linear; height: 15px; /* there must be 'bottom' or 'top' for ps__rail-x */ bottom: 0px; /* please don't change 'position' */ position: absolute; } .ps__rail-y { display: none; opacity: 0; transition: background-color .2s linear, opacity .2s linear; -webkit-transition: background-color .2s linear, opacity .2s linear; width: 15px; /* there must be 'right' or 'left' for ps__rail-y */ right: 0; /* please don't change 'position' */ position: absolute; } .ps--active-x > .ps__rail-x, .ps--active-y > .ps__rail-y { display: block; background-color: transparent; } .ps:hover > .ps__rail-x, .ps:hover > .ps__rail-y, .ps--focus > .ps__rail-x, .ps--focus > .ps__rail-y, .ps--scrolling-x > .ps__rail-x, .ps--scrolling-y > .ps__rail-y { opacity: 0.6; } .ps .ps__rail-x:hover, .ps .ps__rail-y:hover, .ps .ps__rail-x:focus, .ps .ps__rail-y:focus, .ps .ps__rail-x.ps--clicking, .ps .ps__rail-y.ps--clicking { background-color: #eee; opacity: 0.9; } /* * Scrollbar thumb styles */ .ps__thumb-x { background-color: #aaa; border-radius: 6px; transition: background-color .2s linear, height .2s ease-in-out; -webkit-transition: background-color .2s linear, height .2s ease-in-out; height: 6px; /* there must be 'bottom' for ps__thumb-x */ bottom: 2px; /* please don't change 'position' */ position: absolute; } .ps__thumb-y { background-color: #aaa; border-radius: 6px; transition: background-color .2s linear, width .2s ease-in-out; -webkit-transition: background-color .2s linear, width .2s ease-in-out; width: 6px; /* there must be 'right' for ps__thumb-y */ right: 2px; /* please don't change 'position' */ position: absolute; } .ps__rail-x:hover > .ps__thumb-x, .ps__rail-x:focus > .ps__thumb-x, .ps__rail-x.ps--clicking .ps__thumb-x { background-color: #999; height: 11px; } .ps__rail-y:hover > .ps__thumb-y, .ps__rail-y:focus > .ps__thumb-y, .ps__rail-y.ps--clicking .ps__thumb-y { background-color: #999; width: 11px; } /* MS supports */ @supports (-ms-overflow-style: none) { .ps { overflow: auto !important; } } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { .ps { overflow: auto !important; } } ================================================ FILE: vendors/daterangepicker/daterangepicker.css ================================================ .daterangepicker { position: absolute; color: inherit; background-color: #fff; border-radius: 4px; border: 1px solid #ddd; width: 278px; max-width: none; padding: 0; margin-top: 7px; top: 100px; left: 20px; z-index: 3001; display: none; font-family: arial; font-size: 15px; line-height: 1em; } .daterangepicker:before, .daterangepicker:after { position: absolute; display: inline-block; border-bottom-color: rgba(0, 0, 0, 0.2); content: ''; } .daterangepicker:before { top: -7px; border-right: 7px solid transparent; border-left: 7px solid transparent; border-bottom: 7px solid #ccc; } .daterangepicker:after { top: -6px; border-right: 6px solid transparent; border-bottom: 6px solid #fff; border-left: 6px solid transparent; } .daterangepicker.opensleft:before { right: 9px; } .daterangepicker.opensleft:after { right: 10px; } .daterangepicker.openscenter:before { left: 0; right: 0; width: 0; margin-left: auto; margin-right: auto; } .daterangepicker.openscenter:after { left: 0; right: 0; width: 0; margin-left: auto; margin-right: auto; } .daterangepicker.opensright:before { left: 9px; } .daterangepicker.opensright:after { left: 10px; } .daterangepicker.drop-up { margin-top: -7px; } .daterangepicker.drop-up:before { top: initial; bottom: -7px; border-bottom: initial; border-top: 7px solid #ccc; } .daterangepicker.drop-up:after { top: initial; bottom: -6px; border-bottom: initial; border-top: 6px solid #fff; } .daterangepicker.single .daterangepicker .ranges, .daterangepicker.single .drp-calendar { float: none; } .daterangepicker.single .drp-selected { display: none; } .daterangepicker.show-calendar .drp-calendar { display: block; } .daterangepicker.show-calendar .drp-buttons { display: block; } .daterangepicker.auto-apply .drp-buttons { display: none; } .daterangepicker .drp-calendar { display: none; max-width: 270px; } .daterangepicker .drp-calendar.left { padding: 8px 0 8px 8px; } .daterangepicker .drp-calendar.right { padding: 8px; } .daterangepicker .drp-calendar.single .calendar-table { border: none; } .daterangepicker .calendar-table .next span, .daterangepicker .calendar-table .prev span { color: #fff; border: solid black; border-width: 0 2px 2px 0; border-radius: 0; display: inline-block; padding: 3px; } .daterangepicker .calendar-table .next span { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); } .daterangepicker .calendar-table .prev span { transform: rotate(135deg); -webkit-transform: rotate(135deg); } .daterangepicker .calendar-table th, .daterangepicker .calendar-table td { white-space: nowrap; text-align: center; vertical-align: middle; min-width: 32px; width: 32px; height: 24px; line-height: 24px; font-size: 12px; border-radius: 4px; border: 1px solid transparent; white-space: nowrap; cursor: pointer; } .daterangepicker .calendar-table { border: 1px solid #fff; border-radius: 4px; background-color: #fff; } .daterangepicker .calendar-table table { width: 100%; margin: 0; border-spacing: 0; border-collapse: collapse; } .daterangepicker td.available:hover, .daterangepicker th.available:hover { background-color: #eee; border-color: transparent; color: inherit; } .daterangepicker td.week, .daterangepicker th.week { font-size: 80%; color: #ccc; } .daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date { background-color: #fff; border-color: transparent; color: #999; } .daterangepicker td.in-range { background-color: #ebf4f8; border-color: transparent; color: #000; border-radius: 0; } .daterangepicker td.start-date { border-radius: 4px 0 0 4px; } .daterangepicker td.end-date { border-radius: 0 4px 4px 0; } .daterangepicker td.start-date.end-date { border-radius: 4px; } .daterangepicker td.active, .daterangepicker td.active:hover { background-color: #357ebd; border-color: transparent; color: #fff; } .daterangepicker th.month { width: auto; } .daterangepicker td.disabled, .daterangepicker option.disabled { color: #999; cursor: not-allowed; text-decoration: line-through; } .daterangepicker select.monthselect, .daterangepicker select.yearselect { font-size: 12px; padding: 1px; height: auto; margin: 0; cursor: default; } .daterangepicker select.monthselect { margin-right: 2%; width: 56%; } .daterangepicker select.yearselect { width: 40%; } .daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect { width: 50px; margin: 0 auto; background: #eee; border: 1px solid #eee; padding: 2px; outline: 0; font-size: 12px; } .daterangepicker .calendar-time { text-align: center; margin: 4px auto 0 auto; line-height: 30px; position: relative; } .daterangepicker .calendar-time select.disabled { color: #ccc; cursor: not-allowed; } .daterangepicker .drp-buttons { clear: both; text-align: right; padding: 8px; border-top: 1px solid #ddd; display: none; line-height: 12px; vertical-align: middle; } .daterangepicker .drp-selected { display: inline-block; font-size: 12px; padding-right: 8px; } .daterangepicker .drp-buttons .btn { margin-left: 8px; font-size: 12px; font-weight: bold; padding: 4px 8px; } .daterangepicker.show-ranges.single.rtl .drp-calendar.left { border-right: 1px solid #ddd; } .daterangepicker.show-ranges.single.ltr .drp-calendar.left { border-left: 1px solid #ddd; } .daterangepicker.show-ranges.rtl .drp-calendar.right { border-right: 1px solid #ddd; } .daterangepicker.show-ranges.ltr .drp-calendar.left { border-left: 1px solid #ddd; } .daterangepicker .ranges { float: none; text-align: left; margin: 0; } .daterangepicker.show-calendar .ranges { margin-top: 8px; } .daterangepicker .ranges ul { list-style: none; margin: 0 auto; padding: 0; width: 100%; } .daterangepicker .ranges li { font-size: 12px; padding: 8px 12px; cursor: pointer; } .daterangepicker .ranges li:hover { background-color: #eee; } .daterangepicker .ranges li.active { background-color: #08c; color: #fff; } /* Larger Screen Styling */ @media (min-width: 564px) { .daterangepicker { width: auto; } .daterangepicker .ranges ul { width: 140px; } .daterangepicker.single .ranges ul { width: 100%; } .daterangepicker.single .drp-calendar.left { clear: none; } .daterangepicker.single .ranges, .daterangepicker.single .drp-calendar { float: left; } .daterangepicker { direction: ltr; text-align: left; } .daterangepicker .drp-calendar.left { clear: left; margin-right: 0; } .daterangepicker .drp-calendar.left .calendar-table { border-right: none; border-top-right-radius: 0; border-bottom-right-radius: 0; } .daterangepicker .drp-calendar.right { margin-left: 0; } .daterangepicker .drp-calendar.right .calendar-table { border-left: none; border-top-left-radius: 0; border-bottom-left-radius: 0; } .daterangepicker .drp-calendar.left .calendar-table { padding-right: 8px; } .daterangepicker .ranges, .daterangepicker .drp-calendar { float: left; } } @media (min-width: 730px) { .daterangepicker .ranges { width: auto; } .daterangepicker .ranges { float: left; } .daterangepicker.rtl .ranges { float: right; } .daterangepicker .drp-calendar.left { clear: none !important; } } ================================================ FILE: vendors/daterangepicker/daterangepicker.js ================================================ /** * @version: 3.0.5 * @author: Dan Grossman http://www.dangrossman.info/ * @copyright: Copyright (c) 2012-2019 Dan Grossman. All rights reserved. * @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php * @website: http://www.daterangepicker.com/ */ // Following the UMD template https://github.com/umdjs/umd/blob/master/templates/returnExportsGlobal.js (function (root, factory) { if (typeof define === 'function' && define.amd) { // AMD. Make globaly available as well define(['moment', 'jquery'], function (moment, jquery) { if (!jquery.fn) jquery.fn = {}; // webpack server rendering if (typeof moment !== 'function' && moment.default) moment = moment.default return factory(moment, jquery); }); } else if (typeof module === 'object' && module.exports) { // Node / Browserify //isomorphic issue var jQuery = (typeof window != 'undefined') ? window.jQuery : undefined; if (!jQuery) { jQuery = require('jquery'); if (!jQuery.fn) jQuery.fn = {}; } var moment = (typeof window != 'undefined' && typeof window.moment != 'undefined') ? window.moment : require('moment'); module.exports = factory(moment, jQuery); } else { // Browser globals root.daterangepicker = factory(root.moment, root.jQuery); } }(this, function(moment, $) { var DateRangePicker = function(element, options, cb) { //default settings for options this.parentEl = 'body'; this.element = $(element); this.startDate = moment().startOf('day'); this.endDate = moment().endOf('day'); this.minDate = false; this.maxDate = false; this.maxSpan = false; this.autoApply = false; this.singleDatePicker = false; this.showDropdowns = false; this.minYear = moment().subtract(100, 'year').format('YYYY'); this.maxYear = moment().add(100, 'year').format('YYYY'); this.showWeekNumbers = false; this.showISOWeekNumbers = false; this.showCustomRangeLabel = true; this.timePicker = false; this.timePicker24Hour = false; this.timePickerIncrement = 1; this.timePickerSeconds = false; this.linkedCalendars = true; this.autoUpdateInput = true; this.alwaysShowCalendars = false; this.ranges = {}; this.opens = 'right'; if (this.element.hasClass('pull-right')) this.opens = 'left'; this.drops = 'down'; if (this.element.hasClass('dropup')) this.drops = 'up'; this.buttonClasses = 'btn btn-sm'; this.applyButtonClasses = 'btn-primary'; this.cancelButtonClasses = 'btn-default'; this.locale = { direction: 'ltr', format: moment.localeData().longDateFormat('L'), separator: ' - ', applyLabel: 'Apply', cancelLabel: 'Cancel', weekLabel: 'W', customRangeLabel: 'Custom Range', daysOfWeek: moment.weekdaysMin(), monthNames: moment.monthsShort(), firstDay: moment.localeData().firstDayOfWeek() }; this.callback = function() { }; //some state information this.isShowing = false; this.leftCalendar = {}; this.rightCalendar = {}; //custom options from user if (typeof options !== 'object' || options === null) options = {}; //allow setting options with data attributes //data-api options will be overwritten with custom javascript options options = $.extend(this.element.data(), options); //html template for the picker UI if (typeof options.template !== 'string' && !(options.template instanceof $)) options.template = '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '' + '' + ' ' + '
' + '
'; this.parentEl = (options.parentEl && $(options.parentEl).length) ? $(options.parentEl) : $(this.parentEl); this.container = $(options.template).appendTo(this.parentEl); // // handle all the possible options overriding defaults // if (typeof options.locale === 'object') { if (typeof options.locale.direction === 'string') this.locale.direction = options.locale.direction; if (typeof options.locale.format === 'string') this.locale.format = options.locale.format; if (typeof options.locale.separator === 'string') this.locale.separator = options.locale.separator; if (typeof options.locale.daysOfWeek === 'object') this.locale.daysOfWeek = options.locale.daysOfWeek.slice(); if (typeof options.locale.monthNames === 'object') this.locale.monthNames = options.locale.monthNames.slice(); if (typeof options.locale.firstDay === 'number') this.locale.firstDay = options.locale.firstDay; if (typeof options.locale.applyLabel === 'string') this.locale.applyLabel = options.locale.applyLabel; if (typeof options.locale.cancelLabel === 'string') this.locale.cancelLabel = options.locale.cancelLabel; if (typeof options.locale.weekLabel === 'string') this.locale.weekLabel = options.locale.weekLabel; if (typeof options.locale.customRangeLabel === 'string'){ //Support unicode chars in the custom range name. var elem = document.createElement('textarea'); elem.innerHTML = options.locale.customRangeLabel; var rangeHtml = elem.value; this.locale.customRangeLabel = rangeHtml; } } this.container.addClass(this.locale.direction); if (typeof options.startDate === 'string') this.startDate = moment(options.startDate, this.locale.format); if (typeof options.endDate === 'string') this.endDate = moment(options.endDate, this.locale.format); if (typeof options.minDate === 'string') this.minDate = moment(options.minDate, this.locale.format); if (typeof options.maxDate === 'string') this.maxDate = moment(options.maxDate, this.locale.format); if (typeof options.startDate === 'object') this.startDate = moment(options.startDate); if (typeof options.endDate === 'object') this.endDate = moment(options.endDate); if (typeof options.minDate === 'object') this.minDate = moment(options.minDate); if (typeof options.maxDate === 'object') this.maxDate = moment(options.maxDate); // sanity check for bad options if (this.minDate && this.startDate.isBefore(this.minDate)) this.startDate = this.minDate.clone(); // sanity check for bad options if (this.maxDate && this.endDate.isAfter(this.maxDate)) this.endDate = this.maxDate.clone(); if (typeof options.applyButtonClasses === 'string') this.applyButtonClasses = options.applyButtonClasses; if (typeof options.applyClass === 'string') //backwards compat this.applyButtonClasses = options.applyClass; if (typeof options.cancelButtonClasses === 'string') this.cancelButtonClasses = options.cancelButtonClasses; if (typeof options.cancelClass === 'string') //backwards compat this.cancelButtonClasses = options.cancelClass; if (typeof options.maxSpan === 'object') this.maxSpan = options.maxSpan; if (typeof options.dateLimit === 'object') //backwards compat this.maxSpan = options.dateLimit; if (typeof options.opens === 'string') this.opens = options.opens; if (typeof options.drops === 'string') this.drops = options.drops; if (typeof options.showWeekNumbers === 'boolean') this.showWeekNumbers = options.showWeekNumbers; if (typeof options.showISOWeekNumbers === 'boolean') this.showISOWeekNumbers = options.showISOWeekNumbers; if (typeof options.buttonClasses === 'string') this.buttonClasses = options.buttonClasses; if (typeof options.buttonClasses === 'object') this.buttonClasses = options.buttonClasses.join(' '); if (typeof options.showDropdowns === 'boolean') this.showDropdowns = options.showDropdowns; if (typeof options.minYear === 'number') this.minYear = options.minYear; if (typeof options.maxYear === 'number') this.maxYear = options.maxYear; if (typeof options.showCustomRangeLabel === 'boolean') this.showCustomRangeLabel = options.showCustomRangeLabel; if (typeof options.singleDatePicker === 'boolean') { this.singleDatePicker = options.singleDatePicker; if (this.singleDatePicker) this.endDate = this.startDate.clone(); } if (typeof options.timePicker === 'boolean') this.timePicker = options.timePicker; if (typeof options.timePickerSeconds === 'boolean') this.timePickerSeconds = options.timePickerSeconds; if (typeof options.timePickerIncrement === 'number') this.timePickerIncrement = options.timePickerIncrement; if (typeof options.timePicker24Hour === 'boolean') this.timePicker24Hour = options.timePicker24Hour; if (typeof options.autoApply === 'boolean') this.autoApply = options.autoApply; if (typeof options.autoUpdateInput === 'boolean') this.autoUpdateInput = options.autoUpdateInput; if (typeof options.linkedCalendars === 'boolean') this.linkedCalendars = options.linkedCalendars; if (typeof options.isInvalidDate === 'function') this.isInvalidDate = options.isInvalidDate; if (typeof options.isCustomDate === 'function') this.isCustomDate = options.isCustomDate; if (typeof options.alwaysShowCalendars === 'boolean') this.alwaysShowCalendars = options.alwaysShowCalendars; // update day names order to firstDay if (this.locale.firstDay != 0) { var iterator = this.locale.firstDay; while (iterator > 0) { this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()); iterator--; } } var start, end, range; //if no start/end dates set, check if an input element contains initial values if (typeof options.startDate === 'undefined' && typeof options.endDate === 'undefined') { if ($(this.element).is(':text')) { var val = $(this.element).val(), split = val.split(this.locale.separator); start = end = null; if (split.length == 2) { start = moment(split[0], this.locale.format); end = moment(split[1], this.locale.format); } else if (this.singleDatePicker && val !== "") { start = moment(val, this.locale.format); end = moment(val, this.locale.format); } if (start !== null && end !== null) { this.setStartDate(start); this.setEndDate(end); } } } if (typeof options.ranges === 'object') { for (range in options.ranges) { if (typeof options.ranges[range][0] === 'string') start = moment(options.ranges[range][0], this.locale.format); else start = moment(options.ranges[range][0]); if (typeof options.ranges[range][1] === 'string') end = moment(options.ranges[range][1], this.locale.format); else end = moment(options.ranges[range][1]); // If the start or end date exceed those allowed by the minDate or maxSpan // options, shorten the range to the allowable period. if (this.minDate && start.isBefore(this.minDate)) start = this.minDate.clone(); var maxDate = this.maxDate; if (this.maxSpan && maxDate && start.clone().add(this.maxSpan).isAfter(maxDate)) maxDate = start.clone().add(this.maxSpan); if (maxDate && end.isAfter(maxDate)) end = maxDate.clone(); // If the end of the range is before the minimum or the start of the range is // after the maximum, don't display this range option at all. if ((this.minDate && end.isBefore(this.minDate, this.timepicker ? 'minute' : 'day')) || (maxDate && start.isAfter(maxDate, this.timepicker ? 'minute' : 'day'))) continue; //Support unicode chars in the range names. var elem = document.createElement('textarea'); elem.innerHTML = range; var rangeHtml = elem.value; this.ranges[rangeHtml] = [start, end]; } var list = ''; this.container.find('.ranges').prepend(list); } if (typeof cb === 'function') { this.callback = cb; } if (!this.timePicker) { this.startDate = this.startDate.startOf('day'); this.endDate = this.endDate.endOf('day'); this.container.find('.calendar-time').hide(); } //can't be used together for now if (this.timePicker && this.autoApply) this.autoApply = false; if (this.autoApply) { this.container.addClass('auto-apply'); } if (typeof options.ranges === 'object') this.container.addClass('show-ranges'); if (this.singleDatePicker) { this.container.addClass('single'); this.container.find('.drp-calendar.left').addClass('single'); this.container.find('.drp-calendar.left').show(); this.container.find('.drp-calendar.right').hide(); if (!this.timePicker) { this.container.addClass('auto-apply'); } } if ((typeof options.ranges === 'undefined' && !this.singleDatePicker) || this.alwaysShowCalendars) { this.container.addClass('show-calendar'); } this.container.addClass('opens' + this.opens); //apply CSS classes and labels to buttons this.container.find('.applyBtn, .cancelBtn').addClass(this.buttonClasses); if (this.applyButtonClasses.length) this.container.find('.applyBtn').addClass(this.applyButtonClasses); if (this.cancelButtonClasses.length) this.container.find('.cancelBtn').addClass(this.cancelButtonClasses); this.container.find('.applyBtn').html(this.locale.applyLabel); this.container.find('.cancelBtn').html(this.locale.cancelLabel); // // event listeners // this.container.find('.drp-calendar') .on('click.daterangepicker', '.prev', $.proxy(this.clickPrev, this)) .on('click.daterangepicker', '.next', $.proxy(this.clickNext, this)) .on('mousedown.daterangepicker', 'td.available', $.proxy(this.clickDate, this)) .on('mouseenter.daterangepicker', 'td.available', $.proxy(this.hoverDate, this)) .on('change.daterangepicker', 'select.yearselect', $.proxy(this.monthOrYearChanged, this)) .on('change.daterangepicker', 'select.monthselect', $.proxy(this.monthOrYearChanged, this)) .on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', $.proxy(this.timeChanged, this)) this.container.find('.ranges') .on('click.daterangepicker', 'li', $.proxy(this.clickRange, this)) this.container.find('.drp-buttons') .on('click.daterangepicker', 'button.applyBtn', $.proxy(this.clickApply, this)) .on('click.daterangepicker', 'button.cancelBtn', $.proxy(this.clickCancel, this)) if (this.element.is('input') || this.element.is('button')) { this.element.on({ 'click.daterangepicker': $.proxy(this.show, this), 'focus.daterangepicker': $.proxy(this.show, this), 'keyup.daterangepicker': $.proxy(this.elementChanged, this), 'keydown.daterangepicker': $.proxy(this.keydown, this) //IE 11 compatibility }); } else { this.element.on('click.daterangepicker', $.proxy(this.toggle, this)); this.element.on('keydown.daterangepicker', $.proxy(this.toggle, this)); } // // if attached to a text input, set the initial value // this.updateElement(); }; DateRangePicker.prototype = { constructor: DateRangePicker, setStartDate: function(startDate) { if (typeof startDate === 'string') this.startDate = moment(startDate, this.locale.format); if (typeof startDate === 'object') this.startDate = moment(startDate); if (!this.timePicker) this.startDate = this.startDate.startOf('day'); if (this.timePicker && this.timePickerIncrement) this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); if (this.minDate && this.startDate.isBefore(this.minDate)) { this.startDate = this.minDate.clone(); if (this.timePicker && this.timePickerIncrement) this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); } if (this.maxDate && this.startDate.isAfter(this.maxDate)) { this.startDate = this.maxDate.clone(); if (this.timePicker && this.timePickerIncrement) this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); } if (!this.isShowing) this.updateElement(); this.updateMonthsInView(); }, setEndDate: function(endDate) { if (typeof endDate === 'string') this.endDate = moment(endDate, this.locale.format); if (typeof endDate === 'object') this.endDate = moment(endDate); if (!this.timePicker) this.endDate = this.endDate.endOf('day'); if (this.timePicker && this.timePickerIncrement) this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); if (this.endDate.isBefore(this.startDate)) this.endDate = this.startDate.clone(); if (this.maxDate && this.endDate.isAfter(this.maxDate)) this.endDate = this.maxDate.clone(); if (this.maxSpan && this.startDate.clone().add(this.maxSpan).isBefore(this.endDate)) this.endDate = this.startDate.clone().add(this.maxSpan); this.previousRightTime = this.endDate.clone(); this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)); if (!this.isShowing) this.updateElement(); this.updateMonthsInView(); }, isInvalidDate: function() { return false; }, isCustomDate: function() { return false; }, updateView: function() { if (this.timePicker) { this.renderTimePicker('left'); this.renderTimePicker('right'); if (!this.endDate) { this.container.find('.right .calendar-time select').attr('disabled', 'disabled').addClass('disabled'); } else { this.container.find('.right .calendar-time select').removeAttr('disabled').removeClass('disabled'); } } if (this.endDate) this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)); this.updateMonthsInView(); this.updateCalendars(); this.updateFormInputs(); }, updateMonthsInView: function() { if (this.endDate) { //if both dates are visible already, do nothing if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month && (this.startDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.startDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM')) && (this.endDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.endDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM')) ) { return; } this.leftCalendar.month = this.startDate.clone().date(2); if (!this.linkedCalendars && (this.endDate.month() != this.startDate.month() || this.endDate.year() != this.startDate.year())) { this.rightCalendar.month = this.endDate.clone().date(2); } else { this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month'); } } else { if (this.leftCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && this.rightCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM')) { this.leftCalendar.month = this.startDate.clone().date(2); this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month'); } } if (this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate) { this.rightCalendar.month = this.maxDate.clone().date(2); this.leftCalendar.month = this.maxDate.clone().date(2).subtract(1, 'month'); } }, updateCalendars: function() { if (this.timePicker) { var hour, minute, second; if (this.endDate) { hour = parseInt(this.container.find('.left .hourselect').val(), 10); minute = parseInt(this.container.find('.left .minuteselect').val(), 10); if (isNaN(minute)) { minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10); } second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0; if (!this.timePicker24Hour) { var ampm = this.container.find('.left .ampmselect').val(); if (ampm === 'PM' && hour < 12) hour += 12; if (ampm === 'AM' && hour === 12) hour = 0; } } else { hour = parseInt(this.container.find('.right .hourselect').val(), 10); minute = parseInt(this.container.find('.right .minuteselect').val(), 10); if (isNaN(minute)) { minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10); } second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0; if (!this.timePicker24Hour) { var ampm = this.container.find('.right .ampmselect').val(); if (ampm === 'PM' && hour < 12) hour += 12; if (ampm === 'AM' && hour === 12) hour = 0; } } this.leftCalendar.month.hour(hour).minute(minute).second(second); this.rightCalendar.month.hour(hour).minute(minute).second(second); } this.renderCalendar('left'); this.renderCalendar('right'); //highlight any predefined range matching the current start and end dates this.container.find('.ranges li').removeClass('active'); if (this.endDate == null) return; this.calculateChosenLabel(); }, renderCalendar: function(side) { // // Build the matrix of dates that will populate the calendar // var calendar = side == 'left' ? this.leftCalendar : this.rightCalendar; var month = calendar.month.month(); var year = calendar.month.year(); var hour = calendar.month.hour(); var minute = calendar.month.minute(); var second = calendar.month.second(); var daysInMonth = moment([year, month]).daysInMonth(); var firstDay = moment([year, month, 1]); var lastDay = moment([year, month, daysInMonth]); var lastMonth = moment(firstDay).subtract(1, 'month').month(); var lastYear = moment(firstDay).subtract(1, 'month').year(); var daysInLastMonth = moment([lastYear, lastMonth]).daysInMonth(); var dayOfWeek = firstDay.day(); //initialize a 6 rows x 7 columns array for the calendar var calendar = []; calendar.firstDay = firstDay; calendar.lastDay = lastDay; for (var i = 0; i < 6; i++) { calendar[i] = []; } //populate the calendar with date objects var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1; if (startDay > daysInLastMonth) startDay -= 7; if (dayOfWeek == this.locale.firstDay) startDay = daysInLastMonth - 6; var curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]); var col, row; for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add(24, 'hour')) { if (i > 0 && col % 7 === 0) { col = 0; row++; } calendar[row][col] = curDate.clone().hour(hour).minute(minute).second(second); curDate.hour(12); if (this.minDate && calendar[row][col].format('YYYY-MM-DD') == this.minDate.format('YYYY-MM-DD') && calendar[row][col].isBefore(this.minDate) && side == 'left') { calendar[row][col] = this.minDate.clone(); } if (this.maxDate && calendar[row][col].format('YYYY-MM-DD') == this.maxDate.format('YYYY-MM-DD') && calendar[row][col].isAfter(this.maxDate) && side == 'right') { calendar[row][col] = this.maxDate.clone(); } } //make the calendar object available to hoverDate/clickDate if (side == 'left') { this.leftCalendar.calendar = calendar; } else { this.rightCalendar.calendar = calendar; } // // Display the calendar // var minDate = side == 'left' ? this.minDate : this.startDate; var maxDate = this.maxDate; var selected = side == 'left' ? this.startDate : this.endDate; var arrow = this.locale.direction == 'ltr' ? {left: 'chevron-left', right: 'chevron-right'} : {left: 'chevron-right', right: 'chevron-left'}; var html = ''; html += ''; html += ''; // add empty cell for week number if (this.showWeekNumbers || this.showISOWeekNumbers) html += ''; if ((!minDate || minDate.isBefore(calendar.firstDay)) && (!this.linkedCalendars || side == 'left')) { html += ''; } else { html += ''; } var dateHtml = this.locale.monthNames[calendar[1][1].month()] + calendar[1][1].format(" YYYY"); if (this.showDropdowns) { var currentMonth = calendar[1][1].month(); var currentYear = calendar[1][1].year(); var maxYear = (maxDate && maxDate.year()) || (this.maxYear); var minYear = (minDate && minDate.year()) || (this.minYear); var inMinYear = currentYear == minYear; var inMaxYear = currentYear == maxYear; var monthHtml = '"; var yearHtml = ''; dateHtml = monthHtml + yearHtml; } html += ''; if ((!maxDate || maxDate.isAfter(calendar.lastDay)) && (!this.linkedCalendars || side == 'right' || this.singleDatePicker)) { html += ''; } else { html += ''; } html += ''; html += ''; // add week number label if (this.showWeekNumbers || this.showISOWeekNumbers) html += ''; $.each(this.locale.daysOfWeek, function(index, dayOfWeek) { html += ''; }); html += ''; html += ''; html += ''; //adjust maxDate to reflect the maxSpan setting in order to //grey out end dates beyond the maxSpan if (this.endDate == null && this.maxSpan) { var maxLimit = this.startDate.clone().add(this.maxSpan).endOf('day'); if (!maxDate || maxLimit.isBefore(maxDate)) { maxDate = maxLimit; } } for (var row = 0; row < 6; row++) { html += ''; // add week number if (this.showWeekNumbers) html += ''; else if (this.showISOWeekNumbers) html += ''; for (var col = 0; col < 7; col++) { var classes = []; //highlight today's date if (calendar[row][col].isSame(new Date(), "day")) classes.push('today'); //highlight weekends if (calendar[row][col].isoWeekday() > 5) classes.push('weekend'); //grey out the dates in other months displayed at beginning and end of this calendar if (calendar[row][col].month() != calendar[1][1].month()) classes.push('off', 'ends'); //don't allow selection of dates before the minimum date if (this.minDate && calendar[row][col].isBefore(this.minDate, 'day')) classes.push('off', 'disabled'); //don't allow selection of dates after the maximum date if (maxDate && calendar[row][col].isAfter(maxDate, 'day')) classes.push('off', 'disabled'); //don't allow selection of date if a custom function decides it's invalid if (this.isInvalidDate(calendar[row][col])) classes.push('off', 'disabled'); //highlight the currently selected start date if (calendar[row][col].format('YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD')) classes.push('active', 'start-date'); //highlight the currently selected end date if (this.endDate != null && calendar[row][col].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD')) classes.push('active', 'end-date'); //highlight dates in-between the selected dates if (this.endDate != null && calendar[row][col] > this.startDate && calendar[row][col] < this.endDate) classes.push('in-range'); //apply custom classes for this date var isCustom = this.isCustomDate(calendar[row][col]); if (isCustom !== false) { if (typeof isCustom === 'string') classes.push(isCustom); else Array.prototype.push.apply(classes, isCustom); } var cname = '', disabled = false; for (var i = 0; i < classes.length; i++) { cname += classes[i] + ' '; if (classes[i] == 'disabled') disabled = true; } if (!disabled) cname += 'available'; html += ''; } html += ''; } html += ''; html += '
' + dateHtml + '
' + this.locale.weekLabel + '' + dayOfWeek + '
' + calendar[row][0].week() + '' + calendar[row][0].isoWeek() + '' + calendar[row][col].date() + '
'; this.container.find('.drp-calendar.' + side + ' .calendar-table').html(html); }, renderTimePicker: function(side) { // Don't bother updating the time picker if it's currently disabled // because an end date hasn't been clicked yet if (side == 'right' && !this.endDate) return; var html, selected, minDate, maxDate = this.maxDate; if (this.maxSpan && (!this.maxDate || this.startDate.clone().add(this.maxSpan).isBefore(this.maxDate))) maxDate = this.startDate.clone().add(this.maxSpan); if (side == 'left') { selected = this.startDate.clone(); minDate = this.minDate; } else if (side == 'right') { selected = this.endDate.clone(); minDate = this.startDate; //Preserve the time already selected var timeSelector = this.container.find('.drp-calendar.right .calendar-time'); if (timeSelector.html() != '') { selected.hour(!isNaN(selected.hour()) ? selected.hour() : timeSelector.find('.hourselect option:selected').val()); selected.minute(!isNaN(selected.minute()) ? selected.minute() : timeSelector.find('.minuteselect option:selected').val()); selected.second(!isNaN(selected.second()) ? selected.second() : timeSelector.find('.secondselect option:selected').val()); if (!this.timePicker24Hour) { var ampm = timeSelector.find('.ampmselect option:selected').val(); if (ampm === 'PM' && selected.hour() < 12) selected.hour(selected.hour() + 12); if (ampm === 'AM' && selected.hour() === 12) selected.hour(0); } } if (selected.isBefore(this.startDate)) selected = this.startDate.clone(); if (maxDate && selected.isAfter(maxDate)) selected = maxDate.clone(); } // // hours // html = ' '; // // minutes // html += ': '; // // seconds // if (this.timePickerSeconds) { html += ': '; } // // AM/PM // if (!this.timePicker24Hour) { html += ''; } this.container.find('.drp-calendar.' + side + ' .calendar-time').html(html); }, updateFormInputs: function() { if (this.singleDatePicker || (this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)))) { this.container.find('button.applyBtn').removeAttr('disabled'); } else { this.container.find('button.applyBtn').attr('disabled', 'disabled'); } }, move: function() { var parentOffset = { top: 0, left: 0 }, containerTop; var parentRightEdge = $(window).width(); if (!this.parentEl.is('body')) { parentOffset = { top: this.parentEl.offset().top - this.parentEl.scrollTop(), left: this.parentEl.offset().left - this.parentEl.scrollLeft() }; parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left; } if (this.drops == 'up') containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top; else containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top; // Force the container to it's actual width this.container.css({ top: 0, left: 0, right: 'auto' }); var containerWidth = this.container.outerWidth(); this.container[this.drops == 'up' ? 'addClass' : 'removeClass']('drop-up'); if (this.opens == 'left') { var containerRight = parentRightEdge - this.element.offset().left - this.element.outerWidth(); if (containerWidth + containerRight > $(window).width()) { this.container.css({ top: containerTop, right: 'auto', left: 9 }); } else { this.container.css({ top: containerTop, right: containerRight, left: 'auto' }); } } else if (this.opens == 'center') { var containerLeft = this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2 - containerWidth / 2; if (containerLeft < 0) { this.container.css({ top: containerTop, right: 'auto', left: 9 }); } else if (containerLeft + containerWidth > $(window).width()) { this.container.css({ top: containerTop, left: 'auto', right: 0 }); } else { this.container.css({ top: containerTop, left: containerLeft, right: 'auto' }); } } else { var containerLeft = this.element.offset().left - parentOffset.left; if (containerLeft + containerWidth > $(window).width()) { this.container.css({ top: containerTop, left: 'auto', right: 0 }); } else { this.container.css({ top: containerTop, left: containerLeft, right: 'auto' }); } } }, show: function(e) { if (this.isShowing) return; // Create a click proxy that is private to this instance of datepicker, for unbinding this._outsideClickProxy = $.proxy(function(e) { this.outsideClick(e); }, this); // Bind global datepicker mousedown for hiding and $(document) .on('mousedown.daterangepicker', this._outsideClickProxy) // also support mobile devices .on('touchend.daterangepicker', this._outsideClickProxy) // also explicitly play nice with Bootstrap dropdowns, which stopPropagation when clicking them .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy) // and also close when focus changes to outside the picker (eg. tabbing between controls) .on('focusin.daterangepicker', this._outsideClickProxy); // Reposition the picker if the window is resized while it's open $(window).on('resize.daterangepicker', $.proxy(function(e) { this.move(e); }, this)); this.oldStartDate = this.startDate.clone(); this.oldEndDate = this.endDate.clone(); this.previousRightTime = this.endDate.clone(); this.updateView(); this.container.show(); this.move(); this.element.trigger('show.daterangepicker', this); this.isShowing = true; }, hide: function(e) { if (!this.isShowing) return; //incomplete date selection, revert to last values if (!this.endDate) { this.startDate = this.oldStartDate.clone(); this.endDate = this.oldEndDate.clone(); } //if a new date range was selected, invoke the user callback function if (!this.startDate.isSame(this.oldStartDate) || !this.endDate.isSame(this.oldEndDate)) this.callback(this.startDate.clone(), this.endDate.clone(), this.chosenLabel); //if picker is attached to a text input, update it this.updateElement(); $(document).off('.daterangepicker'); $(window).off('.daterangepicker'); this.container.hide(); this.element.trigger('hide.daterangepicker', this); this.isShowing = false; }, toggle: function(e) { if (this.isShowing) { this.hide(); } else { this.show(); } }, outsideClick: function(e) { var target = $(e.target); // if the page is clicked anywhere except within the daterangerpicker/button // itself then call this.hide() if ( // ie modal dialog fix e.type == "focusin" || target.closest(this.element).length || target.closest(this.container).length || target.closest('.calendar-table').length ) return; this.hide(); this.element.trigger('outsideClick.daterangepicker', this); }, showCalendars: function() { this.container.addClass('show-calendar'); this.move(); this.element.trigger('showCalendar.daterangepicker', this); }, hideCalendars: function() { this.container.removeClass('show-calendar'); this.element.trigger('hideCalendar.daterangepicker', this); }, clickRange: function(e) { var label = e.target.getAttribute('data-range-key'); this.chosenLabel = label; if (label == this.locale.customRangeLabel) { this.showCalendars(); } else { var dates = this.ranges[label]; this.startDate = dates[0]; this.endDate = dates[1]; if (!this.timePicker) { this.startDate.startOf('day'); this.endDate.endOf('day'); } if (!this.alwaysShowCalendars) this.hideCalendars(); this.clickApply(); } }, clickPrev: function(e) { var cal = $(e.target).parents('.drp-calendar'); if (cal.hasClass('left')) { this.leftCalendar.month.subtract(1, 'month'); if (this.linkedCalendars) this.rightCalendar.month.subtract(1, 'month'); } else { this.rightCalendar.month.subtract(1, 'month'); } this.updateCalendars(); }, clickNext: function(e) { var cal = $(e.target).parents('.drp-calendar'); if (cal.hasClass('left')) { this.leftCalendar.month.add(1, 'month'); } else { this.rightCalendar.month.add(1, 'month'); if (this.linkedCalendars) this.leftCalendar.month.add(1, 'month'); } this.updateCalendars(); }, hoverDate: function(e) { //ignore dates that can't be selected if (!$(e.target).hasClass('available')) return; var title = $(e.target).attr('data-title'); var row = title.substr(1, 1); var col = title.substr(3, 1); var cal = $(e.target).parents('.drp-calendar'); var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; //highlight the dates between the start date and the date being hovered as a potential end date var leftCalendar = this.leftCalendar; var rightCalendar = this.rightCalendar; var startDate = this.startDate; if (!this.endDate) { this.container.find('.drp-calendar tbody td').each(function(index, el) { //skip week numbers, only look at dates if ($(el).hasClass('week')) return; var title = $(el).attr('data-title'); var row = title.substr(1, 1); var col = title.substr(3, 1); var cal = $(el).parents('.drp-calendar'); var dt = cal.hasClass('left') ? leftCalendar.calendar[row][col] : rightCalendar.calendar[row][col]; if ((dt.isAfter(startDate) && dt.isBefore(date)) || dt.isSame(date, 'day')) { $(el).addClass('in-range'); } else { $(el).removeClass('in-range'); } }); } }, clickDate: function(e) { if (!$(e.target).hasClass('available')) return; var title = $(e.target).attr('data-title'); var row = title.substr(1, 1); var col = title.substr(3, 1); var cal = $(e.target).parents('.drp-calendar'); var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; // // this function needs to do a few things: // * alternate between selecting a start and end date for the range, // * if the time picker is enabled, apply the hour/minute/second from the select boxes to the clicked date // * if autoapply is enabled, and an end date was chosen, apply the selection // * if single date picker mode, and time picker isn't enabled, apply the selection immediately // * if one of the inputs above the calendars was focused, cancel that manual input // if (this.endDate || date.isBefore(this.startDate, 'day')) { //picking start if (this.timePicker) { var hour = parseInt(this.container.find('.left .hourselect').val(), 10); if (!this.timePicker24Hour) { var ampm = this.container.find('.left .ampmselect').val(); if (ampm === 'PM' && hour < 12) hour += 12; if (ampm === 'AM' && hour === 12) hour = 0; } var minute = parseInt(this.container.find('.left .minuteselect').val(), 10); if (isNaN(minute)) { minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10); } var second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0; date = date.clone().hour(hour).minute(minute).second(second); } this.endDate = null; this.setStartDate(date.clone()); } else if (!this.endDate && date.isBefore(this.startDate)) { //special case: clicking the same date for start/end, //but the time of the end date is before the start date this.setEndDate(this.startDate.clone()); } else { // picking end if (this.timePicker) { var hour = parseInt(this.container.find('.right .hourselect').val(), 10); if (!this.timePicker24Hour) { var ampm = this.container.find('.right .ampmselect').val(); if (ampm === 'PM' && hour < 12) hour += 12; if (ampm === 'AM' && hour === 12) hour = 0; } var minute = parseInt(this.container.find('.right .minuteselect').val(), 10); if (isNaN(minute)) { minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10); } var second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0; date = date.clone().hour(hour).minute(minute).second(second); } this.setEndDate(date.clone()); if (this.autoApply) { this.calculateChosenLabel(); this.clickApply(); } } if (this.singleDatePicker) { this.setEndDate(this.startDate); if (!this.timePicker) this.clickApply(); } this.updateView(); //This is to cancel the blur event handler if the mouse was in one of the inputs e.stopPropagation(); }, calculateChosenLabel: function () { var customRange = true; var i = 0; for (var range in this.ranges) { if (this.timePicker) { var format = this.timePickerSeconds ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD HH:mm"; //ignore times when comparing dates if time picker seconds is not enabled if (this.startDate.format(format) == this.ranges[range][0].format(format) && this.endDate.format(format) == this.ranges[range][1].format(format)) { customRange = false; this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key'); break; } } else { //ignore times when comparing dates if time picker is not enabled if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) { customRange = false; this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key'); break; } } i++; } if (customRange) { if (this.showCustomRangeLabel) { this.chosenLabel = this.container.find('.ranges li:last').addClass('active').attr('data-range-key'); } else { this.chosenLabel = null; } this.showCalendars(); } }, clickApply: function(e) { this.hide(); this.element.trigger('apply.daterangepicker', this); }, clickCancel: function(e) { this.startDate = this.oldStartDate; this.endDate = this.oldEndDate; this.hide(); this.element.trigger('cancel.daterangepicker', this); }, monthOrYearChanged: function(e) { var isLeft = $(e.target).closest('.drp-calendar').hasClass('left'), leftOrRight = isLeft ? 'left' : 'right', cal = this.container.find('.drp-calendar.'+leftOrRight); // Month must be Number for new moment versions var month = parseInt(cal.find('.monthselect').val(), 10); var year = cal.find('.yearselect').val(); if (!isLeft) { if (year < this.startDate.year() || (year == this.startDate.year() && month < this.startDate.month())) { month = this.startDate.month(); year = this.startDate.year(); } } if (this.minDate) { if (year < this.minDate.year() || (year == this.minDate.year() && month < this.minDate.month())) { month = this.minDate.month(); year = this.minDate.year(); } } if (this.maxDate) { if (year > this.maxDate.year() || (year == this.maxDate.year() && month > this.maxDate.month())) { month = this.maxDate.month(); year = this.maxDate.year(); } } if (isLeft) { this.leftCalendar.month.month(month).year(year); if (this.linkedCalendars) this.rightCalendar.month = this.leftCalendar.month.clone().add(1, 'month'); } else { this.rightCalendar.month.month(month).year(year); if (this.linkedCalendars) this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, 'month'); } this.updateCalendars(); }, timeChanged: function(e) { var cal = $(e.target).closest('.drp-calendar'), isLeft = cal.hasClass('left'); var hour = parseInt(cal.find('.hourselect').val(), 10); var minute = parseInt(cal.find('.minuteselect').val(), 10); if (isNaN(minute)) { minute = parseInt(cal.find('.minuteselect option:last').val(), 10); } var second = this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10) : 0; if (!this.timePicker24Hour) { var ampm = cal.find('.ampmselect').val(); if (ampm === 'PM' && hour < 12) hour += 12; if (ampm === 'AM' && hour === 12) hour = 0; } if (isLeft) { var start = this.startDate.clone(); start.hour(hour); start.minute(minute); start.second(second); this.setStartDate(start); if (this.singleDatePicker) { this.endDate = this.startDate.clone(); } else if (this.endDate && this.endDate.format('YYYY-MM-DD') == start.format('YYYY-MM-DD') && this.endDate.isBefore(start)) { this.setEndDate(start.clone()); } } else if (this.endDate) { var end = this.endDate.clone(); end.hour(hour); end.minute(minute); end.second(second); this.setEndDate(end); } //update the calendars so all clickable dates reflect the new time component this.updateCalendars(); //update the form inputs above the calendars with the new time this.updateFormInputs(); //re-render the time pickers because changing one selection can affect what's enabled in another this.renderTimePicker('left'); this.renderTimePicker('right'); }, elementChanged: function() { if (!this.element.is('input')) return; if (!this.element.val().length) return; var dateString = this.element.val().split(this.locale.separator), start = null, end = null; if (dateString.length === 2) { start = moment(dateString[0], this.locale.format); end = moment(dateString[1], this.locale.format); } if (this.singleDatePicker || start === null || end === null) { start = moment(this.element.val(), this.locale.format); end = start; } if (!start.isValid() || !end.isValid()) return; this.setStartDate(start); this.setEndDate(end); this.updateView(); }, keydown: function(e) { //hide on tab or enter if ((e.keyCode === 9) || (e.keyCode === 13)) { this.hide(); } //hide on esc and prevent propagation if (e.keyCode === 27) { e.preventDefault(); e.stopPropagation(); this.hide(); } }, updateElement: function() { if (this.element.is('input') && this.autoUpdateInput) { var newValue = this.startDate.format(this.locale.format); if (!this.singleDatePicker) { newValue += this.locale.separator + this.endDate.format(this.locale.format); } if (newValue !== this.element.val()) { this.element.val(newValue).trigger('change'); } } }, remove: function() { this.container.remove(); this.element.off('.daterangepicker'); this.element.removeData(); } }; $.fn.daterangepicker = function(options, callback) { var implementOptions = $.extend(true, {}, $.fn.daterangepicker.defaultOptions, options); this.each(function() { var el = $(this); if (el.data('daterangepicker')) el.data('daterangepicker').remove(); el.data('daterangepicker', new DateRangePicker(el, implementOptions, callback)); }); return this; }; return DateRangePicker; })); ================================================ FILE: vendors/js/vendor.bundle.base.js ================================================ /*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),le({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=fe({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},le(n,m,$(v)),le(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ge.FLIP:p=[n,i];break;case ge.CLOCKWISE:p=G(n);break;case ge.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),v=y||E;(m||b||v)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),v&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=fe({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.rightwindow.devicePixelRatio||!me),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=fe({},E,e.attributes),e.styles=fe({},m,e.styles),e.arrowStyles=fe({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ue}); //# sourceMappingURL=popper.min.js.map /*! * Bootstrap v4.3.1 (https://getbootstrap.com/) * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Ee},je="show",He="out",Re={HIDE:"hide"+De,HIDDEN:"hidden"+De,SHOW:"show"+De,SHOWN:"shown"+De,INSERTED:"inserted"+De,CLICK:"click"+De,FOCUSIN:"focusin"+De,FOCUSOUT:"focusout"+De,MOUSEENTER:"mouseenter"+De,MOUSELEAVE:"mouseleave"+De},xe="fade",Fe="show",Ue=".tooltip-inner",We=".arrow",qe="hover",Me="focus",Ke="click",Qe="manual",Be=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Fe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(xe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:We},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(o).addClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===He&&e._leave(null,e)};if(g(this.tip).hasClass(xe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==je&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ke]=!1,this._activeTrigger[Me]=!1,this._activeTrigger[qe]=!1,g(this.tip).hasClass(xe)){var r=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ae+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ue)),this.getTitle()),g(t).removeClass(xe+" "+Fe)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Se(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Pe[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Qe){var e=t===qe?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===qe?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Me:qe]=!0),g(e.getTipElement()).hasClass(Fe)||e._hoverState===je?e._hoverState=je:(clearTimeout(e._timeout),e._hoverState=je,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===je&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Me:qe]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=He,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===He&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==Oe.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(be,t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ne);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(xe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ie),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ie,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Le}},{key:"NAME",get:function(){return be}},{key:"DATA_KEY",get:function(){return Ie}},{key:"Event",get:function(){return Re}},{key:"EVENT_KEY",get:function(){return De}},{key:"DefaultType",get:function(){return ke}}]),i}();g.fn[be]=Be._jQueryInterface,g.fn[be].Constructor=Be,g.fn[be].noConflict=function(){return g.fn[be]=we,Be._jQueryInterface};var Ve="popover",Ye="bs.popover",ze="."+Ye,Xe=g.fn[Ve],$e="bs-popover",Ge=new RegExp("(^|\\s)"+$e+"\\S+","g"),Je=l({},Be.Default,{placement:"right",trigger:"click",content:"",template:''}),Ze=l({},Be.DefaultType,{content:"(string|element|function)"}),tn="fade",en="show",nn=".popover-header",on=".popover-body",rn={HIDE:"hide"+ze,HIDDEN:"hidden"+ze,SHOW:"show"+ze,SHOWN:"shown"+ze,INSERTED:"inserted"+ze,CLICK:"click"+ze,FOCUSIN:"focusin"+ze,FOCUSOUT:"focusout"+ze,MOUSEENTER:"mouseenter"+ze,MOUSELEAVE:"mouseleave"+ze},sn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){g(this.getTipElement()).addClass($e+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},o.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(nn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(on),e),t.removeClass(tn+" "+en)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ge);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||tt[n]-t[o]-1&&(t.reach[h]="end"),e&&(f.dispatchEvent(c("ps-scroll-"+h)),e<0?f.dispatchEvent(c("ps-scroll-"+u)):e>0&&f.dispatchEvent(c("ps-scroll-"+d)),r&&a(t,h)),t.reach[h]&&(e||l)&&f.dispatchEvent(c("ps-"+h+"-reach-"+t.reach[h]))}function u(t){return parseInt(t,10)||0}function d(t){return r(t,"input,[contenteditable]")||r(t,"select,[contenteditable]")||r(t,"textarea,[contenteditable]")||r(t,"button,[contenteditable]")}function f(e){var i=t(e);return u(i.width)+u(i.paddingLeft)+u(i.paddingRight)+u(i.borderLeftWidth)+u(i.borderRightWidth)}function p(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function b(t,i){var r={width:i.railXWidth},l=Math.floor(t.scrollTop);i.isRtl?r.left=i.negativeScrollAdjustment+t.scrollLeft+i.containerWidth-i.contentWidth:r.left=t.scrollLeft,i.isScrollbarXUsingBottom?r.bottom=i.scrollbarXBottom-l:r.top=i.scrollbarXTop+l,e(i.scrollbarXRail,r);var n={top:l,height:i.railYHeight};i.isScrollbarYUsingRight?i.isRtl?n.right=i.contentWidth-(i.negativeScrollAdjustment+t.scrollLeft)-i.scrollbarYRight-i.scrollbarYOuterWidth:n.right=i.scrollbarYRight-t.scrollLeft:i.isRtl?n.left=i.negativeScrollAdjustment+t.scrollLeft+2*i.containerWidth-i.contentWidth-i.scrollbarYLeft-i.scrollbarYOuterWidth:n.left=i.scrollbarYLeft+t.scrollLeft,e(i.scrollbarYRail,n),e(i.scrollbarX,{left:i.scrollbarXLeft,width:i.scrollbarXWidth-i.railBorderXWidth}),e(i.scrollbarY,{top:i.scrollbarYTop,height:i.scrollbarYHeight-i.railBorderYWidth})}function g(t,e){function i(e){b[d]=g+Y*(e[a]-v),o(t,f),R(t),e.stopPropagation(),e.preventDefault()}function r(){s(t,f),t[p].classList.remove(m.state.clicking),t.event.unbind(t.ownerDocument,"mousemove",i)}var l=e[0],n=e[1],a=e[2],c=e[3],h=e[4],u=e[5],d=e[6],f=e[7],p=e[8],b=t.element,g=null,v=null,Y=null;t.event.bind(t[h],"mousedown",function(e){g=b[d],v=e[a],Y=(t[n]-t[l])/(t[c]-t[u]),t.event.bind(t.ownerDocument,"mousemove",i),t.event.once(t.ownerDocument,"mouseup",r),t[p].classList.add(m.state.clicking),e.stopPropagation(),e.preventDefault()})}var v="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector),m={main:"ps",element:{thumb:function(t){return"ps__thumb-"+t},rail:function(t){return"ps__rail-"+t},consuming:"ps__child--consume"},state:{focus:"ps--focus",clicking:"ps--clicking",active:function(t){return"ps--active-"+t},scrolling:function(t){return"ps--scrolling-"+t}}},Y={x:null,y:null},X=function(t){this.element=t,this.handlers={}},w={isEmpty:{configurable:!0}};X.prototype.bind=function(t,e){void 0===this.handlers[t]&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},X.prototype.unbind=function(t,e){var i=this;this.handlers[t]=this.handlers[t].filter(function(r){return!(!e||r===e)||(i.element.removeEventListener(t,r,!1),!1)})},X.prototype.unbindAll=function(){var t=this;for(var e in t.handlers)t.unbind(e)},w.isEmpty.get=function(){var t=this;return Object.keys(this.handlers).every(function(e){return 0===t.handlers[e].length})},Object.defineProperties(X.prototype,w);var y=function(){this.eventElements=[]};y.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return e||(e=new X(t),this.eventElements.push(e)),e},y.prototype.bind=function(t,e,i){this.eventElement(t).bind(e,i)},y.prototype.unbind=function(t,e,i){var r=this.eventElement(t);r.unbind(e,i),r.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(r),1)},y.prototype.unbindAll=function(){this.eventElements.forEach(function(t){return t.unbindAll()}),this.eventElements=[]},y.prototype.once=function(t,e,i){var r=this.eventElement(t),l=function(t){r.unbind(e,l),i(t)};r.bind(e,l)};var W=function(t,e,i,r,l){void 0===r&&(r=!0),void 0===l&&(l=!1);var n;if("top"===e)n=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==e)throw new Error("A proper axis should be provided");n=["contentWidth","containerWidth","scrollLeft","x","left","right"]}h(t,i,n,r,l)},L={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)},R=function(t){var e=t.element,i=Math.floor(e.scrollTop);t.containerWidth=e.clientWidth,t.containerHeight=e.clientHeight,t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||(n(e,m.element.rail("x")).forEach(function(t){return l(t)}),e.appendChild(t.scrollbarXRail)),e.contains(t.scrollbarYRail)||(n(e,m.element.rail("y")).forEach(function(t){return l(t)}),e.appendChild(t.scrollbarYRail)),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),b(e,t),t.scrollbarXActive?e.classList.add(m.state.active("x")):(e.classList.remove(m.state.active("x")),t.scrollbarXWidth=0,t.scrollbarXLeft=0,e.scrollLeft=0),t.scrollbarYActive?e.classList.add(m.state.active("y")):(e.classList.remove(m.state.active("y")),t.scrollbarYHeight=0,t.scrollbarYTop=0,e.scrollTop=0)},T={"click-rail":function(t){t.event.bind(t.scrollbarY,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarYRail,"mousedown",function(e){var i=e.pageY-window.pageYOffset-t.scrollbarYRail.getBoundingClientRect().top>t.scrollbarYTop?1:-1;t.element.scrollTop+=i*t.containerHeight,R(t),e.stopPropagation()}),t.event.bind(t.scrollbarX,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarXRail,"mousedown",function(e){var i=e.pageX-window.pageXOffset-t.scrollbarXRail.getBoundingClientRect().left>t.scrollbarXLeft?1:-1;t.element.scrollLeft+=i*t.containerWidth,R(t),e.stopPropagation()})},"drag-thumb":function(t){g(t,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),g(t,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function(t){function e(e,r){var l=Math.floor(i.scrollTop);if(0===e){if(!t.scrollbarYActive)return!1;if(0===l&&r>0||l>=t.contentHeight-t.containerHeight&&r<0)return!t.settings.wheelPropagation}var n=i.scrollLeft;if(0===r){if(!t.scrollbarXActive)return!1;if(0===n&&e<0||n>=t.contentWidth-t.containerWidth&&e>0)return!t.settings.wheelPropagation}return!0}var i=t.element,l=function(){return r(i,":hover")},n=function(){return r(t.scrollbarX,":focus")||r(t.scrollbarY,":focus")};t.event.bind(t.ownerDocument,"keydown",function(r){if(!(r.isDefaultPrevented&&r.isDefaultPrevented()||r.defaultPrevented)&&(l()||n())){var o=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(o){if("IFRAME"===o.tagName)o=o.contentDocument.activeElement;else for(;o.shadowRoot;)o=o.shadowRoot.activeElement;if(d(o))return}var s=0,a=0;switch(r.which){case 37:s=r.metaKey?-t.contentWidth:r.altKey?-t.containerWidth:-30;break;case 38:a=r.metaKey?t.contentHeight:r.altKey?t.containerHeight:30;break;case 39:s=r.metaKey?t.contentWidth:r.altKey?t.containerWidth:30;break;case 40:a=r.metaKey?-t.contentHeight:r.altKey?-t.containerHeight:-30;break;case 32:a=r.shiftKey?t.containerHeight:-t.containerHeight;break;case 33:a=t.containerHeight;break;case 34:a=-t.containerHeight;break;case 36:a=t.contentHeight;break;case 35:a=-t.contentHeight;break;default:return}t.settings.suppressScrollX&&0!==s||t.settings.suppressScrollY&&0!==a||(i.scrollTop-=a,i.scrollLeft+=s,R(t),e(s,a)&&r.preventDefault())}})},wheel:function(e){function i(t,i){var r=Math.floor(o.scrollTop),l=0===o.scrollTop,n=r+o.offsetHeight===o.scrollHeight,s=0===o.scrollLeft,a=o.scrollLeft+o.offsetWidth===o.scrollWidth;return!(Math.abs(i)>Math.abs(t)?l||n:s||a)||!e.settings.wheelPropagation}function r(t){var e=t.deltaX,i=-1*t.deltaY;return void 0!==e&&void 0!==i||(e=-1*t.wheelDeltaX/6,i=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,i*=10),e!==e&&i!==i&&(e=0,i=t.wheelDelta),t.shiftKey?[-i,-e]:[e,i]}function l(e,i,r){if(!L.isWebKit&&o.querySelector("select:focus"))return!0;if(!o.contains(e))return!1;for(var l=e;l&&l!==o;){if(l.classList.contains(m.element.consuming))return!0;var n=t(l);if([n.overflow,n.overflowX,n.overflowY].join("").match(/(scroll|auto)/)){var s=l.scrollHeight-l.clientHeight;if(s>0&&!(0===l.scrollTop&&r>0||l.scrollTop===s&&r<0))return!0;var a=l.scrollWidth-l.clientWidth;if(a>0&&!(0===l.scrollLeft&&i<0||l.scrollLeft===a&&i>0))return!0}l=l.parentNode}return!1}function n(t){var n=r(t),s=n[0],a=n[1];if(!l(t.target,s,a)){var c=!1;e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(a?o.scrollTop-=a*e.settings.wheelSpeed:o.scrollTop+=s*e.settings.wheelSpeed,c=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(s?o.scrollLeft+=s*e.settings.wheelSpeed:o.scrollLeft-=a*e.settings.wheelSpeed,c=!0):(o.scrollTop-=a*e.settings.wheelSpeed,o.scrollLeft+=s*e.settings.wheelSpeed),R(e),(c=c||i(s,a))&&!t.ctrlKey&&(t.stopPropagation(),t.preventDefault())}}var o=e.element;void 0!==window.onwheel?e.event.bind(o,"wheel",n):void 0!==window.onmousewheel&&e.event.bind(o,"mousewheel",n)},touch:function(e){function i(t,i){var r=Math.floor(h.scrollTop),l=h.scrollLeft,n=Math.abs(t),o=Math.abs(i);if(o>n){if(i<0&&r===e.contentHeight-e.containerHeight||i>0&&0===r)return 0===window.scrollY&&i>0&&L.isChrome}else if(n>o&&(t<0&&l===e.contentWidth-e.containerWidth||t>0&&0===l))return!0;return!0}function r(t,i){h.scrollTop-=i,h.scrollLeft-=t,R(e)}function l(t){return t.targetTouches?t.targetTouches[0]:t}function n(t){return!(t.pointerType&&"pen"===t.pointerType&&0===t.buttons||(!t.targetTouches||1!==t.targetTouches.length)&&(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE))}function o(t){if(n(t)){var e=l(t);u.pageX=e.pageX,u.pageY=e.pageY,d=(new Date).getTime(),null!==p&&clearInterval(p)}}function s(e,i,r){if(!h.contains(e))return!1;for(var l=e;l&&l!==h;){if(l.classList.contains(m.element.consuming))return!0;var n=t(l);if([n.overflow,n.overflowX,n.overflowY].join("").match(/(scroll|auto)/)){var o=l.scrollHeight-l.clientHeight;if(o>0&&!(0===l.scrollTop&&r>0||l.scrollTop===o&&r<0))return!0;var s=l.scrollLeft-l.clientWidth;if(s>0&&!(0===l.scrollLeft&&i<0||l.scrollLeft===s&&i>0))return!0}l=l.parentNode}return!1}function a(t){if(n(t)){var e=l(t),o={pageX:e.pageX,pageY:e.pageY},a=o.pageX-u.pageX,c=o.pageY-u.pageY;if(s(t.target,a,c))return;r(a,c),u=o;var h=(new Date).getTime(),p=h-d;p>0&&(f.x=a/p,f.y=c/p,d=h),i(a,c)&&t.preventDefault()}}function c(){e.settings.swipeEasing&&(clearInterval(p),p=setInterval(function(){e.isInitialized?clearInterval(p):f.x||f.y?Math.abs(f.x)<.01&&Math.abs(f.y)<.01?clearInterval(p):(r(30*f.x,30*f.y),f.x*=.8,f.y*=.8):clearInterval(p)},10))}if(L.supportsTouch||L.supportsIePointer){var h=e.element,u={},d=0,f={},p=null;L.supportsTouch?(e.event.bind(h,"touchstart",o),e.event.bind(h,"touchmove",a),e.event.bind(h,"touchend",c)):L.supportsIePointer&&(window.PointerEvent?(e.event.bind(h,"pointerdown",o),e.event.bind(h,"pointermove",a),e.event.bind(h,"pointerup",c)):window.MSPointerEvent&&(e.event.bind(h,"MSPointerDown",o),e.event.bind(h,"MSPointerMove",a),e.event.bind(h,"MSPointerUp",c)))}}},H=function(r,l){var n=this;if(void 0===l&&(l={}),"string"==typeof r&&(r=document.querySelector(r)),!r||!r.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");this.element=r,r.classList.add(m.main),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1};for(var o in l)n.settings[o]=l[o];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var s=function(){return r.classList.add(m.state.focus)},a=function(){return r.classList.remove(m.state.focus)};this.isRtl="rtl"===t(r).direction,this.isNegativeScroll=function(){var t=r.scrollLeft,e=null;return r.scrollLeft=-1,e=r.scrollLeft<0,r.scrollLeft=t,e}(),this.negativeScrollAdjustment=this.isNegativeScroll?r.scrollWidth-r.clientWidth:0,this.event=new y,this.ownerDocument=r.ownerDocument||document,this.scrollbarXRail=i(m.element.rail("x")),r.appendChild(this.scrollbarXRail),this.scrollbarX=i(m.element.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",s),this.event.bind(this.scrollbarX,"blur",a),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var c=t(this.scrollbarXRail);this.scrollbarXBottom=parseInt(c.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=u(c.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=u(c.borderLeftWidth)+u(c.borderRightWidth),e(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=u(c.marginLeft)+u(c.marginRight),e(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=i(m.element.rail("y")),r.appendChild(this.scrollbarYRail),this.scrollbarY=i(m.element.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",s),this.event.bind(this.scrollbarY,"blur",a),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var h=t(this.scrollbarYRail);this.scrollbarYRight=parseInt(h.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=u(h.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?f(this.scrollbarY):null,this.railBorderYWidth=u(h.borderTopWidth)+u(h.borderBottomWidth),e(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=u(h.marginTop)+u(h.marginBottom),e(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:r.scrollLeft<=0?"start":r.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:r.scrollTop<=0?"start":r.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach(function(t){return T[t](n)}),this.lastScrollTop=Math.floor(r.scrollTop),this.lastScrollLeft=r.scrollLeft,this.event.bind(this.element,"scroll",function(t){return n.onScroll(t)}),R(this)};return H.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,e(this.scrollbarXRail,{display:"block"}),e(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=u(t(this.scrollbarXRail).marginLeft)+u(t(this.scrollbarXRail).marginRight),this.railYMarginHeight=u(t(this.scrollbarYRail).marginTop)+u(t(this.scrollbarYRail).marginBottom),e(this.scrollbarXRail,{display:"none"}),e(this.scrollbarYRail,{display:"none"}),R(this),W(this,"top",0,!1,!0),W(this,"left",0,!1,!0),e(this.scrollbarXRail,{display:""}),e(this.scrollbarYRail,{display:""}))},H.prototype.onScroll=function(t){this.isAlive&&(R(this),W(this,"top",this.element.scrollTop-this.lastScrollTop),W(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},H.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),l(this.scrollbarX),l(this.scrollbarY),l(this.scrollbarXRail),l(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},H.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(t){return!t.match(/^ps([-_].+|)$/)}).join(" ")},H}); ================================================ FILE: vendors/moment/moment.js ================================================ //! moment.js ;(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.moment = factory() }(this, (function () { 'use strict'; var hookCallback; function hooks () { return hookCallback.apply(null, arguments); } // This is done to register the method called with moment() // without creating circular dependencies. function setHookCallback (callback) { hookCallback = callback; } function isArray(input) { return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]'; } function isObject(input) { // IE8 will treat undefined and null as object if it wasn't for // input != null return input != null && Object.prototype.toString.call(input) === '[object Object]'; } function isObjectEmpty(obj) { if (Object.getOwnPropertyNames) { return (Object.getOwnPropertyNames(obj).length === 0); } else { var k; for (k in obj) { if (obj.hasOwnProperty(k)) { return false; } } return true; } } function isUndefined(input) { return input === void 0; } function isNumber(input) { return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]'; } function isDate(input) { return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]'; } function map(arr, fn) { var res = [], i; for (i = 0; i < arr.length; ++i) { res.push(fn(arr[i], i)); } return res; } function hasOwnProp(a, b) { return Object.prototype.hasOwnProperty.call(a, b); } 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 createUTC (input, format, locale, strict) { return createLocalOrUTC(input, format, locale, strict, true).utc(); } function defaultParsingFlags() { // We need to deep clone this object. return { empty : false, unusedTokens : [], unusedInput : [], overflow : -2, charsLeftOver : 0, nullInput : false, invalidMonth : null, invalidFormat : false, userInvalidated : false, iso : false, parsedDateParts : [], meridiem : null, rfc2822 : false, weekdayMismatch : false }; } function getParsingFlags(m) { if (m._pf == null) { m._pf = defaultParsingFlags(); } return m._pf; } var some; if (Array.prototype.some) { some = Array.prototype.some; } else { some = function (fun) { var t = Object(this); var len = t.length >>> 0; for (var i = 0; i < len; i++) { if (i in t && fun.call(this, t[i], i, t)) { return true; } } return false; }; } function isValid(m) { if (m._isValid == null) { var flags = getParsingFlags(m); var parsedParts = some.call(flags.parsedDateParts, function (i) { return i != null; }); var isNowValid = !isNaN(m._d.getTime()) && flags.overflow < 0 && !flags.empty && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || (flags.meridiem && parsedParts)); if (m._strict) { isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === undefined; } if (Object.isFrozen == null || !Object.isFrozen(m)) { m._isValid = isNowValid; } else { return isNowValid; } } return m._isValid; } function createInvalid (flags) { var m = createUTC(NaN); if (flags != null) { extend(getParsingFlags(m), flags); } else { getParsingFlags(m).userInvalidated = true; } return m; } // Plugins that add properties should also add the key here (null value), // so we can properly clone ourselves. var momentProperties = hooks.momentProperties = []; function copyConfig(to, from) { var i, prop, val; if (!isUndefined(from._isAMomentObject)) { to._isAMomentObject = from._isAMomentObject; } if (!isUndefined(from._i)) { to._i = from._i; } if (!isUndefined(from._f)) { to._f = from._f; } if (!isUndefined(from._l)) { to._l = from._l; } if (!isUndefined(from._strict)) { to._strict = from._strict; } if (!isUndefined(from._tzm)) { to._tzm = from._tzm; } if (!isUndefined(from._isUTC)) { to._isUTC = from._isUTC; } if (!isUndefined(from._offset)) { to._offset = from._offset; } if (!isUndefined(from._pf)) { to._pf = getParsingFlags(from); } if (!isUndefined(from._locale)) { to._locale = from._locale; } if (momentProperties.length > 0) { for (i = 0; i < momentProperties.length; i++) { prop = momentProperties[i]; val = from[prop]; if (!isUndefined(val)) { to[prop] = val; } } } return to; } var updateInProgress = false; // Moment prototype object function Moment(config) { copyConfig(this, config); this._d = new Date(config._d != null ? config._d.getTime() : NaN); if (!this.isValid()) { this._d = new Date(NaN); } // Prevent infinite loop in case updateOffset creates new moment // objects. if (updateInProgress === false) { updateInProgress = true; hooks.updateOffset(this); updateInProgress = false; } } function isMoment (obj) { return obj instanceof Moment || (obj != null && obj._isAMomentObject != null); } function absFloor (number) { if (number < 0) { // -0 -> 0 return Math.ceil(number) || 0; } else { return Math.floor(number); } } function toInt(argumentForCoercion) { var coercedNumber = +argumentForCoercion, value = 0; if (coercedNumber !== 0 && isFinite(coercedNumber)) { value = absFloor(coercedNumber); } return value; } // 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 warn(msg) { if (hooks.suppressDeprecationWarnings === false && (typeof console !== 'undefined') && console.warn) { console.warn('Deprecation warning: ' + msg); } } function deprecate(msg, fn) { var firstTime = true; return extend(function () { if (hooks.deprecationHandler != null) { hooks.deprecationHandler(null, msg); } if (firstTime) { var args = []; var arg; for (var i = 0; i < arguments.length; i++) { arg = ''; if (typeof arguments[i] === 'object') { arg += '\n[' + i + '] '; for (var key in arguments[0]) { arg += key + ': ' + arguments[0][key] + ', '; } arg = arg.slice(0, -2); // Remove trailing comma and space } else { arg = arguments[i]; } args.push(arg); } warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack); firstTime = false; } return fn.apply(this, arguments); }, fn); } var deprecations = {}; function deprecateSimple(name, msg) { if (hooks.deprecationHandler != null) { hooks.deprecationHandler(name, msg); } if (!deprecations[name]) { warn(msg); deprecations[name] = true; } } hooks.suppressDeprecationWarnings = false; hooks.deprecationHandler = null; function isFunction(input) { return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; } function set (config) { var prop, i; for (i in config) { prop = config[i]; if (isFunction(prop)) { this[i] = prop; } else { this['_' + i] = prop; } } this._config = config; // Lenient ordinal parsing accepts just a number in addition to // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. // TODO: Remove "ordinalParse" fallback in next major release. this._dayOfMonthOrdinalParseLenient = new RegExp( (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + (/\d{1,2}/).source); } function mergeConfigs(parentConfig, childConfig) { var res = extend({}, parentConfig), prop; for (prop in childConfig) { if (hasOwnProp(childConfig, prop)) { if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { res[prop] = {}; extend(res[prop], parentConfig[prop]); extend(res[prop], childConfig[prop]); } else if (childConfig[prop] != null) { res[prop] = childConfig[prop]; } else { delete res[prop]; } } } for (prop in parentConfig) { if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject(parentConfig[prop])) { // make sure changes to properties don't modify parent config res[prop] = extend({}, res[prop]); } } return res; } function Locale(config) { if (config != null) { this.set(config); } } var keys; if (Object.keys) { keys = Object.keys; } else { keys = function (obj) { var i, res = []; for (i in obj) { if (hasOwnProp(obj, i)) { res.push(i); } } return res; }; } var defaultCalendar = { sameDay : '[Today at] LT', nextDay : '[Tomorrow at] LT', nextWeek : 'dddd [at] LT', lastDay : '[Yesterday at] LT', lastWeek : '[Last] dddd [at] LT', sameElse : 'L' }; function calendar (key, mom, now) { var output = this._calendar[key] || this._calendar['sameElse']; return isFunction(output) ? output.call(mom, now) : output; } var defaultLongDateFormat = { LTS : 'h:mm:ss A', LT : 'h:mm A', L : 'MM/DD/YYYY', LL : 'MMMM D, YYYY', LLL : 'MMMM D, YYYY h:mm A', LLLL : 'dddd, MMMM D, YYYY h:mm A' }; function longDateFormat (key) { var format = this._longDateFormat[key], formatUpper = this._longDateFormat[key.toUpperCase()]; if (format || !formatUpper) { return format; } this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) { return val.slice(1); }); return this._longDateFormat[key]; } var defaultInvalidDate = 'Invalid date'; function invalidDate () { return this._invalidDate; } var defaultOrdinal = '%d'; var defaultDayOfMonthOrdinalParse = /\d{1,2}/; function ordinal (number) { return this._ordinal.replace('%d', number); } var defaultRelativeTime = { future : 'in %s', past : '%s ago', s : 'a few seconds', ss : '%d 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' }; function relativeTime (number, withoutSuffix, string, isFuture) { var output = this._relativeTime[string]; return (isFunction(output)) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number); } function pastFuture (diff, output) { var format = this._relativeTime[diff > 0 ? 'future' : 'past']; return isFunction(format) ? format(output) : format.replace(/%s/i, output); } var aliases = {}; function addUnitAlias (unit, shorthand) { var lowerCase = unit.toLowerCase(); aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; } function normalizeUnits(units) { return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined; } 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; } var priorities = {}; function addUnitPriority(unit, priority) { priorities[unit] = priority; } function getPrioritizedUnits(unitsObj) { var units = []; for (var u in unitsObj) { units.push({unit: u, priority: priorities[u]}); } units.sort(function (a, b) { return a.priority - b.priority; }); return units; } function zeroFill(number, targetLength, forceSign) { var absNumber = '' + Math.abs(number), zerosToFill = targetLength - absNumber.length, sign = number >= 0; return (sign ? (forceSign ? '+' : '') : '-') + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; } var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; var formatFunctions = {}; var formatTokenFunctions = {}; // token: 'M' // padded: ['MM', 2] // ordinal: 'Mo' // callback: function () { this.month() + 1 } function addFormatToken (token, padded, ordinal, callback) { var func = callback; if (typeof callback === 'string') { func = function () { return this[callback](); }; } if (token) { formatTokenFunctions[token] = func; } if (padded) { formatTokenFunctions[padded[0]] = function () { return zeroFill(func.apply(this, arguments), padded[1], padded[2]); }; } if (ordinal) { formatTokenFunctions[ordinal] = function () { return this.localeData().ordinal(func.apply(this, arguments), token); }; } } 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 = '', i; for (i = 0; i < length; i++) { output += isFunction(array[i]) ? 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()); 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; } var match1 = /\d/; // 0 - 9 var match2 = /\d\d/; // 00 - 99 var match3 = /\d{3}/; // 000 - 999 var match4 = /\d{4}/; // 0000 - 9999 var match6 = /[+-]?\d{6}/; // -999999 - 999999 var match1to2 = /\d\d?/; // 0 - 99 var match3to4 = /\d\d\d\d?/; // 999 - 9999 var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999 var match1to3 = /\d{1,3}/; // 0 - 999 var match1to4 = /\d{1,4}/; // 0 - 9999 var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999 var matchUnsigned = /\d+/; // 0 - inf var matchSigned = /[+-]?\d+/; // -inf - inf var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123 // any word (or two) characters or numbers including two/three word month in arabic. // includes scottish gaelic two word and hyphenated months var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; var regexes = {}; function addRegexToken (token, regex, strictRegex) { regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) { return (isStrict && strictRegex) ? strictRegex : regex; }; } function getParseRegexForToken (token, config) { if (!hasOwnProp(regexes, token)) { return new RegExp(unescapeFormat(token)); } return regexes[token](config._strict, config._locale); } // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript function unescapeFormat(s) { return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { return p1 || p2 || p3 || p4; })); } function regexEscape(s) { return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); } var tokens = {}; function addParseToken (token, callback) { var i, func = callback; if (typeof token === 'string') { token = [token]; } if (isNumber(callback)) { func = function (input, array) { array[callback] = toInt(input); }; } for (i = 0; i < token.length; i++) { tokens[token[i]] = func; } } function addWeekParseToken (token, callback) { addParseToken(token, function (input, array, config, token) { config._w = config._w || {}; callback(input, config._w, config, token); }); } function addTimeToArrayFromToken(token, input, config) { if (input != null && hasOwnProp(tokens, token)) { tokens[token](input, config._a, config, token); } } var YEAR = 0; var MONTH = 1; var DATE = 2; var HOUR = 3; var MINUTE = 4; var SECOND = 5; var MILLISECOND = 6; var WEEK = 7; var WEEKDAY = 8; // FORMATTING addFormatToken('Y', 0, 0, function () { var y = this.year(); return y <= 9999 ? '' + y : '+' + y; }); addFormatToken(0, ['YY', 2], 0, function () { return this.year() % 100; }); addFormatToken(0, ['YYYY', 4], 0, 'year'); addFormatToken(0, ['YYYYY', 5], 0, 'year'); addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); // ALIASES addUnitAlias('year', 'y'); // PRIORITIES addUnitPriority('year', 1); // PARSING addRegexToken('Y', matchSigned); addRegexToken('YY', match1to2, match2); addRegexToken('YYYY', match1to4, match4); addRegexToken('YYYYY', match1to6, match6); addRegexToken('YYYYYY', match1to6, match6); addParseToken(['YYYYY', 'YYYYYY'], YEAR); addParseToken('YYYY', function (input, array) { array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); }); addParseToken('YY', function (input, array) { array[YEAR] = hooks.parseTwoDigitYear(input); }); addParseToken('Y', function (input, array) { array[YEAR] = parseInt(input, 10); }); // HELPERS function daysInYear(year) { return isLeapYear(year) ? 366 : 365; } function isLeapYear(year) { return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; } // HOOKS hooks.parseTwoDigitYear = function (input) { return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); }; // MOMENTS var getSetYear = makeGetSet('FullYear', true); function getIsLeapYear () { return isLeapYear(this.year()); } function makeGetSet (unit, keepTime) { return function (value) { if (value != null) { set$1(this, unit, value); hooks.updateOffset(this, keepTime); return this; } else { return get(this, unit); } }; } function get (mom, unit) { return mom.isValid() ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN; } function set$1 (mom, unit, value) { if (mom.isValid() && !isNaN(value)) { if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) { mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month())); } else { mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); } } } // MOMENTS function stringGet (units) { units = normalizeUnits(units); if (isFunction(this[units])) { return this[units](); } return this; } function stringSet (units, value) { if (typeof units === 'object') { units = normalizeObjectUnits(units); var prioritized = getPrioritizedUnits(units); for (var i = 0; i < prioritized.length; i++) { this[prioritized[i].unit](units[prioritized[i].unit]); } } else { units = normalizeUnits(units); if (isFunction(this[units])) { return this[units](value); } } return this; } function mod(n, x) { return ((n % x) + x) % x; } var indexOf; if (Array.prototype.indexOf) { indexOf = Array.prototype.indexOf; } else { indexOf = function (o) { // I know var i; for (i = 0; i < this.length; ++i) { if (this[i] === o) { return i; } } return -1; }; } function daysInMonth(year, month) { if (isNaN(year) || isNaN(month)) { return NaN; } var modMonth = mod(month, 12); year += (month - modMonth) / 12; return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2); } // FORMATTING addFormatToken('M', ['MM', 2], 'Mo', function () { return this.month() + 1; }); addFormatToken('MMM', 0, 0, function (format) { return this.localeData().monthsShort(this, format); }); addFormatToken('MMMM', 0, 0, function (format) { return this.localeData().months(this, format); }); // ALIASES addUnitAlias('month', 'M'); // PRIORITY addUnitPriority('month', 8); // PARSING addRegexToken('M', match1to2); addRegexToken('MM', match1to2, match2); addRegexToken('MMM', function (isStrict, locale) { return locale.monthsShortRegex(isStrict); }); addRegexToken('MMMM', function (isStrict, locale) { return locale.monthsRegex(isStrict); }); addParseToken(['M', 'MM'], function (input, array) { array[MONTH] = toInt(input) - 1; }); addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { var month = config._locale.monthsParse(input, token, config._strict); // if we didn't find a month name, mark the date as invalid. if (month != null) { array[MONTH] = month; } else { getParsingFlags(config).invalidMonth = input; } }); // LOCALES var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/; var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'); function localeMonths (m, format) { if (!m) { return isArray(this._months) ? this._months : this._months['standalone']; } return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()]; } var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); function localeMonthsShort (m, format) { if (!m) { return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort['standalone']; } return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; } function handleStrictParse(monthName, format, strict) { var i, ii, mom, llc = monthName.toLocaleLowerCase(); if (!this._monthsParse) { // this is not used this._monthsParse = []; this._longMonthsParse = []; this._shortMonthsParse = []; for (i = 0; i < 12; ++i) { mom = createUTC([2000, i]); this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase(); this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); } } if (strict) { if (format === 'MMM') { ii = indexOf.call(this._shortMonthsParse, llc); return ii !== -1 ? ii : null; } else { ii = indexOf.call(this._longMonthsParse, llc); return ii !== -1 ? ii : null; } } else { if (format === 'MMM') { ii = indexOf.call(this._shortMonthsParse, llc); if (ii !== -1) { return ii; } ii = indexOf.call(this._longMonthsParse, llc); return ii !== -1 ? ii : null; } else { ii = indexOf.call(this._longMonthsParse, llc); if (ii !== -1) { return ii; } ii = indexOf.call(this._shortMonthsParse, llc); return ii !== -1 ? ii : null; } } } function localeMonthsParse (monthName, format, strict) { var i, mom, regex; if (this._monthsParseExact) { return handleStrictParse.call(this, monthName, format, strict); } if (!this._monthsParse) { this._monthsParse = []; this._longMonthsParse = []; this._shortMonthsParse = []; } // TODO: add sorting // Sorting makes sure if one month (or abbr) is a prefix of another // see sorting in computeMonthsParse for (i = 0; i < 12; i++) { // make the regex if we don't have it already mom = createUTC([2000, i]); if (strict && !this._longMonthsParse[i]) { this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); } if (!strict && !this._monthsParse[i]) { regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); } // test the regex if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { return i; } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { return i; } else if (!strict && this._monthsParse[i].test(monthName)) { return i; } } } // MOMENTS function setMonth (mom, value) { var dayOfMonth; if (!mom.isValid()) { // No op return mom; } if (typeof value === 'string') { if (/^\d+$/.test(value)) { value = toInt(value); } else { value = mom.localeData().monthsParse(value); // TODO: Another silent failure? if (!isNumber(value)) { return mom; } } } dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); return mom; } function getSetMonth (value) { if (value != null) { setMonth(this, value); hooks.updateOffset(this, true); return this; } else { return get(this, 'Month'); } } function getDaysInMonth () { return daysInMonth(this.year(), this.month()); } var defaultMonthsShortRegex = matchWord; function monthsShortRegex (isStrict) { if (this._monthsParseExact) { if (!hasOwnProp(this, '_monthsRegex')) { computeMonthsParse.call(this); } if (isStrict) { return this._monthsShortStrictRegex; } else { return this._monthsShortRegex; } } else { if (!hasOwnProp(this, '_monthsShortRegex')) { this._monthsShortRegex = defaultMonthsShortRegex; } return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex; } } var defaultMonthsRegex = matchWord; function monthsRegex (isStrict) { if (this._monthsParseExact) { if (!hasOwnProp(this, '_monthsRegex')) { computeMonthsParse.call(this); } if (isStrict) { return this._monthsStrictRegex; } else { return this._monthsRegex; } } else { if (!hasOwnProp(this, '_monthsRegex')) { this._monthsRegex = defaultMonthsRegex; } return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex; } } function computeMonthsParse () { function cmpLenRev(a, b) { return b.length - a.length; } var shortPieces = [], longPieces = [], mixedPieces = [], i, mom; for (i = 0; i < 12; i++) { // make the regex if we don't have it already mom = createUTC([2000, i]); shortPieces.push(this.monthsShort(mom, '')); longPieces.push(this.months(mom, '')); mixedPieces.push(this.months(mom, '')); mixedPieces.push(this.monthsShort(mom, '')); } // Sorting makes sure if one month (or abbr) is a prefix of another it // will match the longer piece. shortPieces.sort(cmpLenRev); longPieces.sort(cmpLenRev); mixedPieces.sort(cmpLenRev); for (i = 0; i < 12; i++) { shortPieces[i] = regexEscape(shortPieces[i]); longPieces[i] = regexEscape(longPieces[i]); } for (i = 0; i < 24; i++) { mixedPieces[i] = regexEscape(mixedPieces[i]); } this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); this._monthsShortRegex = this._monthsRegex; this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); } function createDate (y, m, d, h, M, s, ms) { // can't just apply() to create a date: // https://stackoverflow.com/q/181348 var date; // the date constructor remaps years 0-99 to 1900-1999 if (y < 100 && y >= 0) { // preserve leap years using a full 400 year cycle, then reset date = new Date(y + 400, m, d, h, M, s, ms); if (isFinite(date.getFullYear())) { date.setFullYear(y); } } else { date = new Date(y, m, d, h, M, s, ms); } return date; } function createUTCDate (y) { var date; // the Date.UTC function remaps years 0-99 to 1900-1999 if (y < 100 && y >= 0) { var args = Array.prototype.slice.call(arguments); // preserve leap years using a full 400 year cycle, then reset args[0] = y + 400; date = new Date(Date.UTC.apply(null, args)); if (isFinite(date.getUTCFullYear())) { date.setUTCFullYear(y); } } else { date = new Date(Date.UTC.apply(null, arguments)); } return date; } // start-of-first-week - start-of-year function firstWeekOffset(year, dow, doy) { var // first-week day -- which january is always in the first week (4 for iso, 1 for other) fwd = 7 + dow - doy, // first-week day local weekday -- which local weekday is fwd fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; return -fwdlw + fwd - 1; } // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday function dayOfYearFromWeeks(year, week, weekday, dow, doy) { var localWeekday = (7 + weekday - dow) % 7, weekOffset = firstWeekOffset(year, dow, doy), dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, resYear, resDayOfYear; if (dayOfYear <= 0) { resYear = year - 1; resDayOfYear = daysInYear(resYear) + dayOfYear; } else if (dayOfYear > daysInYear(year)) { resYear = year + 1; resDayOfYear = dayOfYear - daysInYear(year); } else { resYear = year; resDayOfYear = dayOfYear; } return { year: resYear, dayOfYear: resDayOfYear }; } function weekOfYear(mom, dow, doy) { var weekOffset = firstWeekOffset(mom.year(), dow, doy), week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, resWeek, resYear; if (week < 1) { resYear = mom.year() - 1; resWeek = week + weeksInYear(resYear, dow, doy); } else if (week > weeksInYear(mom.year(), dow, doy)) { resWeek = week - weeksInYear(mom.year(), dow, doy); resYear = mom.year() + 1; } else { resYear = mom.year(); resWeek = week; } return { week: resWeek, year: resYear }; } function weeksInYear(year, dow, doy) { var weekOffset = firstWeekOffset(year, dow, doy), weekOffsetNext = firstWeekOffset(year + 1, dow, doy); return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; } // FORMATTING addFormatToken('w', ['ww', 2], 'wo', 'week'); addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); // ALIASES addUnitAlias('week', 'w'); addUnitAlias('isoWeek', 'W'); // PRIORITIES addUnitPriority('week', 5); addUnitPriority('isoWeek', 5); // PARSING addRegexToken('w', match1to2); addRegexToken('ww', match1to2, match2); addRegexToken('W', match1to2); addRegexToken('WW', match1to2, match2); addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) { week[token.substr(0, 1)] = toInt(input); }); // HELPERS // LOCALES function localeWeek (mom) { return weekOfYear(mom, this._week.dow, this._week.doy).week; } var defaultLocaleWeek = { dow : 0, // Sunday is the first day of the week. doy : 6 // The week that contains Jan 6th is the first week of the year. }; function localeFirstDayOfWeek () { return this._week.dow; } function localeFirstDayOfYear () { return this._week.doy; } // MOMENTS function getSetWeek (input) { var week = this.localeData().week(this); return input == null ? week : this.add((input - week) * 7, 'd'); } function getSetISOWeek (input) { var week = weekOfYear(this, 1, 4).week; return input == null ? week : this.add((input - week) * 7, 'd'); } // FORMATTING addFormatToken('d', 0, 'do', 'day'); addFormatToken('dd', 0, 0, function (format) { return this.localeData().weekdaysMin(this, format); }); addFormatToken('ddd', 0, 0, function (format) { return this.localeData().weekdaysShort(this, format); }); addFormatToken('dddd', 0, 0, function (format) { return this.localeData().weekdays(this, format); }); addFormatToken('e', 0, 0, 'weekday'); addFormatToken('E', 0, 0, 'isoWeekday'); // ALIASES addUnitAlias('day', 'd'); addUnitAlias('weekday', 'e'); addUnitAlias('isoWeekday', 'E'); // PRIORITY addUnitPriority('day', 11); addUnitPriority('weekday', 11); addUnitPriority('isoWeekday', 11); // PARSING addRegexToken('d', match1to2); addRegexToken('e', match1to2); addRegexToken('E', match1to2); addRegexToken('dd', function (isStrict, locale) { return locale.weekdaysMinRegex(isStrict); }); addRegexToken('ddd', function (isStrict, locale) { return locale.weekdaysShortRegex(isStrict); }); addRegexToken('dddd', function (isStrict, locale) { return locale.weekdaysRegex(isStrict); }); addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { var weekday = config._locale.weekdaysParse(input, token, config._strict); // if we didn't get a weekday name, mark the date as invalid if (weekday != null) { week.d = weekday; } else { getParsingFlags(config).invalidWeekday = input; } }); addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { week[token] = toInt(input); }); // HELPERS function parseWeekday(input, locale) { if (typeof input !== 'string') { return input; } if (!isNaN(input)) { return parseInt(input, 10); } input = locale.weekdaysParse(input); if (typeof input === 'number') { return input; } return null; } function parseIsoWeekday(input, locale) { if (typeof input === 'string') { return locale.weekdaysParse(input) % 7 || 7; } return isNaN(input) ? null : input; } // LOCALES function shiftWeekdays (ws, n) { return ws.slice(n, 7).concat(ws.slice(0, n)); } var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'); function localeWeekdays (m, format) { var weekdays = isArray(this._weekdays) ? this._weekdays : this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone']; return (m === true) ? shiftWeekdays(weekdays, this._week.dow) : (m) ? weekdays[m.day()] : weekdays; } var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'); function localeWeekdaysShort (m) { return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow) : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort; } var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'); function localeWeekdaysMin (m) { return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow) : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin; } function handleStrictParse$1(weekdayName, format, strict) { var i, ii, mom, llc = weekdayName.toLocaleLowerCase(); if (!this._weekdaysParse) { this._weekdaysParse = []; this._shortWeekdaysParse = []; this._minWeekdaysParse = []; for (i = 0; i < 7; ++i) { mom = createUTC([2000, 1]).day(i); this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase(); this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase(); this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); } } if (strict) { if (format === 'dddd') { ii = indexOf.call(this._weekdaysParse, llc); return ii !== -1 ? ii : null; } else if (format === 'ddd') { ii = indexOf.call(this._shortWeekdaysParse, llc); return ii !== -1 ? ii : null; } else { ii = indexOf.call(this._minWeekdaysParse, llc); return ii !== -1 ? ii : null; } } else { if (format === 'dddd') { ii = indexOf.call(this._weekdaysParse, llc); if (ii !== -1) { return ii; } ii = indexOf.call(this._shortWeekdaysParse, llc); if (ii !== -1) { return ii; } ii = indexOf.call(this._minWeekdaysParse, llc); return ii !== -1 ? ii : null; } else if (format === 'ddd') { ii = indexOf.call(this._shortWeekdaysParse, llc); if (ii !== -1) { return ii; } ii = indexOf.call(this._weekdaysParse, llc); if (ii !== -1) { return ii; } ii = indexOf.call(this._minWeekdaysParse, llc); return ii !== -1 ? ii : null; } else { ii = indexOf.call(this._minWeekdaysParse, llc); if (ii !== -1) { return ii; } ii = indexOf.call(this._weekdaysParse, llc); if (ii !== -1) { return ii; } ii = indexOf.call(this._shortWeekdaysParse, llc); return ii !== -1 ? ii : null; } } } function localeWeekdaysParse (weekdayName, format, strict) { var i, mom, regex; if (this._weekdaysParseExact) { return handleStrictParse$1.call(this, weekdayName, format, strict); } if (!this._weekdaysParse) { this._weekdaysParse = []; this._minWeekdaysParse = []; this._shortWeekdaysParse = []; this._fullWeekdaysParse = []; } for (i = 0; i < 7; i++) { // make the regex if we don't have it already mom = createUTC([2000, 1]).day(i); if (strict && !this._fullWeekdaysParse[i]) { this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i'); this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i'); this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i'); } if (!this._weekdaysParse[i]) { regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); } // test the regex if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) { return i; } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) { return i; } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) { return i; } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { return i; } } } // MOMENTS function getSetDayOfWeek (input) { if (!this.isValid()) { return input != null ? this : NaN; } 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; } } function getSetLocaleDayOfWeek (input) { if (!this.isValid()) { return input != null ? this : NaN; } var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; return input == null ? weekday : this.add(input - weekday, 'd'); } function getSetISODayOfWeek (input) { if (!this.isValid()) { return input != null ? this : NaN; } // 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. if (input != null) { var weekday = parseIsoWeekday(input, this.localeData()); return this.day(this.day() % 7 ? weekday : weekday - 7); } else { return this.day() || 7; } } var defaultWeekdaysRegex = matchWord; function weekdaysRegex (isStrict) { if (this._weekdaysParseExact) { if (!hasOwnProp(this, '_weekdaysRegex')) { computeWeekdaysParse.call(this); } if (isStrict) { return this._weekdaysStrictRegex; } else { return this._weekdaysRegex; } } else { if (!hasOwnProp(this, '_weekdaysRegex')) { this._weekdaysRegex = defaultWeekdaysRegex; } return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex; } } var defaultWeekdaysShortRegex = matchWord; function weekdaysShortRegex (isStrict) { if (this._weekdaysParseExact) { if (!hasOwnProp(this, '_weekdaysRegex')) { computeWeekdaysParse.call(this); } if (isStrict) { return this._weekdaysShortStrictRegex; } else { return this._weekdaysShortRegex; } } else { if (!hasOwnProp(this, '_weekdaysShortRegex')) { this._weekdaysShortRegex = defaultWeekdaysShortRegex; } return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex; } } var defaultWeekdaysMinRegex = matchWord; function weekdaysMinRegex (isStrict) { if (this._weekdaysParseExact) { if (!hasOwnProp(this, '_weekdaysRegex')) { computeWeekdaysParse.call(this); } if (isStrict) { return this._weekdaysMinStrictRegex; } else { return this._weekdaysMinRegex; } } else { if (!hasOwnProp(this, '_weekdaysMinRegex')) { this._weekdaysMinRegex = defaultWeekdaysMinRegex; } return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex; } } function computeWeekdaysParse () { function cmpLenRev(a, b) { return b.length - a.length; } var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], i, mom, minp, shortp, longp; for (i = 0; i < 7; i++) { // make the regex if we don't have it already mom = createUTC([2000, 1]).day(i); minp = this.weekdaysMin(mom, ''); shortp = this.weekdaysShort(mom, ''); longp = this.weekdays(mom, ''); minPieces.push(minp); shortPieces.push(shortp); longPieces.push(longp); mixedPieces.push(minp); mixedPieces.push(shortp); mixedPieces.push(longp); } // Sorting makes sure if one weekday (or abbr) is a prefix of another it // will match the longer piece. minPieces.sort(cmpLenRev); shortPieces.sort(cmpLenRev); longPieces.sort(cmpLenRev); mixedPieces.sort(cmpLenRev); for (i = 0; i < 7; i++) { shortPieces[i] = regexEscape(shortPieces[i]); longPieces[i] = regexEscape(longPieces[i]); mixedPieces[i] = regexEscape(mixedPieces[i]); } this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); this._weekdaysShortRegex = this._weekdaysRegex; this._weekdaysMinRegex = this._weekdaysRegex; this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i'); } // FORMATTING function hFormat() { return this.hours() % 12 || 12; } function kFormat() { return this.hours() || 24; } addFormatToken('H', ['HH', 2], 0, 'hour'); addFormatToken('h', ['hh', 2], 0, hFormat); addFormatToken('k', ['kk', 2], 0, kFormat); addFormatToken('hmm', 0, 0, function () { return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); }); addFormatToken('hmmss', 0, 0, function () { return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2); }); addFormatToken('Hmm', 0, 0, function () { return '' + this.hours() + zeroFill(this.minutes(), 2); }); addFormatToken('Hmmss', 0, 0, function () { return '' + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2); }); function meridiem (token, lowercase) { addFormatToken(token, 0, 0, function () { return this.localeData().meridiem(this.hours(), this.minutes(), lowercase); }); } meridiem('a', true); meridiem('A', false); // ALIASES addUnitAlias('hour', 'h'); // PRIORITY addUnitPriority('hour', 13); // PARSING function matchMeridiem (isStrict, locale) { return locale._meridiemParse; } addRegexToken('a', matchMeridiem); addRegexToken('A', matchMeridiem); addRegexToken('H', match1to2); addRegexToken('h', match1to2); addRegexToken('k', match1to2); addRegexToken('HH', match1to2, match2); addRegexToken('hh', match1to2, match2); addRegexToken('kk', match1to2, match2); addRegexToken('hmm', match3to4); addRegexToken('hmmss', match5to6); addRegexToken('Hmm', match3to4); addRegexToken('Hmmss', match5to6); addParseToken(['H', 'HH'], HOUR); addParseToken(['k', 'kk'], function (input, array, config) { var kInput = toInt(input); array[HOUR] = kInput === 24 ? 0 : kInput; }); addParseToken(['a', 'A'], function (input, array, config) { config._isPm = config._locale.isPM(input); config._meridiem = input; }); addParseToken(['h', 'hh'], function (input, array, config) { array[HOUR] = toInt(input); getParsingFlags(config).bigHour = true; }); addParseToken('hmm', function (input, array, config) { var pos = input.length - 2; array[HOUR] = toInt(input.substr(0, pos)); array[MINUTE] = toInt(input.substr(pos)); getParsingFlags(config).bigHour = true; }); addParseToken('hmmss', function (input, array, config) { var pos1 = input.length - 4; var pos2 = input.length - 2; array[HOUR] = toInt(input.substr(0, pos1)); array[MINUTE] = toInt(input.substr(pos1, 2)); array[SECOND] = toInt(input.substr(pos2)); getParsingFlags(config).bigHour = true; }); addParseToken('Hmm', function (input, array, config) { var pos = input.length - 2; array[HOUR] = toInt(input.substr(0, pos)); array[MINUTE] = toInt(input.substr(pos)); }); addParseToken('Hmmss', function (input, array, config) { var pos1 = input.length - 4; var pos2 = input.length - 2; array[HOUR] = toInt(input.substr(0, pos1)); array[MINUTE] = toInt(input.substr(pos1, 2)); array[SECOND] = toInt(input.substr(pos2)); }); // LOCALES function localeIsPM (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'); } var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i; function localeMeridiem (hours, minutes, isLower) { if (hours > 11) { return isLower ? 'pm' : 'PM'; } else { return isLower ? 'am' : 'AM'; } } // MOMENTS // Setting the hour should keep the time, because the user explicitly // specified which hour they want. So trying to maintain the same hour (in // a new timezone) makes sense. Adding/subtracting hours does not follow // this rule. var getSetHour = makeGetSet('Hours', true); var baseConfig = { calendar: defaultCalendar, longDateFormat: defaultLongDateFormat, invalidDate: defaultInvalidDate, ordinal: defaultOrdinal, dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, relativeTime: defaultRelativeTime, months: defaultLocaleMonths, monthsShort: defaultLocaleMonthsShort, week: defaultLocaleWeek, weekdays: defaultLocaleWeekdays, weekdaysMin: defaultLocaleWeekdaysMin, weekdaysShort: defaultLocaleWeekdaysShort, meridiemParse: defaultLocaleMeridiemParse }; // internal storage for locale config files var locales = {}; var localeFamilies = {}; var globalLocale; 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 globalLocale; } function loadLocale(name) { var oldLocale = null; // TODO: Find a better way to register and load all the locales in Node if (!locales[name] && (typeof module !== 'undefined') && module && module.exports) { try { oldLocale = globalLocale._abbr; var aliasedRequire = require; aliasedRequire('./locale/' + name); getSetGlobalLocale(oldLocale); } catch (e) {} } return locales[name]; } // 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. function getSetGlobalLocale (key, values) { var data; if (key) { if (isUndefined(values)) { data = getLocale(key); } else { data = defineLocale(key, values); } if (data) { // moment.duration._locale = moment._locale = data; globalLocale = data; } else { if ((typeof console !== 'undefined') && console.warn) { //warn user if arguments are passed but the locale could not be set console.warn('Locale ' + key + ' not found. Did you forget to load it?'); } } } return globalLocale._abbr; } function defineLocale (name, config) { if (config !== null) { var locale, parentConfig = baseConfig; config.abbr = name; if (locales[name] != null) { deprecateSimple('defineLocaleOverride', 'use moment.updateLocale(localeName, config) to change ' + 'an existing locale. moment.defineLocale(localeName, ' + 'config) should only be used for creating a new locale ' + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'); parentConfig = locales[name]._config; } else if (config.parentLocale != null) { if (locales[config.parentLocale] != null) { parentConfig = locales[config.parentLocale]._config; } else { locale = loadLocale(config.parentLocale); if (locale != null) { parentConfig = locale._config; } else { if (!localeFamilies[config.parentLocale]) { localeFamilies[config.parentLocale] = []; } localeFamilies[config.parentLocale].push({ name: name, config: config }); return null; } } } locales[name] = new Locale(mergeConfigs(parentConfig, config)); if (localeFamilies[name]) { localeFamilies[name].forEach(function (x) { defineLocale(x.name, x.config); }); } // backwards compat for now: also set the locale // make sure we set the locale AFTER all child locales have been // created, so we won't end up with the child locale set. getSetGlobalLocale(name); return locales[name]; } else { // useful for testing delete locales[name]; return null; } } function updateLocale(name, config) { if (config != null) { var locale, tmpLocale, parentConfig = baseConfig; // MERGE tmpLocale = loadLocale(name); if (tmpLocale != null) { parentConfig = tmpLocale._config; } config = mergeConfigs(parentConfig, config); locale = new Locale(config); locale.parentLocale = locales[name]; locales[name] = locale; // backwards compat for now: also set the locale getSetGlobalLocale(name); } else { // pass null for config to unupdate, useful for tests if (locales[name] != null) { if (locales[name].parentLocale != null) { locales[name] = locales[name].parentLocale; } else if (locales[name] != null) { delete locales[name]; } } } return locales[name]; } // returns locale data function getLocale (key) { var locale; if (key && key._locale && key._locale._abbr) { key = key._locale._abbr; } if (!key) { return globalLocale; } if (!isArray(key)) { //short-circuit everything else locale = loadLocale(key); if (locale) { return locale; } key = [key]; } return chooseLocale(key); } function listLocales() { return keys(locales); } function checkOverflow (m) { var overflow; var a = m._a; if (a && getParsingFlags(m).overflow === -2) { overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR : a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1; if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { overflow = DATE; } if (getParsingFlags(m)._overflowWeeks && overflow === -1) { overflow = WEEK; } if (getParsingFlags(m)._overflowWeekday && overflow === -1) { overflow = WEEKDAY; } getParsingFlags(m).overflow = overflow; } return m; } // Pick the first defined of two or three arguments. function defaults(a, b, c) { if (a != null) { return a; } if (b != null) { return b; } return c; } function currentDateArray(config) { // hooks is actually the exported moment object var nowValue = new Date(hooks.now()); if (config._useUTC) { return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()]; } return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; } // 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 configFromArray (config) { var i, date, input = [], currentDate, expectedWeekday, 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 != null) { yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) { getParsingFlags(config)._overflowDayOfYear = true; } date = createUTCDate(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]; } // Check for 24:00:00.000 if (config._a[HOUR] === 24 && config._a[MINUTE] === 0 && config._a[SECOND] === 0 && config._a[MILLISECOND] === 0) { config._nextDay = true; config._a[HOUR] = 0; } config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input); expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); // Apply timezone offset from input. The actual utcOffset can be changed // with parseZone. if (config._tzm != null) { config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); } if (config._nextDay) { config._a[HOUR] = 24; } // check for mismatching day of week if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) { getParsingFlags(config).weekdayMismatch = true; } } function dayOfYearFromWeekInfo(config) { var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow; 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 = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year); week = defaults(w.W, 1); weekday = defaults(w.E, 1); if (weekday < 1 || weekday > 7) { weekdayOverflow = true; } } else { dow = config._locale._week.dow; doy = config._locale._week.doy; var curWeek = weekOfYear(createLocal(), dow, doy); weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); // Default to current week. week = defaults(w.w, curWeek.week); if (w.d != null) { // weekday -- low day numbers are considered next week weekday = w.d; if (weekday < 0 || weekday > 6) { weekdayOverflow = true; } } else if (w.e != null) { // local weekday -- counting starts from beginning of week weekday = w.e + dow; if (w.e < 0 || w.e > 6) { weekdayOverflow = true; } } else { // default to beginning of week weekday = dow; } } if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { getParsingFlags(config)._overflowWeeks = true; } else if (weekdayOverflow != null) { getParsingFlags(config)._overflowWeekday = true; } else { temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); config._a[YEAR] = temp.year; config._dayOfYear = temp.dayOfYear; } } // 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) var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/; var isoDates = [ ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], ['GGGG-[W]WW', /\d{4}-W\d\d/, false], ['YYYY-DDD', /\d{4}-\d{3}/], ['YYYY-MM', /\d{4}-\d\d/, false], ['YYYYYYMMDD', /[+-]\d{10}/], ['YYYYMMDD', /\d{8}/], // YYYYMM is NOT allowed by the standard ['GGGG[W]WWE', /\d{4}W\d{3}/], ['GGGG[W]WW', /\d{4}W\d{2}/, false], ['YYYYDDD', /\d{7}/] ]; // iso time formats and regexes var isoTimes = [ ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], ['HH:mm:ss', /\d\d:\d\d:\d\d/], ['HH:mm', /\d\d:\d\d/], ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], ['HHmmss', /\d\d\d\d\d\d/], ['HHmm', /\d\d\d\d/], ['HH', /\d\d/] ]; var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i; // date from iso format function configFromISO(config) { var i, l, string = config._i, match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), allowTime, dateFormat, timeFormat, tzFormat; if (match) { getParsingFlags(config).iso = true; for (i = 0, l = isoDates.length; i < l; i++) { if (isoDates[i][1].exec(match[1])) { dateFormat = isoDates[i][0]; allowTime = isoDates[i][2] !== false; break; } } if (dateFormat == null) { config._isValid = false; return; } if (match[3]) { for (i = 0, l = isoTimes.length; i < l; i++) { if (isoTimes[i][1].exec(match[3])) { // match[2] should be 'T' or space timeFormat = (match[2] || ' ') + isoTimes[i][0]; break; } } if (timeFormat == null) { config._isValid = false; return; } } if (!allowTime && timeFormat != null) { config._isValid = false; return; } if (match[4]) { if (tzRegex.exec(match[4])) { tzFormat = 'Z'; } else { config._isValid = false; return; } } config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); configFromStringAndFormat(config); } else { config._isValid = false; } } // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/; function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { var result = [ untruncateYear(yearStr), defaultLocaleMonthsShort.indexOf(monthStr), parseInt(dayStr, 10), parseInt(hourStr, 10), parseInt(minuteStr, 10) ]; if (secondStr) { result.push(parseInt(secondStr, 10)); } return result; } function untruncateYear(yearStr) { var year = parseInt(yearStr, 10); if (year <= 49) { return 2000 + year; } else if (year <= 999) { return 1900 + year; } return year; } function preprocessRFC2822(s) { // Remove comments and folding whitespace and replace multiple-spaces with a single space return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, ''); } function checkWeekday(weekdayStr, parsedInput, config) { if (weekdayStr) { // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check. var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay(); if (weekdayProvided !== weekdayActual) { getParsingFlags(config).weekdayMismatch = true; config._isValid = false; return false; } } return true; } var obsOffsets = { UT: 0, GMT: 0, EDT: -4 * 60, EST: -5 * 60, CDT: -5 * 60, CST: -6 * 60, MDT: -6 * 60, MST: -7 * 60, PDT: -7 * 60, PST: -8 * 60 }; function calculateOffset(obsOffset, militaryOffset, numOffset) { if (obsOffset) { return obsOffsets[obsOffset]; } else if (militaryOffset) { // the only allowed military tz is Z return 0; } else { var hm = parseInt(numOffset, 10); var m = hm % 100, h = (hm - m) / 100; return h * 60 + m; } } // date and time from ref 2822 format function configFromRFC2822(config) { var match = rfc2822.exec(preprocessRFC2822(config._i)); if (match) { var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]); if (!checkWeekday(match[1], parsedArray, config)) { return; } config._a = parsedArray; config._tzm = calculateOffset(match[8], match[9], match[10]); config._d = createUTCDate.apply(null, config._a); config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); getParsingFlags(config).rfc2822 = true; } else { config._isValid = false; } } // date from iso format or fallback function configFromString(config) { var matched = aspNetJsonRegex.exec(config._i); if (matched !== null) { config._d = new Date(+matched[1]); return; } configFromISO(config); if (config._isValid === false) { delete config._isValid; } else { return; } configFromRFC2822(config); if (config._isValid === false) { delete config._isValid; } else { return; } // Final attempt, use Input Fallback hooks.createFromInputFallback(config); } hooks.createFromInputFallback = deprecate( 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + 'discouraged and will be removed in an upcoming major release. Please refer to ' + 'http://momentjs.com/guides/#/warnings/js-date/ for more info.', function (config) { config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); } ); // constant that refers to the ISO standard hooks.ISO_8601 = function () {}; // constant that refers to the RFC 2822 form hooks.RFC_2822 = function () {}; // date from string and format string function configFromStringAndFormat(config) { // TODO: Move this to another part of the creation flow to prevent circular deps if (config._f === hooks.ISO_8601) { configFromISO(config); return; } if (config._f === hooks.RFC_2822) { configFromRFC2822(config); return; } config._a = []; getParsingFlags(config).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]; // console.log('token', token, 'parsedInput', parsedInput, // 'regex', getParseRegexForToken(token, config)); if (parsedInput) { skipped = string.substr(0, string.indexOf(parsedInput)); if (skipped.length > 0) { getParsingFlags(config).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) { getParsingFlags(config).empty = false; } else { getParsingFlags(config).unusedTokens.push(token); } addTimeToArrayFromToken(token, parsedInput, config); } else if (config._strict && !parsedInput) { getParsingFlags(config).unusedTokens.push(token); } } // add remaining unparsed input length to the string getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength; if (string.length > 0) { getParsingFlags(config).unusedInput.push(string); } // clear _12h flag if hour is <= 12 if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) { getParsingFlags(config).bigHour = undefined; } getParsingFlags(config).parsedDateParts = config._a.slice(0); getParsingFlags(config).meridiem = config._meridiem; // handle meridiem config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); configFromArray(config); checkOverflow(config); } function meridiemFixWrap (locale, hour, meridiem) { var isPm; if (meridiem == null) { // nothing to do return hour; } if (locale.meridiemHour != null) { return locale.meridiemHour(hour, meridiem); } else if (locale.isPM != null) { // Fallback isPm = locale.isPM(meridiem); if (isPm && hour < 12) { hour += 12; } if (!isPm && hour === 12) { hour = 0; } return hour; } else { // this is not supposed to happen return hour; } } // date from string and array of format strings function configFromStringAndArray(config) { var tempConfig, bestMoment, scoreToBeat, i, currentScore; if (config._f.length === 0) { getParsingFlags(config).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._f = config._f[i]; configFromStringAndFormat(tempConfig); if (!isValid(tempConfig)) { continue; } // if there is any input that was not parsed add a penalty for that format currentScore += getParsingFlags(tempConfig).charsLeftOver; //or tokens currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; getParsingFlags(tempConfig).score = currentScore; if (scoreToBeat == null || currentScore < scoreToBeat) { scoreToBeat = currentScore; bestMoment = tempConfig; } } extend(config, bestMoment || tempConfig); } function configFromObject(config) { if (config._d) { return; } var i = normalizeObjectUnits(config._i); config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { return obj && parseInt(obj, 10); }); configFromArray(config); } function createFromConfig (config) { var res = new Moment(checkOverflow(prepareConfig(config))); if (res._nextDay) { // Adding is smart enough around DST res.add(1, 'd'); res._nextDay = undefined; } return res; } function prepareConfig (config) { var input = config._i, format = config._f; config._locale = config._locale || getLocale(config._l); if (input === null || (format === undefined && input === '')) { return createInvalid({nullInput: true}); } if (typeof input === 'string') { config._i = input = config._locale.preparse(input); } if (isMoment(input)) { return new Moment(checkOverflow(input)); } else if (isDate(input)) { config._d = input; } else if (isArray(format)) { configFromStringAndArray(config); } else if (format) { configFromStringAndFormat(config); } else { configFromInput(config); } if (!isValid(config)) { config._d = null; } return config; } function configFromInput(config) { var input = config._i; if (isUndefined(input)) { config._d = new Date(hooks.now()); } else if (isDate(input)) { config._d = new Date(input.valueOf()); } else if (typeof input === 'string') { configFromString(config); } else if (isArray(input)) { config._a = map(input.slice(0), function (obj) { return parseInt(obj, 10); }); configFromArray(config); } else if (isObject(input)) { configFromObject(config); } else if (isNumber(input)) { // from milliseconds config._d = new Date(input); } else { hooks.createFromInputFallback(config); } } function createLocalOrUTC (input, format, locale, strict, isUTC) { var c = {}; if (locale === true || locale === false) { strict = locale; locale = undefined; } if ((isObject(input) && isObjectEmpty(input)) || (isArray(input) && input.length === 0)) { input = undefined; } // object construction must be done this way. // https://github.com/moment/moment/issues/1423 c._isAMomentObject = true; c._useUTC = c._isUTC = isUTC; c._l = locale; c._i = input; c._f = format; c._strict = strict; return createFromConfig(c); } function createLocal (input, format, locale, strict) { return createLocalOrUTC(input, format, locale, strict, false); } var prototypeMin = deprecate( 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', function () { var other = createLocal.apply(null, arguments); if (this.isValid() && other.isValid()) { return other < this ? this : other; } else { return createInvalid(); } } ); var prototypeMax = deprecate( 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', function () { var other = createLocal.apply(null, arguments); if (this.isValid() && other.isValid()) { return other > this ? this : other; } else { return createInvalid(); } } ); // 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 createLocal(); } res = moments[0]; for (i = 1; i < moments.length; ++i) { if (!moments[i].isValid() || moments[i][fn](res)) { res = moments[i]; } } return res; } // TODO: Use [].sort instead? function min () { var args = [].slice.call(arguments, 0); return pickBy('isBefore', args); } function max () { var args = [].slice.call(arguments, 0); return pickBy('isAfter', args); } var now = function () { return Date.now ? Date.now() : +(new Date()); }; var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; function isDurationValid(m) { for (var key in m) { if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) { return false; } } var unitHasDecimal = false; for (var i = 0; i < ordering.length; ++i) { if (m[ordering[i]]) { if (unitHasDecimal) { return false; // only allow non-integers for smallest unit } if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { unitHasDecimal = true; } } } return true; } function isValid$1() { return this._isValid; } function createInvalid$1() { return createDuration(NaN); } function Duration (duration) { var normalizedInput = normalizeObjectUnits(duration), years = normalizedInput.year || 0, quarters = normalizedInput.quarter || 0, months = normalizedInput.month || 0, weeks = normalizedInput.week || normalizedInput.isoWeek || 0, days = normalizedInput.day || 0, hours = normalizedInput.hour || 0, minutes = normalizedInput.minute || 0, seconds = normalizedInput.second || 0, milliseconds = normalizedInput.millisecond || 0; this._isValid = isDurationValid(normalizedInput); // representation for dateAddRemove this._milliseconds = +milliseconds + seconds * 1e3 + // 1000 minutes * 6e4 + // 1000 * 60 hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 // 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 to 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 = getLocale(); this._bubble(); } function isDuration (obj) { return obj instanceof Duration; } function absRound (number) { if (number < 0) { return Math.round(-1 * number) * -1; } else { return Math.round(number); } } // FORMATTING function offset (token, separator) { addFormatToken(token, 0, 0, function () { var offset = this.utcOffset(); var sign = '+'; if (offset < 0) { offset = -offset; sign = '-'; } return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2); }); } offset('Z', ':'); offset('ZZ', ''); // PARSING addRegexToken('Z', matchShortOffset); addRegexToken('ZZ', matchShortOffset); addParseToken(['Z', 'ZZ'], function (input, array, config) { config._useUTC = true; config._tzm = offsetFromString(matchShortOffset, input); }); // HELPERS // timezone chunker // '+10:00' > ['10', '00'] // '-1530' > ['-15', '30'] var chunkOffset = /([\+\-]|\d\d)/gi; function offsetFromString(matcher, string) { var matches = (string || '').match(matcher); if (matches === null) { return null; } var chunk = matches[matches.length - 1] || []; var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; var minutes = +(parts[1] * 60) + toInt(parts[2]); return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes; } // Return a moment from input, that is local/utc/zone equivalent to model. function cloneWithOffset(input, model) { var res, diff; if (model._isUTC) { res = model.clone(); diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); // Use low-level api, because this fn is low-level api. res._d.setTime(res._d.valueOf() + diff); hooks.updateOffset(res, false); return res; } else { return createLocal(input).local(); } } function getDateOffset (m) { // On Firefox.24 Date#getTimezoneOffset returns a floating point. // https://github.com/moment/moment/pull/1871 return -Math.round(m._d.getTimezoneOffset() / 15) * 15; } // HOOKS // This function will be called whenever a moment is mutated. // It is intended to keep the offset in sync with the timezone. hooks.updateOffset = function () {}; // MOMENTS // keepLocalTime = true means only change the timezone, without // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset // +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. function getSetOffset (input, keepLocalTime, keepMinutes) { var offset = this._offset || 0, localAdjust; if (!this.isValid()) { return input != null ? this : NaN; } if (input != null) { if (typeof input === 'string') { input = offsetFromString(matchShortOffset, input); if (input === null) { return this; } } else if (Math.abs(input) < 16 && !keepMinutes) { input = input * 60; } if (!this._isUTC && keepLocalTime) { localAdjust = getDateOffset(this); } this._offset = input; this._isUTC = true; if (localAdjust != null) { this.add(localAdjust, 'm'); } if (offset !== input) { if (!keepLocalTime || this._changeInProgress) { addSubtract(this, createDuration(input - offset, 'm'), 1, false); } else if (!this._changeInProgress) { this._changeInProgress = true; hooks.updateOffset(this, true); this._changeInProgress = null; } } return this; } else { return this._isUTC ? offset : getDateOffset(this); } } function getSetZone (input, keepLocalTime) { if (input != null) { if (typeof input !== 'string') { input = -input; } this.utcOffset(input, keepLocalTime); return this; } else { return -this.utcOffset(); } } function setOffsetToUTC (keepLocalTime) { return this.utcOffset(0, keepLocalTime); } function setOffsetToLocal (keepLocalTime) { if (this._isUTC) { this.utcOffset(0, keepLocalTime); this._isUTC = false; if (keepLocalTime) { this.subtract(getDateOffset(this), 'm'); } } return this; } function setOffsetToParsedOffset () { if (this._tzm != null) { this.utcOffset(this._tzm, false, true); } else if (typeof this._i === 'string') { var tZone = offsetFromString(matchOffset, this._i); if (tZone != null) { this.utcOffset(tZone); } else { this.utcOffset(0, true); } } return this; } function hasAlignedHourOffset (input) { if (!this.isValid()) { return false; } input = input ? createLocal(input).utcOffset() : 0; return (this.utcOffset() - input) % 60 === 0; } function isDaylightSavingTime () { return ( this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset() ); } function isDaylightSavingTimeShifted () { if (!isUndefined(this._isDSTShifted)) { return this._isDSTShifted; } var c = {}; copyConfig(c, this); c = prepareConfig(c); if (c._a) { var other = c._isUTC ? createUTC(c._a) : createLocal(c._a); this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0; } else { this._isDSTShifted = false; } return this._isDSTShifted; } function isLocal () { return this.isValid() ? !this._isUTC : false; } function isUtcOffset () { return this.isValid() ? this._isUTC : false; } function isUtc () { return this.isValid() ? this._isUTC && this._offset === 0 : false; } // ASP.NET json date format regex var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/; // 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 // and further modified to allow for strings containing both week and day var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; function createDuration (input, key) { var duration = input, // matching against regexp is expensive, do it on demand match = null, sign, ret, diffRes; if (isDuration(input)) { duration = { ms : input._milliseconds, d : input._days, M : input._months }; } else if (isNumber(input)) { duration = {}; if (key) { duration[key] = input; } else { duration.milliseconds = input; } } else if (!!(match = aspNetRegex.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(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match }; } else if (!!(match = isoRegex.exec(input))) { sign = (match[1] === '-') ? -1 : 1; duration = { y : parseIso(match[2], sign), M : parseIso(match[3], sign), w : parseIso(match[4], sign), d : parseIso(match[5], sign), h : parseIso(match[6], sign), m : parseIso(match[7], sign), s : parseIso(match[8], sign) }; } else if (duration == null) {// checks for null or undefined duration = {}; } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) { diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to)); duration = {}; duration.ms = diffRes.milliseconds; duration.M = diffRes.months; } ret = new Duration(duration); if (isDuration(input) && hasOwnProp(input, '_locale')) { ret._locale = input._locale; } return ret; } createDuration.fn = Duration.prototype; createDuration.invalid = createInvalid$1; function parseIso (inp, sign) { // 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; } function positiveMomentsDifference(base, other) { var res = {}; 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; if (!(base.isValid() && other.isValid())) { return {milliseconds: 0, months: 0}; } other = cloneWithOffset(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). ' + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'); tmp = val; val = period; period = tmp; } val = typeof val === 'string' ? +val : val; dur = createDuration(val, period); addSubtract(this, dur, direction); return this; }; } function addSubtract (mom, duration, isAdding, updateOffset) { var milliseconds = duration._milliseconds, days = absRound(duration._days), months = absRound(duration._months); if (!mom.isValid()) { // No op return; } updateOffset = updateOffset == null ? true : updateOffset; if (months) { setMonth(mom, get(mom, 'Month') + months * isAdding); } if (days) { set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); } if (milliseconds) { mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); } if (updateOffset) { hooks.updateOffset(mom, days || months); } } var add = createAdder(1, 'add'); var subtract = createAdder(-1, 'subtract'); function getCalendarFormat(myMoment, now) { var diff = myMoment.diff(now, 'days', true); return diff < -6 ? 'sameElse' : diff < -1 ? 'lastWeek' : diff < 0 ? 'lastDay' : diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse'; } function calendar$1 (time, formats) { // We want to compare the start of today, vs this. // Getting start-of-today depends on whether we're local/utc/offset or not. var now = time || createLocal(), sod = cloneWithOffset(now, this).startOf('day'), format = hooks.calendarFormat(this, sod) || 'sameElse'; var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]); return this.format(output || this.localeData().calendar(format, this, createLocal(now))); } function clone () { return new Moment(this); } function isAfter (input, units) { var localInput = isMoment(input) ? input : createLocal(input); if (!(this.isValid() && localInput.isValid())) { return false; } units = normalizeUnits(units) || 'millisecond'; if (units === 'millisecond') { return this.valueOf() > localInput.valueOf(); } else { return localInput.valueOf() < this.clone().startOf(units).valueOf(); } } function isBefore (input, units) { var localInput = isMoment(input) ? input : createLocal(input); if (!(this.isValid() && localInput.isValid())) { return false; } units = normalizeUnits(units) || 'millisecond'; if (units === 'millisecond') { return this.valueOf() < localInput.valueOf(); } else { return this.clone().endOf(units).valueOf() < localInput.valueOf(); } } function isBetween (from, to, units, inclusivity) { var localFrom = isMoment(from) ? from : createLocal(from), localTo = isMoment(to) ? to : createLocal(to); if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { return false; } inclusivity = inclusivity || '()'; return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units)); } function isSame (input, units) { var localInput = isMoment(input) ? input : createLocal(input), inputMs; if (!(this.isValid() && localInput.isValid())) { return false; } units = normalizeUnits(units) || 'millisecond'; if (units === 'millisecond') { return this.valueOf() === localInput.valueOf(); } else { inputMs = localInput.valueOf(); return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf(); } } function isSameOrAfter (input, units) { return this.isSame(input, units) || this.isAfter(input, units); } function isSameOrBefore (input, units) { return this.isSame(input, units) || this.isBefore(input, units); } function diff (input, units, asFloat) { var that, zoneDelta, output; if (!this.isValid()) { return NaN; } that = cloneWithOffset(input, this); if (!that.isValid()) { return NaN; } zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; units = normalizeUnits(units); switch (units) { case 'year': output = monthDiff(this, that) / 12; break; case 'month': output = monthDiff(this, that); break; case 'quarter': output = monthDiff(this, that) / 3; break; case 'second': output = (this - that) / 1e3; break; // 1000 case 'minute': output = (this - that) / 6e4; break; // 1000 * 60 case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60 case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst default: output = this - that; } return asFloat ? output : absFloor(output); } function monthDiff (a, b) { // difference in months var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), // b is in (anchor - 1 month, anchor + 1 month) anchor = a.clone().add(wholeMonthDiff, 'months'), anchor2, adjust; if (b - anchor < 0) { anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); // linear across the month adjust = (b - anchor) / (anchor - anchor2); } else { anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); // linear across the month adjust = (b - anchor) / (anchor2 - anchor); } //check for negative zero, return zero if negative zero return -(wholeMonthDiff + adjust) || 0; } hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; function toString () { return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); } function toISOString(keepOffset) { if (!this.isValid()) { return null; } var utc = keepOffset !== true; var m = utc ? this.clone().utc() : this; if (m.year() < 0 || m.year() > 9999) { return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'); } if (isFunction(Date.prototype.toISOString)) { // native implementation is ~50x faster, use it when we can if (utc) { return this.toDate().toISOString(); } else { return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z')); } } return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'); } /** * Return a human readable representation of a moment that can * also be evaluated to get a new moment which is the same * * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects */ function inspect () { if (!this.isValid()) { return 'moment.invalid(/* ' + this._i + ' */)'; } var func = 'moment'; var zone = ''; if (!this.isLocal()) { func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; zone = 'Z'; } var prefix = '[' + func + '("]'; var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY'; var datetime = '-MM-DD[T]HH:mm:ss.SSS'; var suffix = zone + '[")]'; return this.format(prefix + year + datetime + suffix); } function format (inputString) { if (!inputString) { inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat; } var output = formatMoment(this, inputString); return this.localeData().postformat(output); } function from (time, withoutSuffix) { if (this.isValid() && ((isMoment(time) && time.isValid()) || createLocal(time).isValid())) { return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); } else { return this.localeData().invalidDate(); } } function fromNow (withoutSuffix) { return this.from(createLocal(), withoutSuffix); } function to (time, withoutSuffix) { if (this.isValid() && ((isMoment(time) && time.isValid()) || createLocal(time).isValid())) { return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); } else { return this.localeData().invalidDate(); } } function toNow (withoutSuffix) { return this.to(createLocal(), withoutSuffix); } // If passed a locale key, it will set the locale for this // instance. Otherwise, it will return the locale configuration // variables for this instance. function locale (key) { var newLocaleData; if (key === undefined) { return this._locale._abbr; } else { newLocaleData = getLocale(key); if (newLocaleData != null) { this._locale = newLocaleData; } return this; } } var lang = deprecate( 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', function (key) { if (key === undefined) { return this.localeData(); } else { return this.locale(key); } } ); function localeData () { return this._locale; } var MS_PER_SECOND = 1000; var MS_PER_MINUTE = 60 * MS_PER_SECOND; var MS_PER_HOUR = 60 * MS_PER_MINUTE; var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; // actual modulo - handles negative numbers (for dates before 1970): function mod$1(dividend, divisor) { return (dividend % divisor + divisor) % divisor; } function localStartOfDate(y, m, d) { // the date constructor remaps years 0-99 to 1900-1999 if (y < 100 && y >= 0) { // preserve leap years using a full 400 year cycle, then reset return new Date(y + 400, m, d) - MS_PER_400_YEARS; } else { return new Date(y, m, d).valueOf(); } } function utcStartOfDate(y, m, d) { // Date.UTC remaps years 0-99 to 1900-1999 if (y < 100 && y >= 0) { // preserve leap years using a full 400 year cycle, then reset return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; } else { return Date.UTC(y, m, d); } } function startOf (units) { var time; units = normalizeUnits(units); if (units === undefined || units === 'millisecond' || !this.isValid()) { return this; } var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; switch (units) { case 'year': time = startOfDate(this.year(), 0, 1); break; case 'quarter': time = startOfDate(this.year(), this.month() - this.month() % 3, 1); break; case 'month': time = startOfDate(this.year(), this.month(), 1); break; case 'week': time = startOfDate(this.year(), this.month(), this.date() - this.weekday()); break; case 'isoWeek': time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); break; case 'day': case 'date': time = startOfDate(this.year(), this.month(), this.date()); break; case 'hour': time = this._d.valueOf(); time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR); break; case 'minute': time = this._d.valueOf(); time -= mod$1(time, MS_PER_MINUTE); break; case 'second': time = this._d.valueOf(); time -= mod$1(time, MS_PER_SECOND); break; } this._d.setTime(time); hooks.updateOffset(this, true); return this; } function endOf (units) { var time; units = normalizeUnits(units); if (units === undefined || units === 'millisecond' || !this.isValid()) { return this; } var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; switch (units) { case 'year': time = startOfDate(this.year() + 1, 0, 1) - 1; break; case 'quarter': time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; break; case 'month': time = startOfDate(this.year(), this.month() + 1, 1) - 1; break; case 'week': time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; break; case 'isoWeek': time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; break; case 'day': case 'date': time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; break; case 'hour': time = this._d.valueOf(); time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1; break; case 'minute': time = this._d.valueOf(); time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; break; case 'second': time = this._d.valueOf(); time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; break; } this._d.setTime(time); hooks.updateOffset(this, true); return this; } function valueOf () { return this._d.valueOf() - ((this._offset || 0) * 60000); } function unix () { return Math.floor(this.valueOf() / 1000); } function toDate () { return new Date(this.valueOf()); } function toArray () { var m = this; return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]; } function toObject () { var m = this; return { years: m.year(), months: m.month(), date: m.date(), hours: m.hours(), minutes: m.minutes(), seconds: m.seconds(), milliseconds: m.milliseconds() }; } function toJSON () { // new Date(NaN).toJSON() === null return this.isValid() ? this.toISOString() : null; } function isValid$2 () { return isValid(this); } function parsingFlags () { return extend({}, getParsingFlags(this)); } function invalidAt () { return getParsingFlags(this).overflow; } function creationData() { return { input: this._i, format: this._f, locale: this._locale, isUTC: this._isUTC, strict: this._strict }; } // FORMATTING addFormatToken(0, ['gg', 2], 0, function () { return this.weekYear() % 100; }); addFormatToken(0, ['GG', 2], 0, function () { return this.isoWeekYear() % 100; }); function addWeekYearFormatToken (token, getter) { addFormatToken(0, [token, token.length], 0, getter); } addWeekYearFormatToken('gggg', 'weekYear'); addWeekYearFormatToken('ggggg', 'weekYear'); addWeekYearFormatToken('GGGG', 'isoWeekYear'); addWeekYearFormatToken('GGGGG', 'isoWeekYear'); // ALIASES addUnitAlias('weekYear', 'gg'); addUnitAlias('isoWeekYear', 'GG'); // PRIORITY addUnitPriority('weekYear', 1); addUnitPriority('isoWeekYear', 1); // PARSING addRegexToken('G', matchSigned); addRegexToken('g', matchSigned); addRegexToken('GG', match1to2, match2); addRegexToken('gg', match1to2, match2); addRegexToken('GGGG', match1to4, match4); addRegexToken('gggg', match1to4, match4); addRegexToken('GGGGG', match1to6, match6); addRegexToken('ggggg', match1to6, match6); addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) { week[token.substr(0, 2)] = toInt(input); }); addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { week[token] = hooks.parseTwoDigitYear(input); }); // MOMENTS function getSetWeekYear (input) { return getSetWeekYearHelper.call(this, input, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy); } function getSetISOWeekYear (input) { return getSetWeekYearHelper.call(this, input, this.isoWeek(), this.isoWeekday(), 1, 4); } function getISOWeeksInYear () { return weeksInYear(this.year(), 1, 4); } function getWeeksInYear () { var weekInfo = this.localeData()._week; return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); } function getSetWeekYearHelper(input, week, weekday, dow, doy) { var weeksTarget; if (input == null) { return weekOfYear(this, dow, doy).year; } else { weeksTarget = weeksInYear(input, dow, doy); if (week > weeksTarget) { week = weeksTarget; } return setWeekAll.call(this, input, week, weekday, dow, doy); } } function setWeekAll(weekYear, week, weekday, dow, doy) { var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); this.year(date.getUTCFullYear()); this.month(date.getUTCMonth()); this.date(date.getUTCDate()); return this; } // FORMATTING addFormatToken('Q', 0, 'Qo', 'quarter'); // ALIASES addUnitAlias('quarter', 'Q'); // PRIORITY addUnitPriority('quarter', 7); // PARSING addRegexToken('Q', match1); addParseToken('Q', function (input, array) { array[MONTH] = (toInt(input) - 1) * 3; }); // MOMENTS function getSetQuarter (input) { return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); } // FORMATTING addFormatToken('D', ['DD', 2], 'Do', 'date'); // ALIASES addUnitAlias('date', 'D'); // PRIORITY addUnitPriority('date', 9); // PARSING addRegexToken('D', match1to2); addRegexToken('DD', match1to2, match2); addRegexToken('Do', function (isStrict, locale) { // TODO: Remove "ordinalParse" fallback in next major release. return isStrict ? (locale._dayOfMonthOrdinalParse || locale._ordinalParse) : locale._dayOfMonthOrdinalParseLenient; }); addParseToken(['D', 'DD'], DATE); addParseToken('Do', function (input, array) { array[DATE] = toInt(input.match(match1to2)[0]); }); // MOMENTS var getSetDayOfMonth = makeGetSet('Date', true); // FORMATTING addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); // ALIASES addUnitAlias('dayOfYear', 'DDD'); // PRIORITY addUnitPriority('dayOfYear', 4); // PARSING addRegexToken('DDD', match1to3); addRegexToken('DDDD', match3); addParseToken(['DDD', 'DDDD'], function (input, array, config) { config._dayOfYear = toInt(input); }); // HELPERS // MOMENTS function getSetDayOfYear (input) { var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); } // FORMATTING addFormatToken('m', ['mm', 2], 0, 'minute'); // ALIASES addUnitAlias('minute', 'm'); // PRIORITY addUnitPriority('minute', 14); // PARSING addRegexToken('m', match1to2); addRegexToken('mm', match1to2, match2); addParseToken(['m', 'mm'], MINUTE); // MOMENTS var getSetMinute = makeGetSet('Minutes', false); // FORMATTING addFormatToken('s', ['ss', 2], 0, 'second'); // ALIASES addUnitAlias('second', 's'); // PRIORITY addUnitPriority('second', 15); // PARSING addRegexToken('s', match1to2); addRegexToken('ss', match1to2, match2); addParseToken(['s', 'ss'], SECOND); // MOMENTS var getSetSecond = makeGetSet('Seconds', false); // FORMATTING addFormatToken('S', 0, 0, function () { return ~~(this.millisecond() / 100); }); addFormatToken(0, ['SS', 2], 0, function () { return ~~(this.millisecond() / 10); }); addFormatToken(0, ['SSS', 3], 0, 'millisecond'); addFormatToken(0, ['SSSS', 4], 0, function () { return this.millisecond() * 10; }); addFormatToken(0, ['SSSSS', 5], 0, function () { return this.millisecond() * 100; }); addFormatToken(0, ['SSSSSS', 6], 0, function () { return this.millisecond() * 1000; }); addFormatToken(0, ['SSSSSSS', 7], 0, function () { return this.millisecond() * 10000; }); addFormatToken(0, ['SSSSSSSS', 8], 0, function () { return this.millisecond() * 100000; }); addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { return this.millisecond() * 1000000; }); // ALIASES addUnitAlias('millisecond', 'ms'); // PRIORITY addUnitPriority('millisecond', 16); // PARSING addRegexToken('S', match1to3, match1); addRegexToken('SS', match1to3, match2); addRegexToken('SSS', match1to3, match3); var token; for (token = 'SSSS'; token.length <= 9; token += 'S') { addRegexToken(token, matchUnsigned); } function parseMs(input, array) { array[MILLISECOND] = toInt(('0.' + input) * 1000); } for (token = 'S'; token.length <= 9; token += 'S') { addParseToken(token, parseMs); } // MOMENTS var getSetMillisecond = makeGetSet('Milliseconds', false); // FORMATTING addFormatToken('z', 0, 0, 'zoneAbbr'); addFormatToken('zz', 0, 0, 'zoneName'); // MOMENTS function getZoneAbbr () { return this._isUTC ? 'UTC' : ''; } function getZoneName () { return this._isUTC ? 'Coordinated Universal Time' : ''; } var proto = Moment.prototype; proto.add = add; proto.calendar = calendar$1; proto.clone = clone; proto.diff = diff; proto.endOf = endOf; proto.format = format; proto.from = from; proto.fromNow = fromNow; proto.to = to; proto.toNow = toNow; proto.get = stringGet; proto.invalidAt = invalidAt; proto.isAfter = isAfter; proto.isBefore = isBefore; proto.isBetween = isBetween; proto.isSame = isSame; proto.isSameOrAfter = isSameOrAfter; proto.isSameOrBefore = isSameOrBefore; proto.isValid = isValid$2; proto.lang = lang; proto.locale = locale; proto.localeData = localeData; proto.max = prototypeMax; proto.min = prototypeMin; proto.parsingFlags = parsingFlags; proto.set = stringSet; proto.startOf = startOf; proto.subtract = subtract; proto.toArray = toArray; proto.toObject = toObject; proto.toDate = toDate; proto.toISOString = toISOString; proto.inspect = inspect; proto.toJSON = toJSON; proto.toString = toString; proto.unix = unix; proto.valueOf = valueOf; proto.creationData = creationData; proto.year = getSetYear; proto.isLeapYear = getIsLeapYear; proto.weekYear = getSetWeekYear; proto.isoWeekYear = getSetISOWeekYear; proto.quarter = proto.quarters = getSetQuarter; proto.month = getSetMonth; proto.daysInMonth = getDaysInMonth; proto.week = proto.weeks = getSetWeek; proto.isoWeek = proto.isoWeeks = getSetISOWeek; proto.weeksInYear = getWeeksInYear; proto.isoWeeksInYear = getISOWeeksInYear; proto.date = getSetDayOfMonth; proto.day = proto.days = getSetDayOfWeek; proto.weekday = getSetLocaleDayOfWeek; proto.isoWeekday = getSetISODayOfWeek; proto.dayOfYear = getSetDayOfYear; proto.hour = proto.hours = getSetHour; proto.minute = proto.minutes = getSetMinute; proto.second = proto.seconds = getSetSecond; proto.millisecond = proto.milliseconds = getSetMillisecond; proto.utcOffset = getSetOffset; proto.utc = setOffsetToUTC; proto.local = setOffsetToLocal; proto.parseZone = setOffsetToParsedOffset; proto.hasAlignedHourOffset = hasAlignedHourOffset; proto.isDST = isDaylightSavingTime; proto.isLocal = isLocal; proto.isUtcOffset = isUtcOffset; proto.isUtc = isUtc; proto.isUTC = isUtc; proto.zoneAbbr = getZoneAbbr; proto.zoneName = getZoneName; proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth); proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth); proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear); proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone); proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted); function createUnix (input) { return createLocal(input * 1000); } function createInZone () { return createLocal.apply(null, arguments).parseZone(); } function preParsePostFormat (string) { return string; } var proto$1 = Locale.prototype; proto$1.calendar = calendar; proto$1.longDateFormat = longDateFormat; proto$1.invalidDate = invalidDate; proto$1.ordinal = ordinal; proto$1.preparse = preParsePostFormat; proto$1.postformat = preParsePostFormat; proto$1.relativeTime = relativeTime; proto$1.pastFuture = pastFuture; proto$1.set = set; proto$1.months = localeMonths; proto$1.monthsShort = localeMonthsShort; proto$1.monthsParse = localeMonthsParse; proto$1.monthsRegex = monthsRegex; proto$1.monthsShortRegex = monthsShortRegex; proto$1.week = localeWeek; proto$1.firstDayOfYear = localeFirstDayOfYear; proto$1.firstDayOfWeek = localeFirstDayOfWeek; proto$1.weekdays = localeWeekdays; proto$1.weekdaysMin = localeWeekdaysMin; proto$1.weekdaysShort = localeWeekdaysShort; proto$1.weekdaysParse = localeWeekdaysParse; proto$1.weekdaysRegex = weekdaysRegex; proto$1.weekdaysShortRegex = weekdaysShortRegex; proto$1.weekdaysMinRegex = weekdaysMinRegex; proto$1.isPM = localeIsPM; proto$1.meridiem = localeMeridiem; function get$1 (format, index, field, setter) { var locale = getLocale(); var utc = createUTC().set(setter, index); return locale[field](utc, format); } function listMonthsImpl (format, index, field) { if (isNumber(format)) { index = format; format = undefined; } format = format || ''; if (index != null) { return get$1(format, index, field, 'month'); } var i; var out = []; for (i = 0; i < 12; i++) { out[i] = get$1(format, i, field, 'month'); } return out; } // () // (5) // (fmt, 5) // (fmt) // (true) // (true, 5) // (true, fmt, 5) // (true, fmt) function listWeekdaysImpl (localeSorted, format, index, field) { if (typeof localeSorted === 'boolean') { if (isNumber(format)) { index = format; format = undefined; } format = format || ''; } else { format = localeSorted; index = format; localeSorted = false; if (isNumber(format)) { index = format; format = undefined; } format = format || ''; } var locale = getLocale(), shift = localeSorted ? locale._week.dow : 0; if (index != null) { return get$1(format, (index + shift) % 7, field, 'day'); } var i; var out = []; for (i = 0; i < 7; i++) { out[i] = get$1(format, (i + shift) % 7, field, 'day'); } return out; } function listMonths (format, index) { return listMonthsImpl(format, index, 'months'); } function listMonthsShort (format, index) { return listMonthsImpl(format, index, 'monthsShort'); } function listWeekdays (localeSorted, format, index) { return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); } function listWeekdaysShort (localeSorted, format, index) { return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); } function listWeekdaysMin (localeSorted, format, index) { return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); } getSetGlobalLocale('en', { dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, 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; } }); // Side effect imports hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale); hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale); var mathAbs = Math.abs; function abs () { var data = this._data; this._milliseconds = mathAbs(this._milliseconds); this._days = mathAbs(this._days); this._months = mathAbs(this._months); data.milliseconds = mathAbs(data.milliseconds); data.seconds = mathAbs(data.seconds); data.minutes = mathAbs(data.minutes); data.hours = mathAbs(data.hours); data.months = mathAbs(data.months); data.years = mathAbs(data.years); return this; } function addSubtract$1 (duration, input, value, direction) { var other = createDuration(input, value); duration._milliseconds += direction * other._milliseconds; duration._days += direction * other._days; duration._months += direction * other._months; return duration._bubble(); } // supports only 2.0-style add(1, 's') or add(duration) function add$1 (input, value) { return addSubtract$1(this, input, value, 1); } // supports only 2.0-style subtract(1, 's') or subtract(duration) function subtract$1 (input, value) { return addSubtract$1(this, input, value, -1); } function absCeil (number) { if (number < 0) { return Math.floor(number); } else { return Math.ceil(number); } } function bubble () { var milliseconds = this._milliseconds; var days = this._days; var months = this._months; var data = this._data; var seconds, minutes, hours, years, monthsFromDays; // if we have a mix of positive and negative values, bubble down first // check: https://github.com/moment/moment/issues/2166 if (!((milliseconds >= 0 && days >= 0 && months >= 0) || (milliseconds <= 0 && days <= 0 && months <= 0))) { milliseconds += absCeil(monthsToDays(months) + days) * 864e5; days = 0; months = 0; } // The following code bubbles up values, see the tests for // examples of what that means. data.milliseconds = milliseconds % 1000; seconds = absFloor(milliseconds / 1000); data.seconds = seconds % 60; minutes = absFloor(seconds / 60); data.minutes = minutes % 60; hours = absFloor(minutes / 60); data.hours = hours % 24; days += absFloor(hours / 24); // convert days to months monthsFromDays = absFloor(daysToMonths(days)); months += monthsFromDays; days -= absCeil(monthsToDays(monthsFromDays)); // 12 months -> 1 year years = absFloor(months / 12); months %= 12; data.days = days; data.months = months; data.years = years; return this; } function daysToMonths (days) { // 400 years have 146097 days (taking into account leap year rules) // 400 years have 12 months === 4800 return days * 4800 / 146097; } function monthsToDays (months) { // the reverse of daysToMonths return months * 146097 / 4800; } function as (units) { if (!this.isValid()) { return NaN; } var days; var months; var milliseconds = this._milliseconds; units = normalizeUnits(units); if (units === 'month' || units === 'quarter' || units === 'year') { days = this._days + milliseconds / 864e5; months = this._months + daysToMonths(days); switch (units) { case 'month': return months; case 'quarter': return months / 3; case 'year': return months / 12; } } else { // handle milliseconds separately because of floating point math errors (issue #1867) days = this._days + Math.round(monthsToDays(this._months)); switch (units) { case 'week' : return days / 7 + milliseconds / 6048e5; case 'day' : return days + milliseconds / 864e5; case 'hour' : return days * 24 + milliseconds / 36e5; case 'minute' : return days * 1440 + milliseconds / 6e4; case 'second' : return days * 86400 + milliseconds / 1000; // Math.floor prevents floating point math errors here case 'millisecond': return Math.floor(days * 864e5) + milliseconds; default: throw new Error('Unknown unit ' + units); } } } // TODO: Use this.as('ms')? function valueOf$1 () { if (!this.isValid()) { return NaN; } return ( this._milliseconds + this._days * 864e5 + (this._months % 12) * 2592e6 + toInt(this._months / 12) * 31536e6 ); } function makeAs (alias) { return function () { return this.as(alias); }; } var asMilliseconds = makeAs('ms'); var asSeconds = makeAs('s'); var asMinutes = makeAs('m'); var asHours = makeAs('h'); var asDays = makeAs('d'); var asWeeks = makeAs('w'); var asMonths = makeAs('M'); var asQuarters = makeAs('Q'); var asYears = makeAs('y'); function clone$1 () { return createDuration(this); } function get$2 (units) { units = normalizeUnits(units); return this.isValid() ? this[units + 's']() : NaN; } function makeGetter(name) { return function () { return this.isValid() ? this._data[name] : NaN; }; } var milliseconds = makeGetter('milliseconds'); var seconds = makeGetter('seconds'); var minutes = makeGetter('minutes'); var hours = makeGetter('hours'); var days = makeGetter('days'); var months = makeGetter('months'); var years = makeGetter('years'); function weeks () { return absFloor(this.days() / 7); } var round = Math.round; var thresholds = { ss: 44, // a few seconds to seconds 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 }; // 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$1 (posNegDuration, withoutSuffix, locale) { var duration = createDuration(posNegDuration).abs(); var seconds = round(duration.as('s')); var minutes = round(duration.as('m')); var hours = round(duration.as('h')); var days = round(duration.as('d')); var months = round(duration.as('M')); var years = round(duration.as('y')); var a = seconds <= thresholds.ss && ['s', seconds] || seconds < thresholds.s && ['ss', seconds] || minutes <= 1 && ['m'] || minutes < thresholds.m && ['mm', minutes] || hours <= 1 && ['h'] || hours < thresholds.h && ['hh', hours] || days <= 1 && ['d'] || days < thresholds.d && ['dd', days] || months <= 1 && ['M'] || months < thresholds.M && ['MM', months] || years <= 1 && ['y'] || ['yy', years]; a[2] = withoutSuffix; a[3] = +posNegDuration > 0; a[4] = locale; return substituteTimeAgo.apply(null, a); } // This function allows you to set the rounding function for relative time strings function getSetRelativeTimeRounding (roundingFunction) { if (roundingFunction === undefined) { return round; } if (typeof(roundingFunction) === 'function') { round = roundingFunction; return true; } return false; } // This function allows you to set a threshold for relative time strings function getSetRelativeTimeThreshold (threshold, limit) { if (thresholds[threshold] === undefined) { return false; } if (limit === undefined) { return thresholds[threshold]; } thresholds[threshold] = limit; if (threshold === 's') { thresholds.ss = limit - 1; } return true; } function humanize (withSuffix) { if (!this.isValid()) { return this.localeData().invalidDate(); } var locale = this.localeData(); var output = relativeTime$1(this, !withSuffix, locale); if (withSuffix) { output = locale.pastFuture(+this, output); } return locale.postformat(output); } var abs$1 = Math.abs; function sign(x) { return ((x > 0) - (x < 0)) || +x; } function toISOString$1() { // for ISO strings we do not use the normal bubbling rules: // * milliseconds bubble up until they become hours // * days do not bubble at all // * months bubble up until they become years // This is because there is no context-free conversion between hours and days // (think of clock changes) // and also not between days and months (28-31 days per month) if (!this.isValid()) { return this.localeData().invalidDate(); } var seconds = abs$1(this._milliseconds) / 1000; var days = abs$1(this._days); var months = abs$1(this._months); var minutes, hours, years; // 3600 seconds -> 60 minutes -> 1 hour minutes = absFloor(seconds / 60); hours = absFloor(minutes / 60); seconds %= 60; minutes %= 60; // 12 months -> 1 year years = absFloor(months / 12); months %= 12; // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js var Y = years; var M = months; var D = days; var h = hours; var m = minutes; var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; var total = this.asSeconds(); if (!total) { // this is the same as C#'s (Noda) and python (isodate)... // but not other JS (goog.date) return 'P0D'; } var totalSign = total < 0 ? '-' : ''; var ymSign = sign(this._months) !== sign(total) ? '-' : ''; var daysSign = sign(this._days) !== sign(total) ? '-' : ''; var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; return totalSign + 'P' + (Y ? ymSign + Y + 'Y' : '') + (M ? ymSign + M + 'M' : '') + (D ? daysSign + D + 'D' : '') + ((h || m || s) ? 'T' : '') + (h ? hmsSign + h + 'H' : '') + (m ? hmsSign + m + 'M' : '') + (s ? hmsSign + s + 'S' : ''); } var proto$2 = Duration.prototype; proto$2.isValid = isValid$1; proto$2.abs = abs; proto$2.add = add$1; proto$2.subtract = subtract$1; proto$2.as = as; proto$2.asMilliseconds = asMilliseconds; proto$2.asSeconds = asSeconds; proto$2.asMinutes = asMinutes; proto$2.asHours = asHours; proto$2.asDays = asDays; proto$2.asWeeks = asWeeks; proto$2.asMonths = asMonths; proto$2.asQuarters = asQuarters; proto$2.asYears = asYears; proto$2.valueOf = valueOf$1; proto$2._bubble = bubble; proto$2.clone = clone$1; proto$2.get = get$2; proto$2.milliseconds = milliseconds; proto$2.seconds = seconds; proto$2.minutes = minutes; proto$2.hours = hours; proto$2.days = days; proto$2.weeks = weeks; proto$2.months = months; proto$2.years = years; proto$2.humanize = humanize; proto$2.toISOString = toISOString$1; proto$2.toString = toISOString$1; proto$2.toJSON = toISOString$1; proto$2.locale = locale; proto$2.localeData = localeData; proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1); proto$2.lang = lang; // Side effect imports // FORMATTING addFormatToken('X', 0, 0, 'unix'); addFormatToken('x', 0, 0, 'valueOf'); // PARSING addRegexToken('x', matchSigned); addRegexToken('X', matchTimestamp); addParseToken('X', function (input, array, config) { config._d = new Date(parseFloat(input, 10) * 1000); }); addParseToken('x', function (input, array, config) { config._d = new Date(toInt(input)); }); // Side effect imports hooks.version = '2.24.0'; setHookCallback(createLocal); hooks.fn = proto; hooks.min = min; hooks.max = max; hooks.now = now; hooks.utc = createUTC; hooks.unix = createUnix; hooks.months = listMonths; hooks.isDate = isDate; hooks.locale = getSetGlobalLocale; hooks.invalid = createInvalid; hooks.duration = createDuration; hooks.isMoment = isMoment; hooks.weekdays = listWeekdays; hooks.parseZone = createInZone; hooks.localeData = getLocale; hooks.isDuration = isDuration; hooks.monthsShort = listMonthsShort; hooks.weekdaysMin = listWeekdaysMin; hooks.defineLocale = defineLocale; hooks.updateLocale = updateLocale; hooks.locales = listLocales; hooks.weekdaysShort = listWeekdaysShort; hooks.normalizeUnits = normalizeUnits; hooks.relativeTimeRounding = getSetRelativeTimeRounding; hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; hooks.calendarFormat = getCalendarFormat; hooks.prototype = proto; // currently HTML5 input type only supports 24-hour formats hooks.HTML5_FMT = { DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // DATE: 'YYYY-MM-DD', // TIME: 'HH:mm', // TIME_SECONDS: 'HH:mm:ss', // TIME_MS: 'HH:mm:ss.SSS', // WEEK: 'GGGG-[W]WW', // MONTH: 'YYYY-MM' // }; return hooks; }))); ================================================ FILE: vendors/simple-line-icons/css/simple-line-icons.css ================================================ @font-face { font-family: 'simple-line-icons'; src: url('../fonts/Simple-Line-Icons.eot?v=2.4.0'); src: url('../fonts/Simple-Line-Icons.eot?v=2.4.0#iefix') format('embedded-opentype'), url('../fonts/Simple-Line-Icons.woff2?v=2.4.0') format('woff2'), url('../fonts/Simple-Line-Icons.ttf?v=2.4.0') format('truetype'), url('../fonts/Simple-Line-Icons.woff?v=2.4.0') format('woff'), url('../fonts/Simple-Line-Icons.svg?v=2.4.0#simple-line-icons') format('svg'); font-weight: normal; font-style: normal; } /* Use the following CSS code if you want to have a class per icon. Instead of a list of all class selectors, you can use the generic [class*="icon-"] selector, but it's slower: */ .icon-user, .icon-people, .icon-user-female, .icon-user-follow, .icon-user-following, .icon-user-unfollow, .icon-login, .icon-logout, .icon-emotsmile, .icon-phone, .icon-call-end, .icon-call-in, .icon-call-out, .icon-map, .icon-location-pin, .icon-direction, .icon-directions, .icon-compass, .icon-layers, .icon-menu, .icon-list, .icon-options-vertical, .icon-options, .icon-arrow-down, .icon-arrow-left, .icon-arrow-right, .icon-arrow-up, .icon-arrow-up-circle, .icon-arrow-left-circle, .icon-arrow-right-circle, .icon-arrow-down-circle, .icon-check, .icon-clock, .icon-plus, .icon-minus, .icon-close, .icon-event, .icon-exclamation, .icon-organization, .icon-trophy, .icon-screen-smartphone, .icon-screen-desktop, .icon-plane, .icon-notebook, .icon-mustache, .icon-mouse, .icon-magnet, .icon-energy, .icon-disc, .icon-cursor, .icon-cursor-move, .icon-crop, .icon-chemistry, .icon-speedometer, .icon-shield, .icon-screen-tablet, .icon-magic-wand, .icon-hourglass, .icon-graduation, .icon-ghost, .icon-game-controller, .icon-fire, .icon-eyeglass, .icon-envelope-open, .icon-envelope-letter, .icon-bell, .icon-badge, .icon-anchor, .icon-wallet, .icon-vector, .icon-speech, .icon-puzzle, .icon-printer, .icon-present, .icon-playlist, .icon-pin, .icon-picture, .icon-handbag, .icon-globe-alt, .icon-globe, .icon-folder-alt, .icon-folder, .icon-film, .icon-feed, .icon-drop, .icon-drawer, .icon-docs, .icon-doc, .icon-diamond, .icon-cup, .icon-calculator, .icon-bubbles, .icon-briefcase, .icon-book-open, .icon-basket-loaded, .icon-basket, .icon-bag, .icon-action-undo, .icon-action-redo, .icon-wrench, .icon-umbrella, .icon-trash, .icon-tag, .icon-support, .icon-frame, .icon-size-fullscreen, .icon-size-actual, .icon-shuffle, .icon-share-alt, .icon-share, .icon-rocket, .icon-question, .icon-pie-chart, .icon-pencil, .icon-note, .icon-loop, .icon-home, .icon-grid, .icon-graph, .icon-microphone, .icon-music-tone-alt, .icon-music-tone, .icon-earphones-alt, .icon-earphones, .icon-equalizer, .icon-like, .icon-dislike, .icon-control-start, .icon-control-rewind, .icon-control-play, .icon-control-pause, .icon-control-forward, .icon-control-end, .icon-volume-1, .icon-volume-2, .icon-volume-off, .icon-calendar, .icon-bulb, .icon-chart, .icon-ban, .icon-bubble, .icon-camrecorder, .icon-camera, .icon-cloud-download, .icon-cloud-upload, .icon-envelope, .icon-eye, .icon-flag, .icon-heart, .icon-info, .icon-key, .icon-link, .icon-lock, .icon-lock-open, .icon-magnifier, .icon-magnifier-add, .icon-magnifier-remove, .icon-paper-clip, .icon-paper-plane, .icon-power, .icon-refresh, .icon-reload, .icon-settings, .icon-star, .icon-symbol-female, .icon-symbol-male, .icon-target, .icon-credit-card, .icon-paypal, .icon-social-tumblr, .icon-social-twitter, .icon-social-facebook, .icon-social-instagram, .icon-social-linkedin, .icon-social-pinterest, .icon-social-github, .icon-social-google, .icon-social-reddit, .icon-social-skype, .icon-social-dribbble, .icon-social-behance, .icon-social-foursqare, .icon-social-soundcloud, .icon-social-spotify, .icon-social-stumbleupon, .icon-social-youtube, .icon-social-dropbox, .icon-social-vkontakte, .icon-social-steam { font-family: 'simple-line-icons'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-user:before { content: "\e005"; } .icon-people:before { content: "\e001"; } .icon-user-female:before { content: "\e000"; } .icon-user-follow:before { content: "\e002"; } .icon-user-following:before { content: "\e003"; } .icon-user-unfollow:before { content: "\e004"; } .icon-login:before { content: "\e066"; } .icon-logout:before { content: "\e065"; } .icon-emotsmile:before { content: "\e021"; } .icon-phone:before { content: "\e600"; } .icon-call-end:before { content: "\e048"; } .icon-call-in:before { content: "\e047"; } .icon-call-out:before { content: "\e046"; } .icon-map:before { content: "\e033"; } .icon-location-pin:before { content: "\e096"; } .icon-direction:before { content: "\e042"; } .icon-directions:before { content: "\e041"; } .icon-compass:before { content: "\e045"; } .icon-layers:before { content: "\e034"; } .icon-menu:before { content: "\e601"; } .icon-list:before { content: "\e067"; } .icon-options-vertical:before { content: "\e602"; } .icon-options:before { content: "\e603"; } .icon-arrow-down:before { content: "\e604"; } .icon-arrow-left:before { content: "\e605"; } .icon-arrow-right:before { content: "\e606"; } .icon-arrow-up:before { content: "\e607"; } .icon-arrow-up-circle:before { content: "\e078"; } .icon-arrow-left-circle:before { content: "\e07a"; } .icon-arrow-right-circle:before { content: "\e079"; } .icon-arrow-down-circle:before { content: "\e07b"; } .icon-check:before { content: "\e080"; } .icon-clock:before { content: "\e081"; } .icon-plus:before { content: "\e095"; } .icon-minus:before { content: "\e615"; } .icon-close:before { content: "\e082"; } .icon-event:before { content: "\e619"; } .icon-exclamation:before { content: "\e617"; } .icon-organization:before { content: "\e616"; } .icon-trophy:before { content: "\e006"; } .icon-screen-smartphone:before { content: "\e010"; } .icon-screen-desktop:before { content: "\e011"; } .icon-plane:before { content: "\e012"; } .icon-notebook:before { content: "\e013"; } .icon-mustache:before { content: "\e014"; } .icon-mouse:before { content: "\e015"; } .icon-magnet:before { content: "\e016"; } .icon-energy:before { content: "\e020"; } .icon-disc:before { content: "\e022"; } .icon-cursor:before { content: "\e06e"; } .icon-cursor-move:before { content: "\e023"; } .icon-crop:before { content: "\e024"; } .icon-chemistry:before { content: "\e026"; } .icon-speedometer:before { content: "\e007"; } .icon-shield:before { content: "\e00e"; } .icon-screen-tablet:before { content: "\e00f"; } .icon-magic-wand:before { content: "\e017"; } .icon-hourglass:before { content: "\e018"; } .icon-graduation:before { content: "\e019"; } .icon-ghost:before { content: "\e01a"; } .icon-game-controller:before { content: "\e01b"; } .icon-fire:before { content: "\e01c"; } .icon-eyeglass:before { content: "\e01d"; } .icon-envelope-open:before { content: "\e01e"; } .icon-envelope-letter:before { content: "\e01f"; } .icon-bell:before { content: "\e027"; } .icon-badge:before { content: "\e028"; } .icon-anchor:before { content: "\e029"; } .icon-wallet:before { content: "\e02a"; } .icon-vector:before { content: "\e02b"; } .icon-speech:before { content: "\e02c"; } .icon-puzzle:before { content: "\e02d"; } .icon-printer:before { content: "\e02e"; } .icon-present:before { content: "\e02f"; } .icon-playlist:before { content: "\e030"; } .icon-pin:before { content: "\e031"; } .icon-picture:before { content: "\e032"; } .icon-handbag:before { content: "\e035"; } .icon-globe-alt:before { content: "\e036"; } .icon-globe:before { content: "\e037"; } .icon-folder-alt:before { content: "\e039"; } .icon-folder:before { content: "\e089"; } .icon-film:before { content: "\e03a"; } .icon-feed:before { content: "\e03b"; } .icon-drop:before { content: "\e03e"; } .icon-drawer:before { content: "\e03f"; } .icon-docs:before { content: "\e040"; } .icon-doc:before { content: "\e085"; } .icon-diamond:before { content: "\e043"; } .icon-cup:before { content: "\e044"; } .icon-calculator:before { content: "\e049"; } .icon-bubbles:before { content: "\e04a"; } .icon-briefcase:before { content: "\e04b"; } .icon-book-open:before { content: "\e04c"; } .icon-basket-loaded:before { content: "\e04d"; } .icon-basket:before { content: "\e04e"; } .icon-bag:before { content: "\e04f"; } .icon-action-undo:before { content: "\e050"; } .icon-action-redo:before { content: "\e051"; } .icon-wrench:before { content: "\e052"; } .icon-umbrella:before { content: "\e053"; } .icon-trash:before { content: "\e054"; } .icon-tag:before { content: "\e055"; } .icon-support:before { content: "\e056"; } .icon-frame:before { content: "\e038"; } .icon-size-fullscreen:before { content: "\e057"; } .icon-size-actual:before { content: "\e058"; } .icon-shuffle:before { content: "\e059"; } .icon-share-alt:before { content: "\e05a"; } .icon-share:before { content: "\e05b"; } .icon-rocket:before { content: "\e05c"; } .icon-question:before { content: "\e05d"; } .icon-pie-chart:before { content: "\e05e"; } .icon-pencil:before { content: "\e05f"; } .icon-note:before { content: "\e060"; } .icon-loop:before { content: "\e064"; } .icon-home:before { content: "\e069"; } .icon-grid:before { content: "\e06a"; } .icon-graph:before { content: "\e06b"; } .icon-microphone:before { content: "\e063"; } .icon-music-tone-alt:before { content: "\e061"; } .icon-music-tone:before { content: "\e062"; } .icon-earphones-alt:before { content: "\e03c"; } .icon-earphones:before { content: "\e03d"; } .icon-equalizer:before { content: "\e06c"; } .icon-like:before { content: "\e068"; } .icon-dislike:before { content: "\e06d"; } .icon-control-start:before { content: "\e06f"; } .icon-control-rewind:before { content: "\e070"; } .icon-control-play:before { content: "\e071"; } .icon-control-pause:before { content: "\e072"; } .icon-control-forward:before { content: "\e073"; } .icon-control-end:before { content: "\e074"; } .icon-volume-1:before { content: "\e09f"; } .icon-volume-2:before { content: "\e0a0"; } .icon-volume-off:before { content: "\e0a1"; } .icon-calendar:before { content: "\e075"; } .icon-bulb:before { content: "\e076"; } .icon-chart:before { content: "\e077"; } .icon-ban:before { content: "\e07c"; } .icon-bubble:before { content: "\e07d"; } .icon-camrecorder:before { content: "\e07e"; } .icon-camera:before { content: "\e07f"; } .icon-cloud-download:before { content: "\e083"; } .icon-cloud-upload:before { content: "\e084"; } .icon-envelope:before { content: "\e086"; } .icon-eye:before { content: "\e087"; } .icon-flag:before { content: "\e088"; } .icon-heart:before { content: "\e08a"; } .icon-info:before { content: "\e08b"; } .icon-key:before { content: "\e08c"; } .icon-link:before { content: "\e08d"; } .icon-lock:before { content: "\e08e"; } .icon-lock-open:before { content: "\e08f"; } .icon-magnifier:before { content: "\e090"; } .icon-magnifier-add:before { content: "\e091"; } .icon-magnifier-remove:before { content: "\e092"; } .icon-paper-clip:before { content: "\e093"; } .icon-paper-plane:before { content: "\e094"; } .icon-power:before { content: "\e097"; } .icon-refresh:before { content: "\e098"; } .icon-reload:before { content: "\e099"; } .icon-settings:before { content: "\e09a"; } .icon-star:before { content: "\e09b"; } .icon-symbol-female:before { content: "\e09c"; } .icon-symbol-male:before { content: "\e09d"; } .icon-target:before { content: "\e09e"; } .icon-credit-card:before { content: "\e025"; } .icon-paypal:before { content: "\e608"; } .icon-social-tumblr:before { content: "\e00a"; } .icon-social-twitter:before { content: "\e009"; } .icon-social-facebook:before { content: "\e00b"; } .icon-social-instagram:before { content: "\e609"; } .icon-social-linkedin:before { content: "\e60a"; } .icon-social-pinterest:before { content: "\e60b"; } .icon-social-github:before { content: "\e60c"; } .icon-social-google:before { content: "\e60d"; } .icon-social-reddit:before { content: "\e60e"; } .icon-social-skype:before { content: "\e60f"; } .icon-social-dribbble:before { content: "\e00d"; } .icon-social-behance:before { content: "\e610"; } .icon-social-foursqare:before { content: "\e611"; } .icon-social-soundcloud:before { content: "\e612"; } .icon-social-spotify:before { content: "\e613"; } .icon-social-stumbleupon:before { content: "\e614"; } .icon-social-youtube:before { content: "\e008"; } .icon-social-dropbox:before { content: "\e00c"; } .icon-social-vkontakte:before { content: "\e618"; } .icon-social-steam:before { content: "\e620"; }